mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
39669 lines
2.0 MiB
Plaintext
39669 lines
2.0 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_027D4C80 @ 0x27d4c80
|
|
void Gambit_fn_027D4C80(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D4C80: ; // 0x27d4c80
|
|
/* 027D4C80 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027D4C80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D4C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027D4C88 */ /* nop */
|
|
/* 027D4C8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D4C90 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027D4C94 */ return;
|
|
}
|
|
|
|
// fn_027D4C98 @ 0x27d4c98
|
|
void Gambit_fn_027D4C98(CPUState* cpu) {
|
|
L_027D4C98: ; // 0x27d4c98
|
|
/* 027D4C98 */ return;
|
|
}
|
|
|
|
// fn_027D4C9C @ 0x27d4c9c
|
|
void Gambit_fn_027D4C9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D4C9C: ; // 0x27d4c9c
|
|
/* 027D4C9C */ cpu->r[12] = cpu->r[3];
|
|
/* 027D4CA0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027D4CA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D4CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D4CA8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4CA8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D4CA8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4CA8 */ goto L_027D4CAC;
|
|
L_027D4CAC: ; // 0x27d4cac
|
|
/* 027D4CAC */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027D4CAC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027D4CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D4CB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4CB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D4CB4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4CB4 */ goto L_027D4CB8;
|
|
L_027D4CB8: ; // 0x27d4cb8
|
|
/* 027D4CB8 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027D4CB8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027D4CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D4CC0 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027D4CC4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D4CC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D4CC4 */ if (_t8) goto L_027D4CC8; else goto L_027D4CD4;
|
|
L_027D4CC8: ; // 0x27d4cc8
|
|
/* 027D4CC8 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D4CC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D4CCC */ cpu->ctr = cpu->r[11];
|
|
/* 027D4CD0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D4CD4: ; // 0x27d4cd4
|
|
/* 027D4CD4 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027D4CD4 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027D4CD8 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 027D4CD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D4CDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D4CE0 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 027D4CE4 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027D4CE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D4CE8 */ cpu->ctr = cpu->r[11];
|
|
/* 027D4CEC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D4CF0 @ 0x27d4cf0
|
|
void Gambit_fn_027D4CF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D4CF0: ; // 0x27d4cf0
|
|
/* 027D4CF0 */ cpu->r[12] = cpu->r[3];
|
|
/* 027D4CF4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027D4CF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D4CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D4CFC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4CFC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D4CFC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4CFC */ goto L_027D4D00;
|
|
L_027D4D00: ; // 0x27d4d00
|
|
/* 027D4D00 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027D4D00 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027D4D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D4D08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4D08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D4D08 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4D08 */ goto L_027D4D0C;
|
|
L_027D4D0C: ; // 0x27d4d0c
|
|
/* 027D4D0C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027D4D0C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027D4D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D4D14 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 027D4D18 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D4D18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D4D18 */ if (_t8) goto L_027D4D1C; else goto L_027D4D28;
|
|
L_027D4D1C: ; // 0x27d4d1c
|
|
/* 027D4D1C */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D4D1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D4D20 */ cpu->ctr = cpu->r[10];
|
|
/* 027D4D24 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D4D28: ; // 0x27d4d28
|
|
/* 027D4D28 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027D4D28 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027D4D2C */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 027D4D2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D4D30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D4D34 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 027D4D38 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027D4D38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D4D3C */ cpu->ctr = cpu->r[10];
|
|
/* 027D4D40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D4D44 @ 0x27d4d44
|
|
void Gambit_fn_027D4D44(CPUState* cpu) {
|
|
L_027D4D44: ; // 0x27d4d44
|
|
/* 027D4D44 */ return;
|
|
}
|
|
|
|
// fn_027D4D48 @ 0x27d4d48
|
|
void Gambit_fn_027D4D48(CPUState* cpu) {
|
|
L_027D4D48: ; // 0x27d4d48
|
|
/* 027D4D48 */ return;
|
|
}
|
|
|
|
// fn_027D4D4C @ 0x27d4d4c
|
|
void Gambit_fn_027D4D4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D4D4C: ; // 0x27d4d4c
|
|
/* 027D4D4C */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D4D50 */ _t0 = cpu->r[9] + 0xFFFFDE08u;
|
|
/* 027D4D50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D4D54 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D4D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027D4D5C */ cpu->r[11] = cpu->r[11] + 0xFFFFF660u;
|
|
/* 027D4D60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4D60 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D4D60 */ if (_t2) goto L_027D4D64; else goto L_027D4D7C;
|
|
L_027D4D64: ; // 0x27d4d64
|
|
/* 027D4D64 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D4D68 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D4D6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D4D70 */ cpu->r[9] = cpu->r[9] + 0xFFFFDD94u;
|
|
/* 027D4D74 */ _t3 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 027D4D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D4D78 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 027D4D78 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_027D4D7C: ; // 0x27d4d7c
|
|
/* 027D4D7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027D4D80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4D80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D4D80 */ if (_t6) goto L_027D4D84; else goto L_027D4D8C;
|
|
L_027D4D84: ; // 0x27d4d84
|
|
/* 027D4D84 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D4D88 */ return;
|
|
L_027D4D8C: ; // 0x27d4d8c
|
|
/* 027D4D8C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D4D90 */ _t7 = cpu->r[12] + 0xFFFFDAE4u;
|
|
/* 027D4D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D4D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D4D98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D4D9C */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027D4DA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4DA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D4DA0 */ if (_t9) goto L_027D4DA4; else goto L_027D4DBC;
|
|
L_027D4DA4: ; // 0x27d4da4
|
|
/* 027D4DA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D4DA8 */ cpu->r[10] = 0x00000001u;
|
|
/* 027D4DAC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D4DB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD64u;
|
|
/* 027D4DB4 */ _t10 = cpu->r[9] + 0xFFFFDAE4u;
|
|
/* 027D4DB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027D4DB8 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 027D4DB8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_027D4DBC: ; // 0x27d4dbc
|
|
/* 027D4DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D4DC0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4DC0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D4DC0 */ if (_t13) goto L_027D4DC4; else goto L_027D4DCC;
|
|
L_027D4DC4: ; // 0x27d4dc4
|
|
/* 027D4DC4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D4DC8 */ goto L_027D4E40;
|
|
L_027D4DCC: ; // 0x27d4dcc
|
|
/* 027D4DCC */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D4DD0 */ _t14 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 027D4DD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D4DD0 */ cpu->r[10] = _t14;
|
|
/* 027D4DD4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D4DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D4DDC */ cpu->r[11] = cpu->r[11] + 0xFFFFDD70u;
|
|
/* 027D4DE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4DE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D4DE0 */ if (_t16) goto L_027D4DE4; else goto L_027D4DF8;
|
|
L_027D4DE4: ; // 0x27d4de4
|
|
/* 027D4DE4 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D4DE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D4DEC */ cpu->r[9] = cpu->r[9] + 0xFFFFDD14u;
|
|
/* 027D4DF0 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 027D4DF0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D4DF4 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027D4DF4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_027D4DF8: ; // 0x27d4df8
|
|
/* 027D4DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027D4DFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4DFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D4DFC */ if (_t20) goto L_027D4E00; else goto L_027D4E08;
|
|
L_027D4E00: ; // 0x27d4e00
|
|
/* 027D4E00 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D4E04 */ goto L_027D4E40;
|
|
L_027D4E08: ; // 0x27d4e08
|
|
/* 027D4E08 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D4E0C */ _t21 = cpu->r[9] + 0xFFFFD4FCu;
|
|
/* 027D4E0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D4E0C */ cpu->r[9] = _t21;
|
|
/* 027D4E10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D4E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D4E18 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD6Cu;
|
|
/* 027D4E1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4E1C */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D4E1C */ if (_t23) goto L_027D4E20; else goto L_027D4E34;
|
|
L_027D4E20: ; // 0x27d4e20
|
|
/* 027D4E20 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D4E24 */ cpu->r[11] = 0x00000001u;
|
|
/* 027D4E28 */ cpu->r[0] = cpu->r[0] + 0xFFFFDCC4u;
|
|
/* 027D4E2C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 027D4E2C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027D4E30 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 027D4E30 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_027D4E34: ; // 0x27d4e34
|
|
/* 027D4E34 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 027D4E38 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 027D4E3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027D4E40: ; // 0x27d4e40
|
|
/* 027D4E40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D4E44 */ return;
|
|
}
|
|
|
|
// fn_027D4E48 @ 0x27d4e48
|
|
void Gambit_fn_027D4E48(CPUState* cpu) {
|
|
L_027D4E48: ; // 0x27d4e48
|
|
/* 027D4E48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D4E4C */ return;
|
|
}
|
|
|
|
// fn_027D4E50 @ 0x27d4e50
|
|
void Gambit_fn_027D4E50(CPUState* cpu) {
|
|
L_027D4E50: ; // 0x27d4e50
|
|
/* 027D4E50 */ return;
|
|
}
|
|
|
|
// fn_027D4E54 @ 0x27d4e54
|
|
void Gambit_fn_027D4E54(CPUState* cpu) {
|
|
L_027D4E54: ; // 0x27d4e54
|
|
/* 027D4E54 */ return;
|
|
}
|
|
|
|
// fn_027D4E58 @ 0x27d4e58
|
|
void Gambit_fn_027D4E58(CPUState* cpu) {
|
|
L_027D4E58: ; // 0x27d4e58
|
|
/* 027D4E58 */ return;
|
|
}
|
|
|
|
// fn_027D4E5C @ 0x27d4e5c
|
|
void Gambit_fn_027D4E5C(CPUState* cpu) {
|
|
L_027D4E5C: ; // 0x27d4e5c
|
|
/* 027D4E5C */ return;
|
|
}
|
|
|
|
// fn_027D4E60 @ 0x27d4e60
|
|
void Gambit_fn_027D4E60(CPUState* cpu) {
|
|
L_027D4E60: ; // 0x27d4e60
|
|
/* 027D4E60 */ return;
|
|
}
|
|
|
|
// fn_027D4E64 @ 0x27d4e64
|
|
void Gambit_fn_027D4E64(CPUState* cpu) {
|
|
L_027D4E64: ; // 0x27d4e64
|
|
/* 027D4E64 */ return;
|
|
}
|
|
|
|
// fn_027D4E68 @ 0x27d4e68
|
|
void Gambit_fn_027D4E68(CPUState* cpu) {
|
|
L_027D4E68: ; // 0x27d4e68
|
|
/* 027D4E68 */ return;
|
|
}
|
|
|
|
// fn_027D4E6C @ 0x27d4e6c
|
|
void Gambit_fn_027D4E6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027D4E6C: ; // 0x27d4e6c
|
|
/* 027D4E6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D4E6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D4E6C */ cpu->r[1] = _t0;
|
|
/* 027D4E70 */ cpu->r[0] = cpu->lr;
|
|
/* 027D4E74 */ /* nop */
|
|
/* 027D4E78 */ cpu->r[28] = cpu->r[7];
|
|
/* 027D4E7C */ cpu->r[30] = cpu->r[4];
|
|
/* 027D4E80 */ cpu->r[26] = cpu->r[5];
|
|
/* 027D4E84 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D4E88 */ cpu->r[4] = cpu->r[28];
|
|
/* 027D4E8C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D4E8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D4E90 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D4E94 */ cpu->r[3] = 0x00000A24u;
|
|
/* 027D4E98 */ cpu->r[27] = cpu->r[6];
|
|
/* 027D4E9C */ Gambit_fn_02801AC8(cpu);
|
|
/* 027D4EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D4EA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D4EA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4EA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D4EA8 */ if (_t3) goto L_027D4EB4; else goto L_027D4EAC;
|
|
L_027D4EAC: ; // 0x27d4eac
|
|
/* 027D4EAC */ Gambit_fn_02973198(cpu);
|
|
/* 027D4EB0 */ cpu->r[31] = cpu->r[3];
|
|
L_027D4EB4: ; // 0x27d4eb4
|
|
/* 027D4EB4 */ cpu->r[8] = cpu->r[28];
|
|
/* 027D4EB8 */ cpu->r[7] = cpu->r[27];
|
|
/* 027D4EBC */ cpu->r[6] = cpu->r[26];
|
|
/* 027D4EC0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027D4EC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D4EC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D4ECC */ Gambit_fn_0292D7E4(cpu);
|
|
/* 027D4ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D4ED4 */ /* nop */
|
|
/* 027D4ED8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D4ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D4EDC */ cpu->lr = cpu->r[0];
|
|
/* 027D4EE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D4EE4 */ return;
|
|
}
|
|
|
|
// fn_027D4EE8 @ 0x27d4ee8
|
|
void Gambit_fn_027D4EE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027D4EE8: ; // 0x27d4ee8
|
|
/* 027D4EE8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D4EE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D4EE8 */ cpu->r[1] = _t0;
|
|
/* 027D4EEC */ cpu->r[0] = cpu->lr;
|
|
/* 027D4EF0 */ /* nop */
|
|
/* 027D4EF4 */ cpu->r[28] = cpu->r[7];
|
|
/* 027D4EF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D4EFC */ cpu->r[26] = cpu->r[5];
|
|
/* 027D4F00 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D4F04 */ cpu->r[4] = cpu->r[28];
|
|
/* 027D4F08 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D4F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D4F0C */ cpu->r[29] = cpu->r[3];
|
|
/* 027D4F10 */ cpu->r[3] = 0x000009D8u;
|
|
/* 027D4F14 */ cpu->r[27] = cpu->r[6];
|
|
/* 027D4F18 */ Gambit_fn_02801AC8(cpu);
|
|
/* 027D4F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D4F20 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D4F24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4F24 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D4F24 */ if (_t3) goto L_027D4F30; else goto L_027D4F28;
|
|
L_027D4F28: ; // 0x27d4f28
|
|
/* 027D4F28 */ Gambit_fn_027B3248(cpu);
|
|
/* 027D4F2C */ cpu->r[31] = cpu->r[3];
|
|
L_027D4F30: ; // 0x27d4f30
|
|
/* 027D4F30 */ cpu->r[8] = cpu->r[28];
|
|
/* 027D4F34 */ cpu->r[7] = cpu->r[27];
|
|
/* 027D4F38 */ cpu->r[6] = cpu->r[26];
|
|
/* 027D4F3C */ cpu->r[5] = cpu->r[30];
|
|
/* 027D4F40 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D4F44 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D4F48 */ Gambit_fn_0292D7E4(cpu);
|
|
/* 027D4F4C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D4F50 */ /* nop */
|
|
/* 027D4F54 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D4F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D4F58 */ cpu->lr = cpu->r[0];
|
|
/* 027D4F5C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D4F60 */ return;
|
|
}
|
|
|
|
// fn_027D4F64 @ 0x27d4f64
|
|
void Gambit_fn_027D4F64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D4F64: ; // 0x27d4f64
|
|
/* 027D4F64 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D4F68 */ goto L_027D5DD8;
|
|
L_027D5DD8: ; // 0x27d5dd8
|
|
/* 027D5DD8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D5DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5DDC */ cpu->r[1] = _t0;
|
|
/* 027D5DE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5DE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5DE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5DE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5DE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5DEC */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5DF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5DF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D5DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5DF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D5DF4 */ if (_t5) goto L_027D5E38; else goto L_027D5DF8;
|
|
L_027D5DF8: ; // 0x27d5df8
|
|
/* 027D5DF8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5DFC */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D5E00 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF7Cu;
|
|
/* 027D5E04 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5E08 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5E08 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D5E0C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5E10 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D5E14 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5E18 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5E1C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5E20 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5E24 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D5E28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5E2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D5E2C */ if (_t8) goto L_027D5E38; else goto L_027D5E30;
|
|
L_027D5E30: ; // 0x27d5e30
|
|
/* 027D5E30 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5E34 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5E38: ; // 0x27d5e38
|
|
/* 027D5E38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D5E3C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5E3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D5E40 */ cpu->lr = cpu->r[0];
|
|
/* 027D5E44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D5E48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D5E4C */ return;
|
|
}
|
|
|
|
// fn_027D4F6C @ 0x27d4f6c
|
|
void Gambit_fn_027D4F6C(CPUState* cpu) {
|
|
uint32_t _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_027D4F6C: ; // 0x27d4f6c
|
|
/* 027D4F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D4F70 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4F70 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D4F70 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4F70 */ goto L_027D4F74;
|
|
L_027D4F74: ; // 0x27d4f74
|
|
/* 027D4F74 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027D4F74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D4F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D4F7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4F7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D4F7C */ if (_t4) goto L_027D4F8C; else goto L_027D4F80;
|
|
L_027D4F80: ; // 0x27d4f80
|
|
/* 027D4F80 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D4F84 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D4F88 */ _t5 = cpu->r[12] + 0xFFFF9578u;
|
|
/* 027D4F88 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
L_027D4F8C: ; // 0x27d4f8c
|
|
/* 027D4F8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D4F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D4F90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D4F90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D4F90 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D4F90 */ goto L_027D4F94;
|
|
L_027D4F94: ; // 0x27d4f94
|
|
/* 027D4F94 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t8 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t8, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t8;
|
|
/* 02801B38 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02801B48 */ _t11 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B50 */ if (_t13) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801B60 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 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 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02801B74 */ if (_t17) 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 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02801B84 */ if (_t19) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02801B8C */ _t21 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02801BA0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D4F98 @ 0x27d4f98
|
|
void Gambit_fn_027D4F98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027D4F98: ; // 0x27d4f98
|
|
/* 027D4F98 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D4F9C */ goto L_027D5EF8;
|
|
L_027D5EF8: ; // 0x27d5ef8
|
|
/* 027D5EF8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5EFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D5EFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5EFC */ cpu->r[1] = _t0;
|
|
/* 027D5F00 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5F00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5F04 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5F08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5F08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5F0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5F0C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D5F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5F14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5F14 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027D5F18 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5F18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D5F1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5F1C */ if (_t7) goto L_027D5FE4; else goto L_027D5F20;
|
|
L_027D5F20: ; // 0x27d5f20
|
|
/* 027D5F20 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D5F24 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5F28 */ cpu->r[11] = cpu->r[11] + 0xFFFFE0D8u;
|
|
/* 027D5F2C */ cpu->r[12] = cpu->r[12] + 0xFFFFE0E8u;
|
|
/* 027D5F30 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5F30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027D5F34 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5F38 */ cpu->r[0] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5F3C */ _t9 = cpu->r[30] + 0x00000154u;
|
|
/* 027D5F3C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027D5F40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5F40 */ if (_t11) goto L_027D5F90; else goto L_027D5F44;
|
|
L_027D5F44: ; // 0x27d5f44
|
|
/* 027D5F44 */ _t12 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F44 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027D5F48 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D5F4C */ cpu->r[9] = cpu->r[9] + 0xFFFFDFACu;
|
|
/* 027D5F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D5F54 */ _t13 = cpu->r[30] + 0x00000178u;
|
|
/* 027D5F54 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 027D5F58 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F58 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D5F58 */ if (_t15) goto L_027D5F84; else goto L_027D5F5C;
|
|
L_027D5F5C: ; // 0x27d5f5c
|
|
/* 027D5F5C */ _t16 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D5F64 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F64 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D5F64 */ if (_t18) goto L_027D5F80; else goto L_027D5F68;
|
|
L_027D5F68: ; // 0x27d5f68
|
|
/* 027D5F68 */ cpu->r[3] = cpu->r[30] + 0x0000017Cu;
|
|
/* 027D5F6C */ _t19 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F6C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 027D5F70 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D5F74 */ _t20 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5F78 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D5F7C */ _t21 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F7C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_027D5F80: ; // 0x27d5f80
|
|
/* 027D5F80 */ _t22 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F80 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
L_027D5F84: ; // 0x27d5f84
|
|
/* 027D5F84 */ cpu->r[3] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F88 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5F8C */ Gambit_fn_02821E68(cpu);
|
|
L_027D5F90: ; // 0x27d5f90
|
|
/* 027D5F90 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D5F94 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5F98 */ Gambit_fn_027D4F6C(cpu);
|
|
/* 027D5F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5FA0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FA0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D5FA0 */ if (_t24) goto L_027D5FD4; else goto L_027D5FA4;
|
|
L_027D5FA4: ; // 0x27d5fa4
|
|
/* 027D5FA4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5FA8 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D5FAC */ cpu->r[0] = cpu->r[0] + 0xFFFFDF7Cu;
|
|
/* 027D5FB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FB4 */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5FB4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027D5FB8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FBC */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D5FC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FCC */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5FD0 */ Gambit_fn_028136EC(cpu);
|
|
L_027D5FD4: ; // 0x27d5fd4
|
|
/* 027D5FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5FD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D5FD8 */ if (_t27) goto L_027D5FE4; else goto L_027D5FDC;
|
|
L_027D5FDC: ; // 0x27d5fdc
|
|
/* 027D5FDC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FE0 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5FE4: ; // 0x27d5fe4
|
|
/* 027D5FE4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5FE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D5FE8 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D5FEC */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D5FF0 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5FF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D5FF4 */ cpu->lr = cpu->r[0];
|
|
/* 027D5FF8 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D5FFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6000 */ return;
|
|
}
|
|
|
|
// fn_027D4FA0 @ 0x27d4fa0
|
|
void Gambit_fn_027D4FA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_027D4FA0: ; // 0x27d4fa0
|
|
/* 027D4FA0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027D4FA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D4FA0 */ cpu->r[1] = _t0;
|
|
/* 027D4FA4 */ /* nop */
|
|
/* 027D4FA8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D4FAC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027D4FAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D4FB0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027D4FB4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027D4FB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D4FB8 */ _t3 = cpu->r[7] + 0x0000001Cu;
|
|
/* 027D4FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D4FBC */ cpu->ctr = cpu->r[0];
|
|
/* 027D4FC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027D4FC4 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D4FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D4FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
|
|
/* 027D4FD0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D4FD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D4FD0 */ if (_t5) goto L_027D4FD4; else goto L_027D50B8;
|
|
L_027D4FD4: ; // 0x27d4fd4
|
|
/* 027D4FD4 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D4FD8 */ cpu->r[26] = 0x00080000u;
|
|
/* 027D4FDC */ cpu->r[27] = 0x10110000u;
|
|
/* 027D4FE0 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 027D4FE0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027D4FE4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027D4FE8 */ cpu->r[27] = cpu->r[27] + 0xFFFFDF44u;
|
|
L_027D4FEC: ; // 0x27d4fec
|
|
/* 027D4FEC */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 027D4FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D4FF0 */ _t8 = cpu->r[10] + 0x00000024u;
|
|
/* 027D4FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D4FF4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D4FF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D4FFC */ cpu->r[4] = cpu->r[30];
|
|
/* 027D5000 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5004 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5004 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D5008 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5008 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 027D500C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D5010 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5010 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 027D5014 */ Gambit_fn_027D6004(cpu);
|
|
/* 027D5018 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5018 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D501C */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 027D501C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D5020 */ cpu->ctr = cpu->r[4];
|
|
/* 027D5024 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D5028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D502C */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027D502C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D5030 */ _t15 = cpu->r[5] + 0x00000014u;
|
|
/* 027D5030 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D5034 */ cpu->ctr = cpu->r[6];
|
|
/* 027D5038 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5038 */ cpu->r[25] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D503C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D5040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5044 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 027D5044 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D5048 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[7]);
|
|
/* 027D504C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D504C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D504C */ if (_t19) goto L_027D5050; else goto L_027D5068;
|
|
L_027D5050: ; // 0x27d5050
|
|
/* 027D5050 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5054 */ /* nop */
|
|
/* 027D5058 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 027D5058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D505C */ cpu->lr = cpu->r[0];
|
|
/* 027D5060 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D5064 */ return;
|
|
L_027D5068: ; // 0x27d5068
|
|
/* 027D5068 */ _t21 = cpu->r[29] + 0x00000000u;
|
|
/* 027D5068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D506C */ cpu->ctr = cpu->r[26];
|
|
/* 027D5070 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5070 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D5074 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027D5078: ; // 0x27d5078
|
|
/* 027D5078 */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 027D5078 */ cpu->r[5] = rbrew_read8(cpu->mem, _t23);
|
|
/* 027D507C */ _t24 = cpu->r[12] + 0x00000001u;
|
|
/* 027D507C */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 027D507C */ cpu->r[12] = _t24;
|
|
/* 027D5080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 027D5084 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5084 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D5084 */ if (_t26) goto L_027D5088; else goto L_027D5098;
|
|
L_027D5088: ; // 0x27d5088
|
|
/* 027D5088 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027D508C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D508C */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D508C */ if (_t28) goto L_027D5050; else goto L_027D5090;
|
|
L_027D5090: ; // 0x27d5090
|
|
/* 027D5090 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D5094 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D5094 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D5094 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 027D5094 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D5094 */ if (_t31) goto L_027D5078; else goto L_027D5098;
|
|
L_027D5098: ; // 0x27d5098
|
|
/* 027D5098 */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 027D5098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D509C */ _t33 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027D509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D50A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D50A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027D50A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D50AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D50B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
|
|
/* 027D50B4 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D50B4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D50B4 */ if (_t35) goto L_027D4FEC; else goto L_027D50B8;
|
|
L_027D50B8: ; // 0x27d50b8
|
|
/* 027D50B8 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 027D50BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D50C0 */ /* nop */
|
|
/* 027D50C4 */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 027D50C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D50C8 */ cpu->lr = cpu->r[0];
|
|
/* 027D50CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D50D0 */ return;
|
|
}
|
|
|
|
// fn_027D50F8 @ 0x27d50f8
|
|
void Gambit_fn_027D50F8(CPUState* cpu) {
|
|
uint32_t _t0, _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_027D50F8: ; // 0x27d50f8
|
|
/* 027D50F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D50F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D50F8 */ cpu->r[1] = _t0;
|
|
/* 027D50FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D50FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D5100 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5100 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D5104 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5108 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5108 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D510C */ _t4 = cpu->r[30] + 0x0000016Au;
|
|
/* 027D510C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027D5110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5114 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5118 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5118 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D5118 */ if (_t6) goto L_027D511C; else goto L_027D516C;
|
|
L_027D511C: ; // 0x27d511c
|
|
/* 027D511C */ _t7 = cpu->r[30] + 0x000001A8u;
|
|
/* 027D511C */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027D5120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D5124 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5124 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D5124 */ if (_t9) goto L_027D5160; else goto L_027D5128;
|
|
L_027D5128: ; // 0x27d5128
|
|
/* 027D5128 */ _t10 = cpu->r[30] + 0x000001ACu;
|
|
/* 027D5128 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D512C */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027D512C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D5130 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D5130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D5134 */ cpu->ctr = cpu->r[0];
|
|
/* 027D5138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D513C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 027D5140 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5140 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D5140 */ if (_t14) goto L_027D5160; else goto L_027D5144;
|
|
L_027D5144: ; // 0x27d5144
|
|
/* 027D5144 */ _t15 = cpu->r[30] + 0x000001ACu;
|
|
/* 027D5144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D5148 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D514C */ _t17 = cpu->r[11] + 0x0000001Cu;
|
|
/* 027D514C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D5150 */ cpu->ctr = cpu->r[12];
|
|
/* 027D5154 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D515C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D515C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D515C */ if (_t19) goto L_027D5160; else goto L_027D516C;
|
|
L_027D5160: ; // 0x27d5160
|
|
/* 027D5160 */ _t20 = cpu->r[30] + 0x00000160u;
|
|
/* 027D5160 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 027D5164 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D5168 */ _t21 = cpu->r[30] + 0x00000168u;
|
|
/* 027D5168 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
L_027D516C: ; // 0x27d516c
|
|
/* 027D516C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027D516C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D5170 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5170 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D5174 */ cpu->lr = cpu->r[0];
|
|
/* 027D5178 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D517C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D5180 */ return;
|
|
}
|
|
|
|
// fn_027D5184 @ 0x27d5184
|
|
void Gambit_fn_027D5184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D5184: ; // 0x27d5184
|
|
/* 027D5184 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5188 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D5188 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D518C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D518C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D518C */ cpu->r[1] = _t1;
|
|
/* 027D5190 */ _t2 = cpu->r[3] + 0x000001A8u;
|
|
/* 027D5190 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D5194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5198 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5198 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D5198 */ if (_t4) goto L_027D51B8; else goto L_027D519C;
|
|
L_027D519C: ; // 0x27d519c
|
|
/* 027D519C */ _t5 = cpu->r[3] + 0x000001ACu;
|
|
/* 027D519C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D51A0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 027D51A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D51A4 */ _t7 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D51A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D51A8 */ cpu->ctr = cpu->r[12];
|
|
/* 027D51AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D51B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D51B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D51B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D51B4 */ if (_t9) goto L_027D51B8; else goto L_027D51CC;
|
|
L_027D51B8: ; // 0x27d51b8
|
|
/* 027D51B8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D51BC */ cpu->lr = cpu->r[0];
|
|
/* 027D51C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D51C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D51C8 */ return;
|
|
L_027D51CC: ; // 0x27d51cc
|
|
/* 027D51CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D51D0 */ cpu->lr = cpu->r[0];
|
|
/* 027D51D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D51D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D51DC */ return;
|
|
}
|
|
|
|
// fn_027D518C @ 0x27d518c
|
|
void Gambit_fn_027D518C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D518C: ; // 0x27d518c
|
|
/* 027D518C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D518C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D518C */ cpu->r[1] = _t0;
|
|
/* 027D5190 */ _t1 = cpu->r[3] + 0x000001A8u;
|
|
/* 027D5190 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027D5194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5198 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5198 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D5198 */ if (_t3) goto L_027D51B8; else goto L_027D519C;
|
|
L_027D519C: ; // 0x27d519c
|
|
/* 027D519C */ _t4 = cpu->r[3] + 0x000001ACu;
|
|
/* 027D519C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D51A0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 027D51A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D51A4 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D51A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D51A8 */ cpu->ctr = cpu->r[12];
|
|
/* 027D51AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D51B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D51B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D51B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D51B4 */ if (_t8) goto L_027D51B8; else goto L_027D51CC;
|
|
L_027D51B8: ; // 0x27d51b8
|
|
/* 027D51B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D51BC */ cpu->lr = cpu->r[0];
|
|
/* 027D51C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D51C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D51C8 */ return;
|
|
L_027D51CC: ; // 0x27d51cc
|
|
/* 027D51CC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D51D0 */ cpu->lr = cpu->r[0];
|
|
/* 027D51D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D51D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D51DC */ return;
|
|
}
|
|
|
|
// fn_027D51E0 @ 0x27d51e0
|
|
void Gambit_fn_027D51E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D51E0: ; // 0x27d51e0
|
|
/* 027D51E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D51E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D51E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D51E4 */ cpu->r[1] = _t0;
|
|
/* 027D51E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D51EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D51EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D51F0 */ _t3 = cpu->r[3] + 0x00000169u;
|
|
/* 027D51F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027D51F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D51F8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D51FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D51FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D51FC */ if (_t5) goto L_027D5200; else goto L_027D5228;
|
|
L_027D5200: ; // 0x27d5200
|
|
/* 027D5200 */ _t6 = cpu->r[3] + 0x0000016Au;
|
|
/* 027D5200 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027D5204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D5208 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5208 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D5208 */ if (_t8) goto L_027D520C; else goto L_027D5228;
|
|
L_027D520C: ; // 0x27d520c
|
|
/* 027D520C */ _t9 = cpu->r[3] + 0x0000016Bu;
|
|
/* 027D520C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027D5210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5214 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5214 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5214 */ if (_t11) goto L_027D5218; else goto L_027D5228;
|
|
L_027D5218: ; // 0x27d5218
|
|
/* 027D5218 */ Gambit_fn_027D5184(cpu);
|
|
/* 027D521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5220 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5220 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D5220 */ if (_t13) goto L_027D5228; else goto L_027D5224;
|
|
L_027D5224: ; // 0x27d5224
|
|
/* 027D5224 */ cpu->r[31] = 0x00000001u;
|
|
L_027D5228: ; // 0x27d5228
|
|
/* 027D5228 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D522C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D5230 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D5234 */ cpu->lr = cpu->r[0];
|
|
/* 027D5238 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D523C */ return;
|
|
}
|
|
|
|
// fn_027D51E4 @ 0x27d51e4
|
|
void Gambit_fn_027D51E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D51E4: ; // 0x27d51e4
|
|
/* 027D51E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D51E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D51E4 */ cpu->r[1] = _t0;
|
|
/* 027D51E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D51E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D51EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D51EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D51F0 */ _t3 = cpu->r[3] + 0x00000169u;
|
|
/* 027D51F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027D51F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D51F8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D51FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D51FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D51FC */ if (_t5) goto L_027D5200; else goto L_027D5228;
|
|
L_027D5200: ; // 0x27d5200
|
|
/* 027D5200 */ _t6 = cpu->r[3] + 0x0000016Au;
|
|
/* 027D5200 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027D5204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D5208 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5208 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D5208 */ if (_t8) goto L_027D520C; else goto L_027D5228;
|
|
L_027D520C: ; // 0x27d520c
|
|
/* 027D520C */ _t9 = cpu->r[3] + 0x0000016Bu;
|
|
/* 027D520C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027D5210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5214 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5214 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5214 */ if (_t11) goto L_027D5218; else goto L_027D5228;
|
|
L_027D5218: ; // 0x27d5218
|
|
/* 027D5218 */ Gambit_fn_027D5184(cpu);
|
|
/* 027D521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5220 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5220 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D5220 */ if (_t13) goto L_027D5228; else goto L_027D5224;
|
|
L_027D5224: ; // 0x27d5224
|
|
/* 027D5224 */ cpu->r[31] = 0x00000001u;
|
|
L_027D5228: ; // 0x27d5228
|
|
/* 027D5228 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D522C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D5230 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D5234 */ cpu->lr = cpu->r[0];
|
|
/* 027D5238 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D523C */ return;
|
|
}
|
|
|
|
// fn_027D5240 @ 0x27d5240
|
|
void Gambit_fn_027D5240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D5240: ; // 0x27d5240
|
|
/* 027D5240 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D5244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5244 */ cpu->r[1] = _t0;
|
|
/* 027D5248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5248 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D524C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D524C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5250 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D5254 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027D5258 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5258 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D525C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D5260 */ _t4 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D5260 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027D5264 */ _t5 = cpu->r[31] + 0x00000168u;
|
|
/* 027D5264 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 027D5268 */ _t6 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D5268 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 027D526C */ _t7 = cpu->r[31] + 0x0000016Bu;
|
|
/* 027D526C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027D5270 */ _t8 = cpu->r[31] + 0x00000169u;
|
|
/* 027D5270 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 027D5274 */ _t9 = cpu->r[31] + 0x00000160u;
|
|
/* 027D5274 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027D5278 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D527C */ _t10 = cpu->r[31] + 0x00000164u;
|
|
/* 027D527C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027D5280 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5284 */ cpu->r[12] = cpu->r[3];
|
|
/* 027D5284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D5288 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5288 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D5288 */ if (_t12) goto L_027D5298; else goto L_027D528C;
|
|
L_027D528C: ; // 0x27d528c
|
|
/* 027D528C */ cpu->r[3] = cpu->r[12];
|
|
/* 027D5290 */ Gambit_fn_027D6160(cpu);
|
|
/* 027D5294 */ cpu->r[12] = cpu->r[3];
|
|
L_027D5298: ; // 0x27d5298
|
|
/* 027D5298 */ _t13 = cpu->r[31] + 0x000001A9u;
|
|
/* 027D5298 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 027D529C */ cpu->r[3] = 0x00000B60u;
|
|
/* 027D52A0 */ _t14 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D52A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027D52A4 */ _t15 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D52A4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
|
|
/* 027D52A8 */ _t16 = cpu->r[31] + 0x000001B0u;
|
|
/* 027D52A8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027D52AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D52B0 */ cpu->r[0] = cpu->r[3];
|
|
/* 027D52B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D52B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D52B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D52B4 */ if (_t18) goto L_027D52C4; else goto L_027D52B8;
|
|
L_027D52B8: ; // 0x27d52b8
|
|
/* 027D52B8 */ cpu->r[3] = cpu->r[0];
|
|
/* 027D52BC */ Gambit_fn_027FB1D0(cpu);
|
|
/* 027D52C0 */ cpu->r[0] = cpu->r[3];
|
|
L_027D52C4: ; // 0x27d52c4
|
|
/* 027D52C4 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D52C8 */ _t19 = cpu->r[31] + 0x000001B4u;
|
|
/* 027D52C8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 027D52CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D52D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D52D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D52D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D52D4 */ if (_t21) goto L_027D52DC; else goto L_027D52D8;
|
|
L_027D52D8: ; // 0x27d52d8
|
|
/* 027D52D8 */ Gambit_fn_027F9C8C(cpu);
|
|
L_027D52DC: ; // 0x27d52dc
|
|
/* 027D52DC */ _t22 = cpu->r[31] + 0x000001B8u;
|
|
/* 027D52DC */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 027D52E0 */ Gambit_fn_027FA394(cpu);
|
|
/* 027D52E4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027D52E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D52E8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027D52E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D52EC */ cpu->lr = cpu->r[0];
|
|
/* 027D52F0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D52F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D52F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D52F8 */ return;
|
|
}
|
|
|
|
// fn_027D5244 @ 0x27d5244
|
|
void Gambit_fn_027D5244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D5244: ; // 0x27d5244
|
|
/* 027D5244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D5244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5244 */ cpu->r[1] = _t0;
|
|
/* 027D5248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5248 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D524C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D524C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5250 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D5254 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027D5258 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5258 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D525C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D5260 */ _t4 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D5260 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027D5264 */ _t5 = cpu->r[31] + 0x00000168u;
|
|
/* 027D5264 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 027D5268 */ _t6 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D5268 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 027D526C */ _t7 = cpu->r[31] + 0x0000016Bu;
|
|
/* 027D526C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027D5270 */ _t8 = cpu->r[31] + 0x00000169u;
|
|
/* 027D5270 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 027D5274 */ _t9 = cpu->r[31] + 0x00000160u;
|
|
/* 027D5274 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027D5278 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D527C */ _t10 = cpu->r[31] + 0x00000164u;
|
|
/* 027D527C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027D5280 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5284 */ cpu->r[12] = cpu->r[3];
|
|
/* 027D5284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D5288 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5288 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D5288 */ if (_t12) goto L_027D5298; else goto L_027D528C;
|
|
L_027D528C: ; // 0x27d528c
|
|
/* 027D528C */ cpu->r[3] = cpu->r[12];
|
|
/* 027D5290 */ Gambit_fn_027D6160(cpu);
|
|
/* 027D5294 */ cpu->r[12] = cpu->r[3];
|
|
L_027D5298: ; // 0x27d5298
|
|
/* 027D5298 */ _t13 = cpu->r[31] + 0x000001A9u;
|
|
/* 027D5298 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 027D529C */ cpu->r[3] = 0x00000B60u;
|
|
/* 027D52A0 */ _t14 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D52A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027D52A4 */ _t15 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D52A4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
|
|
/* 027D52A8 */ _t16 = cpu->r[31] + 0x000001B0u;
|
|
/* 027D52A8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027D52AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D52B0 */ cpu->r[0] = cpu->r[3];
|
|
/* 027D52B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D52B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D52B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D52B4 */ if (_t18) goto L_027D52C4; else goto L_027D52B8;
|
|
L_027D52B8: ; // 0x27d52b8
|
|
/* 027D52B8 */ cpu->r[3] = cpu->r[0];
|
|
/* 027D52BC */ Gambit_fn_027FB1D0(cpu);
|
|
/* 027D52C0 */ cpu->r[0] = cpu->r[3];
|
|
L_027D52C4: ; // 0x27d52c4
|
|
/* 027D52C4 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D52C8 */ _t19 = cpu->r[31] + 0x000001B4u;
|
|
/* 027D52C8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 027D52CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D52D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D52D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D52D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D52D4 */ if (_t21) goto L_027D52DC; else goto L_027D52D8;
|
|
L_027D52D8: ; // 0x27d52d8
|
|
/* 027D52D8 */ Gambit_fn_027F9C8C(cpu);
|
|
L_027D52DC: ; // 0x27d52dc
|
|
/* 027D52DC */ _t22 = cpu->r[31] + 0x000001B8u;
|
|
/* 027D52DC */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 027D52E0 */ Gambit_fn_027FA394(cpu);
|
|
/* 027D52E4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027D52E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D52E8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027D52E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D52EC */ cpu->lr = cpu->r[0];
|
|
/* 027D52F0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D52F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D52F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D52F8 */ return;
|
|
}
|
|
|
|
// fn_027D52FC @ 0x27d52fc
|
|
void Gambit_fn_027D52FC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D52FC: ; // 0x27d52fc
|
|
/* 027D52FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5300 */ _t0 = cpu->r[3] + 0xFFFF9570u;
|
|
/* 027D5300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D5304 */ return;
|
|
}
|
|
|
|
// fn_027D5308 @ 0x27d5308
|
|
void Gambit_fn_027D5308(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D5308: ; // 0x27d5308
|
|
/* 027D5308 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027D5308 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5308 */ cpu->r[1] = _t0;
|
|
/* 027D530C */ /* nop */
|
|
/* 027D5310 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5314 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 027D5314 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D5318 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D531C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D5320 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D5324 */ _t2 = cpu->r[31] + 0xFFFF9578u;
|
|
/* 027D5324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D5328 */ Gambit_fn_027E9BE0(cpu);
|
|
/* 027D532C */ _t3 = cpu->r[30] + 0x00000000u;
|
|
/* 027D532C */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D5330 */ _t4 = cpu->r[5] + 0x00000014u;
|
|
/* 027D5330 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D5334 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D5338 */ _t5 = cpu->r[6] + cpu->r[5];
|
|
/* 027D5338 */ cpu->r[26] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D533C */ cpu->r[27] = 0x00000001u;
|
|
/* 027D5340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D5344 */ cpu->r[28] = 0x101D0000u;
|
|
/* 027D5348 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5348 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5348 */ if (_t7) goto L_027D535C; else goto L_027D534C;
|
|
L_027D534C: ; // 0x27d534c
|
|
/* 027D534C */ _t8 = cpu->r[28] + 0xFFFF98F0u;
|
|
/* 027D534C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D5350 */ cpu->r[4] = cpu->r[26];
|
|
/* 027D5354 */ Gambit_fn_02827008(cpu);
|
|
/* 027D5358 */ cpu->r[27] = cpu->r[3];
|
|
L_027D535C: ; // 0x27d535c
|
|
/* 027D535C */ _t9 = cpu->r[31] + 0x00000160u;
|
|
/* 027D535C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D5360 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D5364 */ _t10 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D5364 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D5368 */ _t11 = cpu->r[31] + 0x0000016Bu;
|
|
/* 027D5368 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 027D536C */ _t12 = cpu->r[31] + 0x00000164u;
|
|
/* 027D536C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027D5370 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5374 */ _t13 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D5374 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027D5378 */ _t14 = cpu->r[3] + 0xFFFFA9DCu;
|
|
/* 027D5378 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D537C */ cpu->r[4] = cpu->r[26];
|
|
/* 027D5380 */ Gambit_fn_02A08BC4(cpu);
|
|
/* 027D5384 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5388 */ _t15 = cpu->r[3] + 0xFFFF927Cu;
|
|
/* 027D5388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D538C */ Gambit_fn_027A0558(cpu);
|
|
/* 027D5390 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5394 */ _t16 = cpu->r[3] + 0xFFFF92D4u;
|
|
/* 027D5394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5398 */ Gambit_fn_027A9474(cpu);
|
|
/* 027D539C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53A0 */ _t17 = cpu->r[3] + 0xFFFF92F8u;
|
|
/* 027D53A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D53A4 */ Gambit_fn_027ADED8(cpu);
|
|
/* 027D53A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53AC */ _t18 = cpu->r[3] + 0xFFFF9280u;
|
|
/* 027D53AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D53B0 */ Gambit_fn_027A2D50(cpu);
|
|
/* 027D53B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53B8 */ _t19 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027D53B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D53BC */ Gambit_fn_027CEE58(cpu);
|
|
/* 027D53C0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53C4 */ _t20 = cpu->r[3] + 0xFFFF93DCu;
|
|
/* 027D53C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D53C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D53CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D53CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D53CC */ if (_t22) goto L_027D53D4; else goto L_027D53D0;
|
|
L_027D53D0: ; // 0x27d53d0
|
|
/* 027D53D0 */ Gambit_fn_027C348C(cpu);
|
|
L_027D53D4: ; // 0x27d53d4
|
|
/* 027D53D4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53D8 */ _t23 = cpu->r[3] + 0xFFFF92A8u;
|
|
/* 027D53D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D53DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D53E0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D53E0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D53E0 */ if (_t25) goto L_027D53E8; else goto L_027D53E4;
|
|
L_027D53E4: ; // 0x27d53e4
|
|
/* 027D53E4 */ Gambit_fn_027A782C(cpu);
|
|
L_027D53E8: ; // 0x27d53e8
|
|
/* 027D53E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D53EC */ _t26 = cpu->r[3] + 0xFFFF93ECu;
|
|
/* 027D53EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D53F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D53F4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D53F4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D53F4 */ if (_t28) goto L_027D5408; else goto L_027D53F8;
|
|
L_027D53F8: ; // 0x27d53f8
|
|
/* 027D53F8 */ _t29 = cpu->r[3] + 0x00000070u;
|
|
/* 027D53F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D53FC */ _t30 = cpu->r[8] + 0x000000CCu;
|
|
/* 027D53FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D5400 */ cpu->ctr = cpu->r[0];
|
|
/* 027D5404 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027D5408: ; // 0x27d5408
|
|
/* 027D5408 */ _t31 = cpu->r[31] + 0x000001B8u;
|
|
/* 027D5408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D540C */ Gambit_fn_027F9E90(cpu);
|
|
/* 027D5410 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5414 */ _t32 = cpu->r[3] + 0xFFFF9584u;
|
|
/* 027D5414 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D5418 */ Gambit_fn_027D6AAC(cpu);
|
|
/* 027D541C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D5420 */ _t33 = cpu->r[3] + 0xFFFF8640u;
|
|
/* 027D5420 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D5424 */ Gambit_fn_026F6A28(cpu);
|
|
/* 027D5428 */ cpu->r[26] = 0x101D0000u;
|
|
/* 027D542C */ _t34 = cpu->r[26] + 0xFFFF9574u;
|
|
/* 027D542C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D5430 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5430 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D5434 */ _t36 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027D5434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D5438 */ cpu->ctr = cpu->r[0];
|
|
/* 027D543C */ _t37 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D543C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027D5440 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5444 */ _t38 = cpu->r[26] + 0xFFFF9574u;
|
|
/* 027D5444 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D5448 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D544C */ _t40 = cpu->r[12] + 0x00000024u;
|
|
/* 027D544C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D5450 */ cpu->ctr = cpu->r[0];
|
|
/* 027D5454 */ cpu->r[4] = cpu->r[29];
|
|
/* 027D5458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D545C */ cpu->r[26] = cpu->r[3];
|
|
/* 027D5460 */ _t41 = cpu->r[26] + 0x00000004u;
|
|
/* 027D5460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D5464 */ cpu->ctr = cpu->r[5];
|
|
/* 027D5468 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D546C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D5470 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5474 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5478 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D547C */ _t42 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D547C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[29]);
|
|
/* 027D5480 */ cpu->r[25] = 0x10110000u;
|
|
/* 027D5484 */ _t43 = cpu->r[31] + 0x00000168u;
|
|
/* 027D5484 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[29]);
|
|
/* 027D5488 */ _t44 = cpu->r[31] + 0x00000169u;
|
|
/* 027D5488 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[29]);
|
|
/* 027D548C */ cpu->r[25] = cpu->r[25] + 0xFFFFDF44u;
|
|
/* 027D5490 */ _t45 = cpu->r[26] + 0x00000008u;
|
|
/* 027D5490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D5494 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027D5498 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5498 */ rbrew_write32(cpu->mem, _t46, cpu->r[25]);
|
|
/* 027D549C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D54A0 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 027D54A0 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 027D54A4 */ Gambit_fn_027FE814(cpu);
|
|
/* 027D54A8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D54AC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027D54B0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 027D54B0 */ rbrew_write32(cpu->mem, _t48, cpu->r[25]);
|
|
/* 027D54B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFDFECu;
|
|
/* 027D54B8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D54BC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027D54C0 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 027D54C0 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 027D54C4 */ Gambit_fn_027FF0C0(cpu);
|
|
/* 027D54C8 */ cpu->r[12] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027D54CC */ _t50 = cpu->r[31] + 0x000001A9u;
|
|
/* 027D54CC */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[29]);
|
|
/* 027D54D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000001u);
|
|
/* 027D54D4 */ _t51 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D54D4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[12]);
|
|
/* 027D54D8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D54D8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027D54D8 */ if (_t53) goto L_027D54E8; else goto L_027D54DC;
|
|
L_027D54DC: ; // 0x27d54dc
|
|
/* 027D54DC */ _t54 = cpu->r[28] + 0xFFFF98F0u;
|
|
/* 027D54DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D54E0 */ cpu->r[4] = cpu->r[27];
|
|
/* 027D54E4 */ Gambit_fn_02827008(cpu);
|
|
L_027D54E8: ; // 0x27d54e8
|
|
/* 027D54E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D54EC */ /* nop */
|
|
/* 027D54F0 */ _t55 = cpu->r[1] + 0x00000144u;
|
|
/* 027D54F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D54F4 */ cpu->lr = cpu->r[0];
|
|
/* 027D54F8 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027D54FC */ return;
|
|
}
|
|
|
|
// fn_027D5500 @ 0x27d5500
|
|
void Gambit_fn_027D5500(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027D5500: ; // 0x27d5500
|
|
/* 027D5500 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 027D5500 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5500 */ cpu->r[1] = _t0;
|
|
/* 027D5504 */ /* nop */
|
|
/* 027D5508 */ cpu->r[0] = cpu->lr;
|
|
/* 027D550C */ _t1 = cpu->r[1] + 0x000000ACu;
|
|
/* 027D550C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D5510 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D5514 */ _t2 = cpu->r[31] + 0x00000168u;
|
|
/* 027D5514 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D5518 */ cpu->r[30] = 0x00000000u;
|
|
/* 027D551C */ cpu->r[27] = 0x101D0000u;
|
|
/* 027D5520 */ cpu->r[28] = 0x101D0000u;
|
|
/* 027D5524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027D5528 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027D552C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D552C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D552C */ if (_t4) goto L_027D55F4; else goto L_027D5530;
|
|
L_027D5530: ; // 0x27d5530
|
|
/* 027D5530 */ _t5 = cpu->r[31] + 0x00000169u;
|
|
/* 027D5530 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027D5534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5538 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5538 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5538 */ if (_t7) goto L_027D553C; else goto L_027D5600;
|
|
L_027D553C: ; // 0x27d553c
|
|
/* 027D553C */ _t8 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D553C */ cpu->r[6] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027D5540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D5544 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5544 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D5544 */ if (_t10) goto L_027D5578; else goto L_027D5548;
|
|
L_027D5548: ; // 0x27d5548
|
|
/* 027D5548 */ _t11 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D5548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D554C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027D554C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D5550 */ _t13 = cpu->r[8] + 0x0000001Cu;
|
|
/* 027D5550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D5554 */ cpu->ctr = cpu->r[10];
|
|
/* 027D5558 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D555C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5560 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5560 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D5560 */ if (_t15) goto L_027D5564; else goto L_027D55F4;
|
|
L_027D5564: ; // 0x27d5564
|
|
/* 027D5564 */ _t16 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D5564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5568 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5568 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D556C */ _t18 = cpu->r[6] + 0x00000024u;
|
|
/* 027D556C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D5570 */ cpu->ctr = cpu->r[8];
|
|
/* 027D5574 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027D5578: ; // 0x27d5578
|
|
/* 027D5578 */ _t19 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 027D5578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D557C */ Gambit_fn_0278FB64(cpu);
|
|
/* 027D5580 */ _t20 = cpu->r[27] + 0xFFFF964Cu;
|
|
/* 027D5580 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5584 */ _t21 = cpu->r[12] + 0x00000160u;
|
|
/* 027D5584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D5588 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D558C */ Gambit_fn_027D930C(cpu);
|
|
/* 027D5590 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D5594 */ Gambit_fn_027D52FC(cpu);
|
|
/* 027D5598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D559C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D559C */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D559C */ if (_t23) goto L_027D55C0; else goto L_027D55A0;
|
|
L_027D55A0: ; // 0x27d55a0
|
|
/* 027D55A0 */ _t24 = cpu->r[3] + 0x000001ECu;
|
|
/* 027D55A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D55A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D55A8 */ _t25 = cpu->r[12] + 0x00000140u;
|
|
/* 027D55A8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
/* 027D55AC */ Gambit_fn_027D52FC(cpu);
|
|
/* 027D55B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D55B4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D55B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D55B4 */ if (_t27) goto L_027D55C0; else goto L_027D55B8;
|
|
L_027D55B8: ; // 0x27d55b8
|
|
/* 027D55B8 */ _t28 = cpu->r[3] + 0x000001F0u;
|
|
/* 027D55B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D55BC */ _t29 = cpu->r[8] + 0x0000001Cu;
|
|
/* 027D55BC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
L_027D55C0: ; // 0x27d55c0
|
|
/* 027D55C0 */ _t30 = cpu->r[28] + 0xFFFF9574u;
|
|
/* 027D55C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D55C4 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 027D55C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D55C8 */ _t32 = cpu->r[8] + 0x00000034u;
|
|
/* 027D55C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D55CC */ cpu->ctr = cpu->r[10];
|
|
/* 027D55D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D55D4 */ _t33 = cpu->r[31] + 0x000001B4u;
|
|
/* 027D55D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D55D8 */ Gambit_fn_027FB3AC(cpu);
|
|
/* 027D55DC */ _t34 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D55DC */ cpu->r[6] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027D55E0 */ cpu->r[11] = 0x00000001u;
|
|
/* 027D55E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D55E8 */ _t35 = cpu->r[31] + 0x00000169u;
|
|
/* 027D55E8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[11]);
|
|
/* 027D55EC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D55EC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D55EC */ if (_t37) goto L_027D560C; else goto L_027D55F0;
|
|
L_027D55F0: ; // 0x27d55f0
|
|
/* 027D55F0 */ goto L_027D57B4;
|
|
L_027D55F4: ; // 0x27d55f4
|
|
/* 027D55F4 */ _t38 = cpu->r[31] + 0x00000169u;
|
|
/* 027D55F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 027D55F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D55FC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D55FC */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D55FC */ if (_t40) goto L_027D574C; else goto L_027D5600;
|
|
L_027D5600: ; // 0x27d5600
|
|
/* 027D5600 */ _t41 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D5600 */ cpu->r[6] = rbrew_read8(cpu->mem, _t41);
|
|
/* 027D5604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D5608 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5608 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D5608 */ if (_t43) goto L_027D560C; else goto L_027D57B4;
|
|
L_027D560C: ; // 0x27d560c
|
|
/* 027D560C */ _t44 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D560C */ cpu->r[7] = rbrew_read8(cpu->mem, _t44);
|
|
/* 027D5610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D5614 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5614 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027D5614 */ if (_t46) goto L_027D5634; else goto L_027D5618;
|
|
L_027D5618: ; // 0x27d5618
|
|
/* 027D5618 */ _t47 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D5618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D561C */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 027D561C */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D5620 */ _t49 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027D5620 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027D5624 */ cpu->ctr = cpu->r[10];
|
|
/* 027D5628 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 027D5630 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5630 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027D5630 */ if (_t51) goto L_027D5634; else goto L_027D5740;
|
|
L_027D5634: ; // 0x27d5634
|
|
/* 027D5634 */ _t52 = cpu->r[27] + 0xFFFF964Cu;
|
|
/* 027D5634 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D5638 */ _t53 = cpu->r[11] + 0x00000160u;
|
|
/* 027D5638 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D563C */ Gambit_fn_027D9190(cpu);
|
|
/* 027D5640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5644 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5644 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027D5644 */ if (_t55) goto L_027D5740; else goto L_027D5648;
|
|
L_027D5648: ; // 0x27d5648
|
|
/* 027D5648 */ _t56 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 027D5648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027D564C */ _t57 = cpu->r[12] + 0x00000028u;
|
|
/* 027D564C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027D5650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5654 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5654 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027D5654 */ if (_t59) goto L_027D5658; else goto L_027D5740;
|
|
L_027D5658: ; // 0x27d5658
|
|
/* 027D5658 */ _t60 = cpu->r[28] + 0xFFFF9574u;
|
|
/* 027D5658 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027D565C */ _t61 = cpu->r[3] + 0x00000000u;
|
|
/* 027D565C */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027D5660 */ _t62 = cpu->r[6] + 0x0000003Cu;
|
|
/* 027D5660 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D5664 */ cpu->ctr = cpu->r[8];
|
|
/* 027D5668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D566C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5670 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5670 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027D5670 */ if (_t64) goto L_027D5740; else goto L_027D5674;
|
|
L_027D5674: ; // 0x27d5674
|
|
/* 027D5674 */ _t65 = cpu->r[31] + 0x000001B4u;
|
|
/* 027D5674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027D5678 */ Gambit_fn_027FB6C8(cpu);
|
|
/* 027D567C */ _t66 = cpu->r[27] + 0xFFFF964Cu;
|
|
/* 027D567C */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027D5680 */ _t67 = cpu->r[9] + 0x00000160u;
|
|
/* 027D5680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027D5684 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D5688 */ Gambit_fn_027D930C(cpu);
|
|
/* 027D568C */ cpu->r[0] = 0x00000001u;
|
|
/* 027D5690 */ _t68 = cpu->r[31] + 0x00000160u;
|
|
/* 027D5690 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027D5694 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027D5698 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5698 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 027D569C */ cpu->r[0] = 0x027D0000u;
|
|
/* 027D56A0 */ cpu->r[29] = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D56A4 */ _t70 = cpu->r[4] + 0xFFFF9570u;
|
|
/* 027D56A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027D56A8 */ cpu->r[0] = cpu->r[0] + 0x00005308u;
|
|
/* 027D56AC */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D56AC */ rbrew_write32(cpu->mem, _t71, cpu->r[11]);
|
|
/* 027D56B0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D56B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D56B8 */ _t72 = cpu->r[10] + 0xFFFF9894u;
|
|
/* 027D56B8 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027D56BC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D56BC */ _t74 = _t73 & 0x00000001u;
|
|
/* 027D56BC */ if (_t74) goto L_027D56C0; else goto L_027D56FC;
|
|
L_027D56C0: ; // 0x27d56c0
|
|
/* 027D56C0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D56C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D56C8 */ Gambit_fn_02815514(cpu);
|
|
/* 027D56CC */ _t75 = cpu->r[1] + 0x00000068u;
|
|
/* 027D56CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027D56D0 */ _t76 = cpu->r[1] + 0x00000080u;
|
|
/* 027D56D0 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
/* 027D56D4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u);
|
|
/* 027D56D8 */ _t77 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D56D8 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
/* 027D56DC */ cpu->r[7] = cpu->r[1] + cpu->r[8];
|
|
/* 027D56E0 */ _t78 = cpu->r[7] + 0x00000028u;
|
|
/* 027D56E0 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
/* 027D56E4 */ _t79 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027D56E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027D56E8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027D56EC */ Gambit_fn_02815E10(cpu);
|
|
/* 027D56F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D56F4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D56F4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027D56F4 */ if (_t81) goto L_027D5740; else goto L_027D56F8;
|
|
L_027D56F8: ; // 0x27d56f8
|
|
/* 027D56F8 */ goto L_027D5738;
|
|
L_027D56FC: ; // 0x27d56fc
|
|
/* 027D56FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D5700 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D5704 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D5708 */ Gambit_fn_028156D8(cpu);
|
|
/* 027D570C */ _t82 = cpu->r[1] + 0x00000068u;
|
|
/* 027D570C */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027D5710 */ _t83 = cpu->r[1] + 0x00000080u;
|
|
/* 027D5710 */ rbrew_write32(cpu->mem, _t83, cpu->r[29]);
|
|
/* 027D5714 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000014u);
|
|
/* 027D5718 */ _t84 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D5718 */ rbrew_write32(cpu->mem, _t84, cpu->r[31]);
|
|
/* 027D571C */ cpu->r[12] = cpu->r[1] + cpu->r[0];
|
|
/* 027D5720 */ _t85 = cpu->r[12] + 0x00000028u;
|
|
/* 027D5720 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[30]);
|
|
/* 027D5724 */ _t86 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027D5724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027D5728 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027D572C */ Gambit_fn_02816E24(cpu);
|
|
/* 027D5730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5734 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5734 */ _t88 = _t87 & 0x00000001u;
|
|
/* 027D5734 */ if (_t88) goto L_027D5740; else goto L_027D5738;
|
|
L_027D5738: ; // 0x27d5738
|
|
/* 027D5738 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D573C */ _t89 = cpu->r[31] + 0x0000016Au;
|
|
/* 027D573C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[6]);
|
|
L_027D5740: ; // 0x27d5740
|
|
/* 027D5740 */ _t90 = cpu->r[31] + 0x00000169u;
|
|
/* 027D5740 */ cpu->r[7] = rbrew_read8(cpu->mem, _t90);
|
|
/* 027D5744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D5748 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5748 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027D5748 */ if (_t92) goto L_027D574C; else goto L_027D57B4;
|
|
L_027D574C: ; // 0x27d574c
|
|
/* 027D574C */ _t93 = cpu->r[31] + 0x000001A8u;
|
|
/* 027D574C */ cpu->r[0] = rbrew_read8(cpu->mem, _t93);
|
|
/* 027D5750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5754 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5754 */ _t95 = _t94 & 0x00000001u;
|
|
/* 027D5754 */ if (_t95) goto L_027D57B4; else goto L_027D5758;
|
|
L_027D5758: ; // 0x27d5758
|
|
/* 027D5758 */ _t96 = cpu->r[31] + 0x000001A9u;
|
|
/* 027D5758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 027D575C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5760 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5760 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027D5760 */ if (_t98) goto L_027D57B4; else goto L_027D5764;
|
|
L_027D5764: ; // 0x27d5764
|
|
/* 027D5764 */ _t99 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D5764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027D5768 */ _t100 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5768 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027D576C */ _t101 = cpu->r[11] + 0x0000001Cu;
|
|
/* 027D576C */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027D5770 */ cpu->ctr = cpu->r[12];
|
|
/* 027D5774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 027D577C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D577C */ _t103 = _t102 & 0x00000001u;
|
|
/* 027D577C */ if (_t103) goto L_027D5780; else goto L_027D57B4;
|
|
L_027D5780: ; // 0x27d5780
|
|
/* 027D5780 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D5784 */ Gambit_fn_027D52FC(cpu);
|
|
/* 027D5788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D578C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D578C */ _t105 = _t104 & 0x00000001u;
|
|
/* 027D578C */ if (_t105) goto L_027D57B4; else goto L_027D5790;
|
|
L_027D5790: ; // 0x27d5790
|
|
/* 027D5790 */ _t106 = cpu->r[3] + 0x00000208u;
|
|
/* 027D5790 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027D5794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D5798 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D5798 */ _t108 = _t107 & 0x00000001u;
|
|
/* 027D5798 */ if (_t108) goto L_027D579C; else goto L_027D57B4;
|
|
L_027D579C: ; // 0x27d579c
|
|
/* 027D579C */ _t109 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D579C */ cpu->r[3] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027D57A0 */ _t110 = cpu->r[31] + 0x000001A9u;
|
|
/* 027D57A0 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[30]);
|
|
/* 027D57A4 */ _t111 = cpu->r[3] + 0x00000000u;
|
|
/* 027D57A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027D57A8 */ _t112 = cpu->r[9] + 0x0000002Cu;
|
|
/* 027D57A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027D57AC */ cpu->ctr = cpu->r[0];
|
|
/* 027D57B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027D57B4: ; // 0x27d57b4
|
|
/* 027D57B4 */ _t113 = cpu->r[31] + 0x000001ACu;
|
|
/* 027D57B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027D57B8 */ _t114 = cpu->r[3] + 0x00000000u;
|
|
/* 027D57B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t114);
|
|
/* 027D57BC */ _t115 = cpu->r[7] + 0x00000034u;
|
|
/* 027D57BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t115);
|
|
/* 027D57C0 */ cpu->ctr = cpu->r[9];
|
|
/* 027D57C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D57C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D57CC */ Gambit_fn_027D52FC(cpu);
|
|
/* 027D57D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D57D4 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D57D4 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027D57D4 */ if (_t117) goto L_027D57EC; else goto L_027D57D8;
|
|
L_027D57D8: ; // 0x27d57d8
|
|
/* 027D57D8 */ _t118 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027D57D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027D57DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027D57E0 */ _t119 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D57E0 */ _t120 = _t119 & 0x00000001u;
|
|
/* 027D57E0 */ if (_t120) goto L_027D57E4; else goto L_027D57EC;
|
|
L_027D57E4: ; // 0x27d57e4
|
|
/* 027D57E4 */ _t121 = cpu->r[31] + 0x000001B8u;
|
|
/* 027D57E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027D57E8 */ Gambit_fn_027FA068(cpu);
|
|
L_027D57EC: ; // 0x27d57ec
|
|
/* 027D57EC */ _t122 = cpu->r[31] + 0x00000070u;
|
|
/* 027D57EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t122);
|
|
/* 027D57F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D57F4 */ _t123 = cpu->r[12] + 0xFFFF927Cu;
|
|
/* 027D57F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027D57F8 */ _t124 = cpu->r[6] + 0x0000003Cu;
|
|
/* 027D57F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027D57FC */ _t125 = cpu->r[12] + 0x00000154u;
|
|
/* 027D57FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027D5800 */ cpu->ctr = cpu->r[9];
|
|
/* 027D5804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 027D5808 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D580C */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D580C */ _t127 = _t126 & 0x00000001u;
|
|
/* 027D580C */ if (_t127) goto L_027D582C; else goto L_027D5810;
|
|
L_027D5810: ; // 0x27d5810
|
|
/* 027D5810 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D5814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5818 */ /* nop */
|
|
/* 027D581C */ _t128 = cpu->r[1] + 0x000000ACu;
|
|
/* 027D581C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027D5820 */ cpu->lr = cpu->r[0];
|
|
/* 027D5824 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027D5828 */ return;
|
|
L_027D582C: ; // 0x27d582c
|
|
/* 027D582C */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D5834 */ /* nop */
|
|
/* 027D5838 */ _t129 = cpu->r[1] + 0x000000ACu;
|
|
/* 027D5838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027D583C */ cpu->lr = cpu->r[0];
|
|
/* 027D5840 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027D5844 */ return;
|
|
}
|
|
|
|
// fn_027D5848 @ 0x27d5848
|
|
void Gambit_fn_027D5848(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027D5848: ; // 0x27d5848
|
|
/* 027D5848 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 027D5848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D584C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 027D5850 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5850 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D5850 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027D5850 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D5850 */ goto L_027D5854;
|
|
L_027D5854: ; // 0x27d5854
|
|
/* 027D5854 */ _t4 = cpu->r[3] + 0x000001A8u;
|
|
/* 027D5854 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027D5858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D585C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D585C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D585C */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D585C */ goto L_027D5860;
|
|
L_027D5860: ; // 0x27d5860
|
|
/* 027D5860 */ _t7 = cpu->r[3] + 0x000001ACu;
|
|
/* 027D5860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D5864 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D5868 */ _t9 = cpu->r[12] + 0x0000003Cu;
|
|
/* 027D5868 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D586C */ cpu->ctr = cpu->r[12];
|
|
/* 027D5870 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D5878 @ 0x27d5878
|
|
void Gambit_fn_027D5878(CPUState* cpu) {
|
|
uint32_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_027D5878: ; // 0x27d5878
|
|
/* 027D5878 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D5878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5878 */ cpu->r[1] = _t0;
|
|
/* 027D587C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D587C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5880 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5880 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5884 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5888 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D588C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D588C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D5890 */ _t4 = cpu->r[12] + 0xFFFFD868u;
|
|
/* 027D5890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D5890 */ cpu->r[12] = _t4;
|
|
/* 027D5894 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5898 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027D589C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027D58A0 */ cpu->r[4] = cpu->r[4] + 0xFFFFDD70u;
|
|
/* 027D58A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D58A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D58A4 */ if (_t6) goto L_027D58A8; else goto L_027D58BC;
|
|
L_027D58A8: ; // 0x27d58a8
|
|
/* 027D58A8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D58AC */ cpu->r[10] = 0x00000001u;
|
|
/* 027D58B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF5Cu;
|
|
/* 027D58B4 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 027D58B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027D58B8 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 027D58B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027D58BC: ; // 0x27d58bc
|
|
/* 027D58BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D58C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D58C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D58C0 */ if (_t10) goto L_027D58E0; else goto L_027D58C4;
|
|
L_027D58C4: ; // 0x27d58c4
|
|
/* 027D58C4 */ _t11 = cpu->r[31] + 0x00000070u;
|
|
/* 027D58C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D58C8 */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D58C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D58CC */ cpu->ctr = cpu->r[7];
|
|
/* 027D58D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D58D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D58D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D58DC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D58DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D58DC */ if (_t14) goto L_027D58E0; else goto L_027D58E4;
|
|
L_027D58E0: ; // 0x27d58e0
|
|
/* 027D58E0 */ cpu->r[31] = 0x00000000u;
|
|
L_027D58E4: ; // 0x27d58e4
|
|
/* 027D58E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D58E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D58EC */ Gambit_fn_027FC828(cpu);
|
|
/* 027D58F0 */ _t15 = cpu->r[30] + 0x000001A8u;
|
|
/* 027D58F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027D58F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D58F8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D58F8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027D58F8 */ if (_t17) goto L_027D5904; else goto L_027D58FC;
|
|
L_027D58FC: ; // 0x27d58fc
|
|
/* 027D58FC */ cpu->r[0] = 0x00000001u;
|
|
/* 027D5900 */ _t18 = cpu->r[30] + 0x000001A9u;
|
|
/* 027D5900 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_027D5904: ; // 0x27d5904
|
|
/* 027D5904 */ cpu->r[8] = 0x00000000u;
|
|
/* 027D5908 */ _t19 = cpu->r[30] + 0x0000016Bu;
|
|
/* 027D5908 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[8]);
|
|
/* 027D590C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027D590C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5910 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5910 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D5914 */ cpu->lr = cpu->r[0];
|
|
/* 027D5918 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D591C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D5920 */ return;
|
|
}
|
|
|
|
// fn_027D5924 @ 0x27d5924
|
|
void Gambit_fn_027D5924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D5924: ; // 0x27d5924
|
|
/* 027D5924 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027D5924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5924 */ cpu->r[1] = _t0;
|
|
/* 027D5928 */ cpu->r[0] = cpu->lr;
|
|
/* 027D592C */ /* nop */
|
|
/* 027D5930 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D5930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D5934 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D5938 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027D5938 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D593C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D593C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D593C */ if (_t3) goto L_027D5940; else goto L_027D5950;
|
|
L_027D5940: ; // 0x27d5940
|
|
/* 027D5940 */ cpu->r[3] = 0x000001BCu;
|
|
/* 027D5944 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5948 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D5948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D594C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D594C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D594C */ if (_t5) goto L_027D5A80; else goto L_027D5950;
|
|
L_027D5950: ; // 0x27d5950
|
|
/* 027D5950 */ cpu->r[5] = 0x10110000u;
|
|
/* 027D5954 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D5958 */ cpu->r[5] = cpu->r[5] + 0xFFFFDFF4u;
|
|
/* 027D595C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D5960 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027D5964 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027D5964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5968 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D596C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D596C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D596C */ if (_t7) goto L_027D5970; else goto L_027D5980;
|
|
L_027D5970: ; // 0x27d5970
|
|
/* 027D5970 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D5974 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D597C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D597C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D597C */ if (_t9) goto L_027D5990; else goto L_027D5980;
|
|
L_027D5980: ; // 0x27d5980
|
|
/* 027D5980 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5984 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5984 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 027D5988 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF6Cu;
|
|
/* 027D598C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 027D598C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027D5990: ; // 0x27d5990
|
|
/* 027D5990 */ cpu->r[26] = 0x027D0000u;
|
|
/* 027D5994 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5998 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D599C */ _t12 = cpu->r[31] + 0x00000158u;
|
|
/* 027D599C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[29]);
|
|
/* 027D59A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE010u;
|
|
/* 027D59A4 */ cpu->r[8] = cpu->r[8] + 0xFFFFE0D8u;
|
|
/* 027D59A8 */ cpu->r[26] = cpu->r[26] + 0x00005874u;
|
|
/* 027D59AC */ _t13 = cpu->r[31] + 0x00000070u;
|
|
/* 027D59AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027D59B0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D59B4 */ cpu->r[25] = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D59B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D59B8 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 027D59B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 027D59BC */ cpu->r[0] = cpu->r[0] + 0xFFFFE0E8u;
|
|
/* 027D59C0 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
/* 027D59C4 */ cpu->r[28] = 0x00000000u;
|
|
/* 027D59C8 */ _t15 = cpu->r[31] + 0x00000154u;
|
|
/* 027D59C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027D59CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D59CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027D59CC */ if (_t17) goto L_027D59D0; else goto L_027D59E0;
|
|
L_027D59D0: ; // 0x27d59d0
|
|
/* 027D59D0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 027D59D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D59D8 */ cpu->r[25] = cpu->r[3];
|
|
/* 027D59D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D59DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D59DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D59DC */ if (_t19) goto L_027D5A80; else goto L_027D59E0;
|
|
L_027D59E0: ; // 0x27d59e0
|
|
/* 027D59E0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027D59E4 */ Gambit_fn_02821D00(cpu);
|
|
/* 027D59E8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D59EC */ cpu->r[10] = cpu->r[10] + 0xFFFFDFACu;
|
|
/* 027D59F0 */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 027D59F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D59F4 */ _t20 = cpu->r[25] + 0x0000000Cu;
|
|
/* 027D59F4 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 027D59F8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D59F8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D59F8 */ if (_t22) goto L_027D59FC; else goto L_027D5A0C;
|
|
L_027D59FC: ; // 0x27d59fc
|
|
/* 027D59FC */ cpu->r[3] = 0x00000010u;
|
|
/* 027D5A00 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5A08 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5A08 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D5A08 */ if (_t24) goto L_027D5A1C; else goto L_027D5A0C;
|
|
L_027D5A0C: ; // 0x27d5a0c
|
|
/* 027D5A0C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 027D5A0C */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 027D5A10 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 027D5A10 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]);
|
|
/* 027D5A14 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5A14 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 027D5A18 */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D5A18 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
L_027D5A1C: ; // 0x27d5a1c
|
|
/* 027D5A1C */ _t29 = cpu->r[25] + 0x00000020u;
|
|
/* 027D5A1C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 027D5A20 */ cpu->r[30] = cpu->r[25] + 0x00000024u;
|
|
/* 027D5A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5A24 */ _t30 = cpu->r[25] + 0x00000038u;
|
|
/* 027D5A24 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[29]);
|
|
/* 027D5A28 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5A28 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027D5A28 */ if (_t32) goto L_027D5A7C; else goto L_027D5A2C;
|
|
L_027D5A2C: ; // 0x27d5a2c
|
|
/* 027D5A2C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5A2C */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
|
|
/* 027D5A30 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5A34 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5A34 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[28]);
|
|
/* 027D5A38 */ _t35 = cpu->r[1] + 0x0000000Au;
|
|
/* 027D5A38 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[27]);
|
|
/* 027D5A3C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5A3C */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D5A3C */ if (_t37) goto L_027D5A40; else goto L_027D5A50;
|
|
L_027D5A40: ; // 0x27d5a40
|
|
/* 027D5A40 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D5A44 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5A4C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5A4C */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D5A4C */ if (_t39) goto L_027D5A70; else goto L_027D5A50;
|
|
L_027D5A50: ; // 0x27d5a50
|
|
/* 027D5A50 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5A54 */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 027D5A54 */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 027D5A58 */ cpu->r[0] = cpu->r[0] + 0xFFFFDFBCu;
|
|
/* 027D5A5C */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5A5C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 027D5A60 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5A60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D5A64 */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 027D5A64 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 027D5A68 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5A68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D5A6C */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D5A6C */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
L_027D5A70: ; // 0x27d5a70
|
|
/* 027D5A70 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5A74 */ cpu->r[0] = cpu->r[0] + 0xFFFFDFD4u;
|
|
/* 027D5A78 */ _t46 = cpu->r[30] + 0x00000000u;
|
|
/* 027D5A78 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
L_027D5A7C: ; // 0x27d5a7c
|
|
/* 027D5A7C */ _t47 = cpu->r[25] + 0x00000020u;
|
|
/* 027D5A7C */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
L_027D5A80: ; // 0x27d5a80
|
|
/* 027D5A80 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D5A84 */ /* nop */
|
|
/* 027D5A88 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 027D5A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D5A8C */ cpu->lr = cpu->r[0];
|
|
/* 027D5A90 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D5A94 */ return;
|
|
}
|
|
|
|
// fn_027D5A98 @ 0x27d5a98
|
|
void Gambit_fn_027D5A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D5A98: ; // 0x27d5a98
|
|
/* 027D5A98 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D5A9C */ _t0 = cpu->r[12] + 0xFFFF9578u;
|
|
/* 027D5A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D5AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D5AA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5AA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D5AA4 */ if (_t2) goto L_027D5AA8; else goto L_027D5AB8;
|
|
L_027D5AA8: ; // 0x27d5aa8
|
|
/* 027D5AA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D5AAC */ _t3 = cpu->r[12] + 0xFFFF9234u;
|
|
/* 027D5AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D5AB0 */ _t4 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027D5AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D5AB4 */ return;
|
|
L_027D5AB8: ; // 0x27d5ab8
|
|
/* 027D5AB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D5ABC */ _t5 = cpu->r[11] + 0xFFFF9570u;
|
|
/* 027D5ABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D5AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D5AC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5AC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5AC4 */ if (_t7) goto L_027D5AC8; else goto L_027D5ADC;
|
|
L_027D5AC8: ; // 0x27d5ac8
|
|
/* 027D5AC8 */ _t8 = cpu->r[12] + 0x00000058u;
|
|
/* 027D5AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D5ACC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D5AD0 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 027D5AD4 */ _t9 = cpu->r[11] + 0x00000044u;
|
|
/* 027D5AD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D5AD8 */ return;
|
|
L_027D5ADC: ; // 0x27d5adc
|
|
/* 027D5ADC */ _t10 = cpu->r[11] + 0x00000058u;
|
|
/* 027D5ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D5AE0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D5AE4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027D5AE8 */ _t11 = cpu->r[12] + 0x00000044u;
|
|
/* 027D5AE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D5AEC */ return;
|
|
}
|
|
|
|
// fn_027D5AF0 @ 0x27d5af0
|
|
void Gambit_fn_027D5AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027D5AF0: ; // 0x27d5af0
|
|
/* 027D5AF0 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 027D5AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5AF0 */ cpu->r[1] = _t0;
|
|
/* 027D5AF4 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027D5AF4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 027D5AF8 */ /* nop */
|
|
/* 027D5AFC */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 027D5AFC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027D5B00 */ /* nop */
|
|
/* 027D5B04 */ /* nop */
|
|
/* 027D5B08 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5B0C */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 027D5B0C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027D5B10 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027D5B10 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 027D5B14 */ /* nop */
|
|
/* 027D5B18 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 027D5B18 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 027D5B1C */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 027D5B1C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 027D5B20 */ /* nop */
|
|
/* 027D5B24 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 027D5B24 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 027D5B28 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 027D5B2C */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 027D5B2C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 027D5B30 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027D5B34 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027D5B38 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D5B38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D5B3C */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 027D5B40 */ _t10 = cpu->r[7] + 0x00002C28u;
|
|
/* 027D5B40 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027D5B40 */ cpu->r[7] = _t10;
|
|
/* 027D5B44 */ cpu->r[5] = 0x101F0000u;
|
|
/* 027D5B48 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027D5B4C */ _t11 = cpu->r[5] + 0x00002C30u;
|
|
/* 027D5B4C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 027D5B4C */ cpu->r[5] = _t11;
|
|
/* 027D5B50 */ cpu->r[10] = cpu->r[10] + 0x00002C40u;
|
|
/* 027D5B54 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 027D5B54 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027D5B58 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027D5B5C */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 027D5B5C */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 027D5B60 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 027D5B64 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 027D5B64 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 027D5B68 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027D5B6C */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 027D5B6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D5B70 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027D5B74 */ _t16 = cpu->r[12] + 0x00002C38u;
|
|
/* 027D5B74 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 027D5B74 */ cpu->r[12] = _t16;
|
|
/* 027D5B78 */ cpu->r[11] = 0x00000002u;
|
|
/* 027D5B7C */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 027D5B7C */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D5B80 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 027D5B80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D5B84 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5B84 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 027D5B88 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5B8C */ _t21 = cpu->r[31] + 0x00002C54u;
|
|
/* 027D5B8C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 027D5B8C */ cpu->r[31] = _t21;
|
|
/* 027D5B90 */ cpu->r[0] = 0x00000004u;
|
|
/* 027D5B94 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 027D5B94 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 027D5B98 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027D5B9C */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027D5B9C */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D5BA0 */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 027D5BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D5BA0 */ cpu->r[12] = _t24;
|
|
/* 027D5BA4 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 027D5BA4 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 027D5BA8 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 027D5BA8 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 027D5BAC */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 027D5BAC */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 027D5BB0 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D5BB0 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 027D5BB4 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 027D5BB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 027D5BB8 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 027D5BB8 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 027D5BBC */ cpu->r[7] = 0x101F0000u;
|
|
/* 027D5BC0 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 027D5BC0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 027D5BC4 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027D5BC8 */ _t32 = cpu->r[7] + 0x00002C50u;
|
|
/* 027D5BC8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 027D5BCC */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 027D5BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D5BCC */ cpu->r[6] = _t33;
|
|
/* 027D5BD0 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 027D5BD0 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 027D5BD4 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 027D5BD4 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 027D5BD8 */ cpu->r[5] = 0x101F0000u;
|
|
/* 027D5BDC */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D5BDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D5BE0 */ _t37 = cpu->r[5] + 0x00002C48u;
|
|
/* 027D5BE0 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 027D5BE0 */ cpu->r[5] = _t37;
|
|
/* 027D5BE4 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 027D5BE4 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 027D5BE8 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 027D5BE8 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 027D5BEC */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 027D5BEC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027D5BF0 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 027D5BF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D5BF4 */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 027D5BF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D5BF8 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 027D5BF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027D5BFC */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027D5BFC */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 027D5C00 */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 027D5C00 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 027D5C04 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 027D5C04 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 027D5C08 */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D5C08 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 027D5C0C */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 027D5C0C */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 027D5C10 */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 027D5C10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027D5C14 */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027D5C14 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 027D5C18 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027D5C1C */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 027D5C1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D5C20 */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 027D5C20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D5C20 */ cpu->r[11] = _t52;
|
|
/* 027D5C24 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 027D5C24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D5C28 */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027D5C28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D5C2C */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 027D5C2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D5C30 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 027D5C30 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 027D5C34 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 027D5C34 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 027D5C38 */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 027D5C38 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 027D5C3C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027D5C40 */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D5C40 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 027D5C44 */ cpu->r[5] = 0x101F0000u;
|
|
/* 027D5C48 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 027D5C48 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 027D5C4C */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 027D5C50 */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 027D5C50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027D5C50 */ cpu->r[12] = _t61;
|
|
/* 027D5C54 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 027D5C54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D5C58 */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 027D5C58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027D5C5C */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 027D5C5C */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 027D5C60 */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 027D5C60 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 027D5C64 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 027D5C64 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 027D5C68 */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 027D5C68 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 027D5C6C */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 027D5C6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027D5C70 */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D5C70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027D5C74 */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 027D5C74 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 027D5C78 */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 027D5C78 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 027D5C7C */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027D5C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027D5C80 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027D5C80 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 027D5C84 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027D5C84 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 027D5C88 */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 027D5C88 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 027D5C8C */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 027D5C8C */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 027D5C90 */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 027D5C90 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 027D5C94 */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 027D5C94 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 027D5C98 */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 027D5C98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027D5C9C */ cpu->r[10] = 0x101F0000u;
|
|
/* 027D5CA0 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027D5CA0 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 027D5CA4 */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 027D5CA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027D5CA4 */ cpu->r[10] = _t81;
|
|
/* 027D5CA8 */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 027D5CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027D5CAC */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 027D5CAC */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 027D5CB0 */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 027D5CB0 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 027D5CB4 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 027D5CB4 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 027D5CB8 */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 027D5CB8 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 027D5CBC */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5CC0 */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 027D5CC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027D5CC4 */ _t88 = cpu->r[12] + 0xFFFFE00Cu;
|
|
/* 027D5CC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027D5CC8 */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 027D5CC8 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 027D5CCC */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 027D5CCC */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 027D5CD0 */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 027D5CD0 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 027D5CD4 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 027D5CD4 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 027D5CD8 */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 027D5CD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027D5CDC */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 027D5CDC */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 027D5CE0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5CE4 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 027D5CE4 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 027D5CE8 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 027D5CEC */ _t96 = cpu->r[12] + 0xFFFFE004u;
|
|
/* 027D5CEC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027D5CF0 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 027D5CF0 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 027D5CF4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5CF8 */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 027D5CF8 */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 027D5CFC */ _t99 = cpu->r[12] + 0xFFFFE000u;
|
|
/* 027D5CFC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027D5D00 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D5D04 */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027D5D04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027D5D08 */ _t101 = cpu->r[11] + 0xFFFFE008u;
|
|
/* 027D5D08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027D5D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 027D5D10 */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 027D5D10 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 027D5D14 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5D14 */ _t104 = _t103 & 0x00000001u;
|
|
/* 027D5D14 */ if (_t104) goto L_027D5D18; else goto L_027D5D28;
|
|
L_027D5D18: ; // 0x27d5d18
|
|
/* 027D5D18 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D5D1C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5D24 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5D24 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027D5D24 */ if (_t106) goto L_027D5D38; else goto L_027D5D28;
|
|
L_027D5D28: ; // 0x27d5d28
|
|
/* 027D5D28 */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 027D5D28 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 027D5D2C */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 027D5D2C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 027D5D30 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5D30 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 027D5D34 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D5D34 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_027D5D38: ; // 0x27d5d38
|
|
/* 027D5D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 027D5D3C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 027D5D40 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5D40 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027D5D40 */ if (_t112) goto L_027D5D44; else goto L_027D5D54;
|
|
L_027D5D44: ; // 0x27d5d44
|
|
/* 027D5D44 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D5D48 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D5D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5D50 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5D50 */ _t114 = _t113 & 0x00000001u;
|
|
/* 027D5D50 */ if (_t114) goto L_027D5D64; else goto L_027D5D54;
|
|
L_027D5D54: ; // 0x27d5d54
|
|
/* 027D5D54 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 027D5D54 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 027D5D58 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 027D5D58 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 027D5D5C */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 027D5D5C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 027D5D60 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D5D60 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_027D5D64: ; // 0x27d5d64
|
|
/* 027D5D64 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027D5D68 */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 027D5D6C */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 027D5D6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027D5D70 */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 027D5D70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027D5D74 */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 027D5D74 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 027D5D78 */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 027D5D78 */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 027D5D7C */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027D5D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027D5D80 */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 027D5D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027D5D84 */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 027D5D84 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 027D5D88 */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 027D5D88 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 027D5D8C */ /* nop */
|
|
/* 027D5D90 */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 027D5D90 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027D5D94 */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 027D5D94 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 027D5D98 */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 027D5D98 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 027D5D9C */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 027D5D9C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 027D5DA0 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 027D5DA0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 027D5DA4 */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 027D5DA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 027D5DA8 */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 027D5DA8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 027D5DAC */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 027D5DAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 027D5DB0 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D5DB0 */ _t136 = _t135 & 0x00000001u;
|
|
/* 027D5DB0 */ if (_t136) goto L_027D5DB4; // else: addr-0 trap, fall-through
|
|
L_027D5DB4: ; // 0x27d5db4
|
|
/* 027D5DB4 */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027D5DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 027D5DB8 */ cpu->lr = cpu->r[0];
|
|
/* 027D5DBC */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 027D5DC0 */ return;
|
|
}
|
|
|
|
// fn_027D5DC4 @ 0x27d5dc4
|
|
void Gambit_fn_027D5DC4(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_027D5DC4: ; // 0x27d5dc4
|
|
/* 027D5DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D5DC8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5DC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D5DC8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D5DC8 */ goto L_027D5DCC;
|
|
L_027D5DCC: ; // 0x27d5dcc
|
|
/* 027D5DCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5DD0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5DD0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D5DD0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D5DD0 */ goto L_027D5DD4;
|
|
L_027D5DD4: ; // 0x27d5dd4
|
|
/* 027D5DD4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D5DDC @ 0x27d5ddc
|
|
void Gambit_fn_027D5DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D5DDC: ; // 0x27d5ddc
|
|
/* 027D5DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D5DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5DDC */ cpu->r[1] = _t0;
|
|
/* 027D5DE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5DE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5DE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5DE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5DE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5DEC */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5DF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5DF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D5DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5DF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D5DF4 */ if (_t5) goto L_027D5E38; else goto L_027D5DF8;
|
|
L_027D5DF8: ; // 0x27d5df8
|
|
/* 027D5DF8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5DFC */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D5E00 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF7Cu;
|
|
/* 027D5E04 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5E08 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5E08 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D5E0C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5E10 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D5E14 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5E18 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5E1C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5E20 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5E24 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D5E28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5E2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D5E2C */ if (_t8) goto L_027D5E38; else goto L_027D5E30;
|
|
L_027D5E30: ; // 0x27d5e30
|
|
/* 027D5E30 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5E34 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5E38: ; // 0x27d5e38
|
|
/* 027D5E38 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D5E3C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5E3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D5E40 */ cpu->lr = cpu->r[0];
|
|
/* 027D5E44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D5E48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D5E4C */ return;
|
|
}
|
|
|
|
// fn_027D5E50 @ 0x27d5e50
|
|
void Gambit_fn_027D5E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D5E50: ; // 0x27d5e50
|
|
/* 027D5E50 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5E54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D5E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5E54 */ cpu->r[1] = _t0;
|
|
/* 027D5E58 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5E5C */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5E60 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5E64 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D5E68 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5E6C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5E6C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027D5E70 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5E70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D5E74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5E74 */ if (_t7) goto L_027D5ED8; else goto L_027D5E78;
|
|
L_027D5E78: ; // 0x27d5e78
|
|
/* 027D5E78 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D5E7C */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 027D5E7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027D5E80 */ cpu->r[10] = cpu->r[10] + 0xFFFFDFACu;
|
|
/* 027D5E84 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5E8C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D5E8C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027D5E90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5E90 */ if (_t11) goto L_027D5EBC; else goto L_027D5E94;
|
|
L_027D5E94: ; // 0x27d5e94
|
|
/* 027D5E94 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D5E94 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D5E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D5E9C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E9C */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D5E9C */ if (_t14) goto L_027D5EB8; else goto L_027D5EA0;
|
|
L_027D5EA0: ; // 0x27d5ea0
|
|
/* 027D5EA0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 027D5EA4 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D5EA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027D5EA8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D5EAC */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5EB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D5EB4 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5EB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_027D5EB8: ; // 0x27d5eb8
|
|
/* 027D5EB8 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 027D5EB8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_027D5EBC: ; // 0x27d5ebc
|
|
/* 027D5EBC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5EC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5EC4 */ Gambit_fn_02821E68(cpu);
|
|
/* 027D5EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5ECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5ECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D5ECC */ if (_t20) goto L_027D5ED8; else goto L_027D5ED0;
|
|
L_027D5ED0: ; // 0x27d5ed0
|
|
/* 027D5ED0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5ED4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5ED8: ; // 0x27d5ed8
|
|
/* 027D5ED8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5ED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D5EDC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D5EE0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D5EE4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D5EE8 */ cpu->lr = cpu->r[0];
|
|
/* 027D5EEC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D5EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D5EF4 */ return;
|
|
}
|
|
|
|
// fn_027D5E54 @ 0x27d5e54
|
|
void Gambit_fn_027D5E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D5E54: ; // 0x27d5e54
|
|
/* 027D5E54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D5E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5E54 */ cpu->r[1] = _t0;
|
|
/* 027D5E58 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5E5C */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5E60 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5E64 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D5E68 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5E6C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5E6C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027D5E70 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5E70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D5E74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5E74 */ if (_t7) goto L_027D5ED8; else goto L_027D5E78;
|
|
L_027D5E78: ; // 0x27d5e78
|
|
/* 027D5E78 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D5E7C */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 027D5E7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027D5E80 */ cpu->r[10] = cpu->r[10] + 0xFFFFDFACu;
|
|
/* 027D5E84 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5E8C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D5E8C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027D5E90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5E90 */ if (_t11) goto L_027D5EBC; else goto L_027D5E94;
|
|
L_027D5E94: ; // 0x27d5e94
|
|
/* 027D5E94 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D5E94 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D5E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D5E9C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5E9C */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D5E9C */ if (_t14) goto L_027D5EB8; else goto L_027D5EA0;
|
|
L_027D5EA0: ; // 0x27d5ea0
|
|
/* 027D5EA0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 027D5EA4 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D5EA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027D5EA8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D5EAC */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5EAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5EB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D5EB4 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5EB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_027D5EB8: ; // 0x27d5eb8
|
|
/* 027D5EB8 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 027D5EB8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_027D5EBC: ; // 0x27d5ebc
|
|
/* 027D5EBC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5EC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5EC4 */ Gambit_fn_02821E68(cpu);
|
|
/* 027D5EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5ECC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5ECC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D5ECC */ if (_t20) goto L_027D5ED8; else goto L_027D5ED0;
|
|
L_027D5ED0: ; // 0x27d5ed0
|
|
/* 027D5ED0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5ED4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5ED8: ; // 0x27d5ed8
|
|
/* 027D5ED8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5ED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D5EDC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D5EE0 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D5EE4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D5EE8 */ cpu->lr = cpu->r[0];
|
|
/* 027D5EEC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D5EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D5EF4 */ return;
|
|
}
|
|
|
|
// fn_027D5EF8 @ 0x27d5ef8
|
|
void Gambit_fn_027D5EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027D5EF8: ; // 0x27d5ef8
|
|
/* 027D5EF8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D5EFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D5EFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5EFC */ cpu->r[1] = _t0;
|
|
/* 027D5F00 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5F00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5F04 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5F08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5F08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5F0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5F0C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D5F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5F14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5F14 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027D5F18 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5F18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D5F1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5F1C */ if (_t7) goto L_027D5FE4; else goto L_027D5F20;
|
|
L_027D5F20: ; // 0x27d5f20
|
|
/* 027D5F20 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D5F24 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5F28 */ cpu->r[11] = cpu->r[11] + 0xFFFFE0D8u;
|
|
/* 027D5F2C */ cpu->r[12] = cpu->r[12] + 0xFFFFE0E8u;
|
|
/* 027D5F30 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5F30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027D5F34 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5F38 */ cpu->r[0] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5F3C */ _t9 = cpu->r[30] + 0x00000154u;
|
|
/* 027D5F3C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027D5F40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5F40 */ if (_t11) goto L_027D5F90; else goto L_027D5F44;
|
|
L_027D5F44: ; // 0x27d5f44
|
|
/* 027D5F44 */ _t12 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F44 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027D5F48 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D5F4C */ cpu->r[9] = cpu->r[9] + 0xFFFFDFACu;
|
|
/* 027D5F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D5F54 */ _t13 = cpu->r[30] + 0x00000178u;
|
|
/* 027D5F54 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 027D5F58 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F58 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D5F58 */ if (_t15) goto L_027D5F84; else goto L_027D5F5C;
|
|
L_027D5F5C: ; // 0x27d5f5c
|
|
/* 027D5F5C */ _t16 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D5F64 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F64 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D5F64 */ if (_t18) goto L_027D5F80; else goto L_027D5F68;
|
|
L_027D5F68: ; // 0x27d5f68
|
|
/* 027D5F68 */ cpu->r[3] = cpu->r[30] + 0x0000017Cu;
|
|
/* 027D5F6C */ _t19 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F6C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 027D5F70 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D5F74 */ _t20 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5F78 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D5F7C */ _t21 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F7C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_027D5F80: ; // 0x27d5f80
|
|
/* 027D5F80 */ _t22 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F80 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
L_027D5F84: ; // 0x27d5f84
|
|
/* 027D5F84 */ cpu->r[3] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F88 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5F8C */ Gambit_fn_02821E68(cpu);
|
|
L_027D5F90: ; // 0x27d5f90
|
|
/* 027D5F90 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D5F94 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5F98 */ Gambit_fn_027D4F6C(cpu);
|
|
/* 027D5F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5FA0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FA0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D5FA0 */ if (_t24) goto L_027D5FD4; else goto L_027D5FA4;
|
|
L_027D5FA4: ; // 0x27d5fa4
|
|
/* 027D5FA4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5FA8 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D5FAC */ cpu->r[0] = cpu->r[0] + 0xFFFFDF7Cu;
|
|
/* 027D5FB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FB4 */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5FB4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027D5FB8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FBC */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D5FC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FCC */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5FD0 */ Gambit_fn_028136EC(cpu);
|
|
L_027D5FD4: ; // 0x27d5fd4
|
|
/* 027D5FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5FD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D5FD8 */ if (_t27) goto L_027D5FE4; else goto L_027D5FDC;
|
|
L_027D5FDC: ; // 0x27d5fdc
|
|
/* 027D5FDC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FE0 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5FE4: ; // 0x27d5fe4
|
|
/* 027D5FE4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5FE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D5FE8 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D5FEC */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D5FF0 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5FF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D5FF4 */ cpu->lr = cpu->r[0];
|
|
/* 027D5FF8 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D5FFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6000 */ return;
|
|
}
|
|
|
|
// fn_027D5EFC @ 0x27d5efc
|
|
void Gambit_fn_027D5EFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027D5EFC: ; // 0x27d5efc
|
|
/* 027D5EFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D5EFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D5EFC */ cpu->r[1] = _t0;
|
|
/* 027D5F00 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5F00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D5F04 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D5F08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5F08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D5F0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5F0C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D5F10 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D5F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5F14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5F14 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027D5F18 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5F18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D5F1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D5F1C */ if (_t7) goto L_027D5FE4; else goto L_027D5F20;
|
|
L_027D5F20: ; // 0x27d5f20
|
|
/* 027D5F20 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D5F24 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D5F28 */ cpu->r[11] = cpu->r[11] + 0xFFFFE0D8u;
|
|
/* 027D5F2C */ cpu->r[12] = cpu->r[12] + 0xFFFFE0E8u;
|
|
/* 027D5F30 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5F30 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027D5F34 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D5F38 */ cpu->r[0] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5F3C */ _t9 = cpu->r[30] + 0x00000154u;
|
|
/* 027D5F3C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027D5F40 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D5F40 */ if (_t11) goto L_027D5F90; else goto L_027D5F44;
|
|
L_027D5F44: ; // 0x27d5f44
|
|
/* 027D5F44 */ _t12 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F44 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027D5F48 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D5F4C */ cpu->r[9] = cpu->r[9] + 0xFFFFDFACu;
|
|
/* 027D5F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D5F54 */ _t13 = cpu->r[30] + 0x00000178u;
|
|
/* 027D5F54 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 027D5F58 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F58 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D5F58 */ if (_t15) goto L_027D5F84; else goto L_027D5F5C;
|
|
L_027D5F5C: ; // 0x27d5f5c
|
|
/* 027D5F5C */ _t16 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D5F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D5F64 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5F64 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D5F64 */ if (_t18) goto L_027D5F80; else goto L_027D5F68;
|
|
L_027D5F68: ; // 0x27d5f68
|
|
/* 027D5F68 */ cpu->r[3] = cpu->r[30] + 0x0000017Cu;
|
|
/* 027D5F6C */ _t19 = cpu->r[30] + 0x00000188u;
|
|
/* 027D5F6C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 027D5F70 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D5F74 */ _t20 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D5F78 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D5F7C */ _t21 = cpu->r[28] + 0x00000008u;
|
|
/* 027D5F7C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_027D5F80: ; // 0x27d5f80
|
|
/* 027D5F80 */ _t22 = cpu->r[30] + 0x000001A4u;
|
|
/* 027D5F80 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
L_027D5F84: ; // 0x27d5f84
|
|
/* 027D5F84 */ cpu->r[3] = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D5F88 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5F8C */ Gambit_fn_02821E68(cpu);
|
|
L_027D5F90: ; // 0x27d5f90
|
|
/* 027D5F90 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D5F94 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5F98 */ Gambit_fn_027D4F6C(cpu);
|
|
/* 027D5F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D5FA0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FA0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D5FA0 */ if (_t24) goto L_027D5FD4; else goto L_027D5FA4;
|
|
L_027D5FA4: ; // 0x27d5fa4
|
|
/* 027D5FA4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D5FA8 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D5FAC */ cpu->r[0] = cpu->r[0] + 0xFFFFDF7Cu;
|
|
/* 027D5FB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FB4 */ _t25 = cpu->r[30] + 0x00000020u;
|
|
/* 027D5FB4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027D5FB8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FBC */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D5FC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D5FC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D5FC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FCC */ cpu->r[4] = 0x00000000u;
|
|
/* 027D5FD0 */ Gambit_fn_028136EC(cpu);
|
|
L_027D5FD4: ; // 0x27d5fd4
|
|
/* 027D5FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D5FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D5FD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D5FD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D5FD8 */ if (_t27) goto L_027D5FE4; else goto L_027D5FDC;
|
|
L_027D5FDC: ; // 0x27d5fdc
|
|
/* 027D5FDC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D5FE0 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D5FE4: ; // 0x27d5fe4
|
|
/* 027D5FE4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027D5FE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D5FE8 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D5FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D5FEC */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D5FEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D5FF0 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027D5FF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D5FF4 */ cpu->lr = cpu->r[0];
|
|
/* 027D5FF8 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027D5FF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D5FFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6000 */ return;
|
|
}
|
|
|
|
// fn_027D6004 @ 0x27d6004
|
|
void Gambit_fn_027D6004(CPUState* cpu) {
|
|
L_027D6004: ; // 0x27d6004
|
|
/* 027D6004 */ return;
|
|
}
|
|
|
|
// fn_027D6008 @ 0x27d6008
|
|
void Gambit_fn_027D6008(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D6008: ; // 0x27d6008
|
|
/* 027D6008 */ cpu->r[12] = cpu->r[3];
|
|
/* 027D600C */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027D600C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D6010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6014 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6014 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D6014 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6014 */ goto L_027D6018;
|
|
L_027D6018: ; // 0x27d6018
|
|
/* 027D6018 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027D6018 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027D601C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D6020 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6020 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6020 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6020 */ goto L_027D6024;
|
|
L_027D6024: ; // 0x27d6024
|
|
/* 027D6024 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027D6024 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027D6028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D602C */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 027D6030 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6030 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D6030 */ if (_t8) goto L_027D6034; else goto L_027D6040;
|
|
L_027D6034: ; // 0x27d6034
|
|
/* 027D6034 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D6034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D6038 */ cpu->ctr = cpu->r[10];
|
|
/* 027D603C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D6040: ; // 0x27d6040
|
|
/* 027D6040 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027D6040 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027D6044 */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 027D6044 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D6048 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D604C */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 027D6050 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027D6050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D6054 */ cpu->ctr = cpu->r[10];
|
|
/* 027D6058 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D605C @ 0x27d605c
|
|
void Gambit_fn_027D605C(CPUState* cpu) {
|
|
L_027D605C: ; // 0x27d605c
|
|
/* 027D605C */ return;
|
|
}
|
|
|
|
// fn_027D6060 @ 0x27d6060
|
|
void Gambit_fn_027D6060(CPUState* cpu) {
|
|
L_027D6060: ; // 0x27d6060
|
|
/* 027D6060 */ return;
|
|
}
|
|
|
|
// fn_027D6064 @ 0x27d6064
|
|
void Gambit_fn_027D6064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D6064: ; // 0x27d6064
|
|
/* 027D6064 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D6068 */ _t0 = cpu->r[9] + 0xFFFFDAF0u;
|
|
/* 027D6068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D606C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D6070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027D6074 */ cpu->r[11] = cpu->r[11] + 0x0000147Cu;
|
|
/* 027D6078 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6078 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D6078 */ if (_t2) goto L_027D607C; else goto L_027D6094;
|
|
L_027D607C: ; // 0x27d607c
|
|
/* 027D607C */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6080 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D6084 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6088 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF9Cu;
|
|
/* 027D608C */ _t3 = cpu->r[12] + 0xFFFFDAF0u;
|
|
/* 027D608C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D6090 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 027D6090 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_027D6094: ; // 0x27d6094
|
|
/* 027D6094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027D6098 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6098 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D6098 */ if (_t6) goto L_027D609C; else goto L_027D60A4;
|
|
L_027D609C: ; // 0x27d609c
|
|
/* 027D609C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D60A0 */ return;
|
|
L_027D60A4: ; // 0x27d60a4
|
|
/* 027D60A4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D60A8 */ _t7 = cpu->r[12] + 0xFFFFDAE4u;
|
|
/* 027D60A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D60AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D60B0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D60B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027D60B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D60B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D60B8 */ if (_t9) goto L_027D60BC; else goto L_027D60D4;
|
|
L_027D60BC: ; // 0x27d60bc
|
|
/* 027D60BC */ cpu->r[11] = 0x10110000u;
|
|
/* 027D60C0 */ cpu->r[10] = 0x00000001u;
|
|
/* 027D60C4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D60C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDF8Cu;
|
|
/* 027D60CC */ _t10 = cpu->r[9] + 0xFFFFDAE4u;
|
|
/* 027D60CC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027D60D0 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 027D60D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_027D60D4: ; // 0x27d60d4
|
|
/* 027D60D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D60D8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D60D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D60D8 */ if (_t13) goto L_027D60DC; else goto L_027D60E4;
|
|
L_027D60DC: ; // 0x27d60dc
|
|
/* 027D60DC */ cpu->r[0] = 0x00000001u;
|
|
/* 027D60E0 */ goto L_027D6158;
|
|
L_027D60E4: ; // 0x27d60e4
|
|
/* 027D60E4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D60E8 */ _t14 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 027D60E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D60E8 */ cpu->r[10] = _t14;
|
|
/* 027D60EC */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D60F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D60F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD70u;
|
|
/* 027D60F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D60F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D60F8 */ if (_t16) goto L_027D60FC; else goto L_027D6110;
|
|
L_027D60FC: ; // 0x27d60fc
|
|
/* 027D60FC */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6100 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D6104 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF5Cu;
|
|
/* 027D6108 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 027D6108 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D610C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027D610C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_027D6110: ; // 0x27d6110
|
|
/* 027D6110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027D6114 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6114 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D6114 */ if (_t20) goto L_027D6118; else goto L_027D6120;
|
|
L_027D6118: ; // 0x27d6118
|
|
/* 027D6118 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D611C */ goto L_027D6158;
|
|
L_027D6120: ; // 0x27d6120
|
|
/* 027D6120 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D6124 */ _t21 = cpu->r[9] + 0xFFFFD4FCu;
|
|
/* 027D6124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D6124 */ cpu->r[9] = _t21;
|
|
/* 027D6128 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D612C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6130 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD6Cu;
|
|
/* 027D6134 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6134 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D6134 */ if (_t23) goto L_027D6138; else goto L_027D614C;
|
|
L_027D6138: ; // 0x27d6138
|
|
/* 027D6138 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D613C */ cpu->r[11] = 0x00000001u;
|
|
/* 027D6140 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF34u;
|
|
/* 027D6144 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 027D6144 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027D6148 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6148 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_027D614C: ; // 0x27d614c
|
|
/* 027D614C */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 027D6150 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 027D6154 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027D6158: ; // 0x27d6158
|
|
/* 027D6158 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D615C */ return;
|
|
}
|
|
|
|
// fn_027D6160 @ 0x27d6160
|
|
void Gambit_fn_027D6160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D6160: ; // 0x27d6160
|
|
/* 027D6160 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6164 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D6164 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6164 */ cpu->r[1] = _t0;
|
|
/* 027D6168 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6168 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D616C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D616C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6170 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6170 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D6174 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6174 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D6174 */ if (_t4) goto L_027D6178; else goto L_027D6188;
|
|
L_027D6178: ; // 0x27d6178
|
|
/* 027D6178 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D617C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6180 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6184 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6184 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D6184 */ if (_t6) goto L_027D61EC; else goto L_027D6188;
|
|
L_027D6188: ; // 0x27d6188
|
|
/* 027D6188 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D618C */ cpu->r[0] = cpu->r[0] + 0xFFFFE108u;
|
|
/* 027D6190 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027D6194 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027D6194 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D6198 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D619C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D61A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D61A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D61A0 */ if (_t9) goto L_027D61A8; else goto L_027D61A4;
|
|
L_027D61A4: ; // 0x27d61a4
|
|
/* 027D61A4 */ Gambit_fn_027E5FC8(cpu);
|
|
L_027D61A8: ; // 0x27d61a8
|
|
/* 027D61A8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027D61AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61AC */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 027D61B0 */ _t11 = cpu->r[8] + 0x00005BCCu;
|
|
/* 027D61B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D61B0 */ cpu->r[8] = _t11;
|
|
/* 027D61B4 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 027D61B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 027D61B8 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 027D61B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D61BC */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 027D61BC */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027D61C0 */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 027D61C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D61C4 */ _t16 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027D61C4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 027D61C8 */ _t17 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027D61C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D61CC */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 027D61CC */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 027D61D0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D61D4 */ Gambit_fn_027E5CE0(cpu);
|
|
/* 027D61D8 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D61DC */ cpu->r[0] = 0x00000000u;
|
|
/* 027D61E0 */ _t21 = cpu->r[11] + 0x00000024u;
|
|
/* 027D61E0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027D61E4 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D61E8 */ _t23 = cpu->r[12] + 0x00000028u;
|
|
/* 027D61E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_027D61EC: ; // 0x27d61ec
|
|
/* 027D61EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027D61EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D61F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D61F4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D61F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D61F8 */ cpu->lr = cpu->r[0];
|
|
/* 027D61FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D6200 */ return;
|
|
}
|
|
|
|
// fn_027D6164 @ 0x27d6164
|
|
void Gambit_fn_027D6164(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D6164: ; // 0x27d6164
|
|
/* 027D6164 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D6164 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6164 */ cpu->r[1] = _t0;
|
|
/* 027D6168 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6168 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D616C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D616C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6170 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6170 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D6174 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6174 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D6174 */ if (_t4) goto L_027D6178; else goto L_027D6188;
|
|
L_027D6178: ; // 0x27d6178
|
|
/* 027D6178 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D617C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6180 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6184 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6184 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D6184 */ if (_t6) goto L_027D61EC; else goto L_027D6188;
|
|
L_027D6188: ; // 0x27d6188
|
|
/* 027D6188 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D618C */ cpu->r[0] = cpu->r[0] + 0xFFFFE108u;
|
|
/* 027D6190 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027D6194 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027D6194 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D6198 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D619C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D61A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D61A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D61A0 */ if (_t9) goto L_027D61A8; else goto L_027D61A4;
|
|
L_027D61A4: ; // 0x27d61a4
|
|
/* 027D61A4 */ Gambit_fn_027E5FC8(cpu);
|
|
L_027D61A8: ; // 0x27d61a8
|
|
/* 027D61A8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027D61AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61AC */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 027D61B0 */ _t11 = cpu->r[8] + 0x00005BCCu;
|
|
/* 027D61B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D61B0 */ cpu->r[8] = _t11;
|
|
/* 027D61B4 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 027D61B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 027D61B8 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 027D61B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D61BC */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 027D61BC */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027D61C0 */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 027D61C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D61C4 */ _t16 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027D61C4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 027D61C8 */ _t17 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027D61C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D61CC */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 027D61CC */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 027D61D0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D61D4 */ Gambit_fn_027E5CE0(cpu);
|
|
/* 027D61D8 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D61DC */ cpu->r[0] = 0x00000000u;
|
|
/* 027D61E0 */ _t21 = cpu->r[11] + 0x00000024u;
|
|
/* 027D61E0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027D61E4 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 027D61E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D61E8 */ _t23 = cpu->r[12] + 0x00000028u;
|
|
/* 027D61E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_027D61EC: ; // 0x27d61ec
|
|
/* 027D61EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027D61EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D61F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D61F4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D61F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D61F8 */ cpu->lr = cpu->r[0];
|
|
/* 027D61FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D6200 */ return;
|
|
}
|
|
|
|
// fn_027D6204 @ 0x27d6204
|
|
void Gambit_fn_027D6204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D6204: ; // 0x27d6204
|
|
/* 027D6204 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D6208 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D6208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D620C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 027D6210 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6210 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6210 */ if (_t3) goto L_027D6228; else goto L_027D6214;
|
|
L_027D6214: ; // 0x27d6214
|
|
/* 027D6214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6214 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6214 */ if (_t5) goto L_027D6230; else goto L_027D6218;
|
|
L_027D6218: ; // 0x27d6218
|
|
/* 027D6218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 027D621C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D621C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D621C */ if (_t7) goto L_027D6220; else goto L_027D6238;
|
|
L_027D6220: ; // 0x27d6220
|
|
/* 027D6220 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D6224 */ return;
|
|
L_027D6228: ; // 0x27d6228
|
|
/* 027D6228 */ cpu->r[3] = 0x00000002u;
|
|
/* 027D622C */ return;
|
|
L_027D6230: ; // 0x27d6230
|
|
/* 027D6230 */ cpu->r[3] = 0x00000003u;
|
|
/* 027D6234 */ return;
|
|
L_027D6238: ; // 0x27d6238
|
|
/* 027D6238 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D623C */ return;
|
|
}
|
|
|
|
// fn_027D6240 @ 0x27d6240
|
|
void Gambit_fn_027D6240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D6240: ; // 0x27d6240
|
|
/* 027D6240 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D6244 */ goto L_027E5CF8;
|
|
L_027E5CF8: ; // 0x27e5cf8
|
|
/* 027E5CF8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5CFC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E5CFC */ cpu->r[1] = _t1;
|
|
/* 027E5D00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E5D04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5D08 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E5D0C */ cpu->r[0] = cpu->r[11] ^ 0x00000002u;
|
|
/* 027E5D10 */ cpu->r[12] = rbrew_clz32(cpu->r[0]);
|
|
/* 027E5D14 */ cpu->r[31] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E5D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5D18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5D18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E5D18 */ if (_t6) goto L_027E5D3C; else goto L_027E5D1C;
|
|
L_027E5D1C: ; // 0x27e5d1c
|
|
/* 027E5D1C */ cpu->r[9] = 0x00000000u;
|
|
/* 027E5D20 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5D20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E5D24 */ cpu->r[0] = 0x00000003u;
|
|
/* 027E5D28 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5D28 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027E5D2C */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D2C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E5D30 */ _t10 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027E5D30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5D34 */ cpu->ctr = cpu->r[12];
|
|
/* 027E5D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E5D3C: ; // 0x27e5d3c
|
|
/* 027E5D3C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5D44 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E5D48 */ cpu->lr = cpu->r[0];
|
|
/* 027E5D4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5D50 */ return;
|
|
}
|
|
|
|
// fn_027D6248 @ 0x27d6248
|
|
void Gambit_fn_027D6248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D6248: ; // 0x27d6248
|
|
/* 027D6248 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D624C */ goto L_027E5D54;
|
|
L_027E5D54: ; // 0x27e5d54
|
|
/* 027E5D54 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5D58 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E5D58 */ cpu->r[1] = _t1;
|
|
/* 027E5D5C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E5D60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5D64 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E5D68 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027E5D6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E5D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5D70 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5D70 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E5D70 */ if (_t6) goto L_027E5D94; else goto L_027E5D74;
|
|
L_027E5D74: ; // 0x27e5d74
|
|
/* 027E5D74 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E5D78 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E5D7C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E5D80 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5D80 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027E5D84 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D84 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E5D88 */ _t10 = cpu->r[10] + 0x00000034u;
|
|
/* 027E5D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5D8C */ cpu->ctr = cpu->r[11];
|
|
/* 027E5D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E5D94: ; // 0x27e5d94
|
|
/* 027E5D94 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5D98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5D9C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E5DA0 */ cpu->lr = cpu->r[0];
|
|
/* 027E5DA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5DA8 */ return;
|
|
}
|
|
|
|
// fn_027D6250 @ 0x27d6250
|
|
void Gambit_fn_027D6250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027D6250: ; // 0x27d6250
|
|
/* 027D6250 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D6254 */ goto L_027E5DAC;
|
|
L_027E5DAC: ; // 0x27e5dac
|
|
/* 027E5DAC */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E5DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027E5DB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5DB4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E5DB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E5DB4 */ goto L_027E5DB8;
|
|
L_027E5DB8: ; // 0x27e5db8
|
|
/* 027E5DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 027E5DBC */ cpu->r[12] = 0x00000000u;
|
|
/* 027E5DC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5DC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5DC0 */ if (_t5) goto L_027E5DDC; else goto L_027E5DC4;
|
|
L_027E5DC4: ; // 0x27e5dc4
|
|
/* 027E5DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 027E5DC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5DC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E5DC8 */ if (_t7) goto L_027E5E10; else goto L_027E5DCC;
|
|
L_027E5DCC: ; // 0x27e5dcc
|
|
/* 027E5DCC */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5DCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E5DD0 */ _t9 = cpu->r[10] + 0x0000003Cu;
|
|
/* 027E5DD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5DD4 */ cpu->ctr = cpu->r[11];
|
|
/* 027E5DD8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027E5DDC: ; // 0x27e5ddc
|
|
/* 027E5DDC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5DDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5DE0 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 027E5DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5DE4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E5DE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 027E5DEC */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5DEC */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027E5DF0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5DF0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E5DF0 */ if (_t14) goto L_027E5E40; else goto L_027E5DF4;
|
|
L_027E5DF4: ; // 0x27e5df4
|
|
/* 027E5DF4 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5DF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E5DF8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E5DFC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5DFC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027E5E00 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5E00 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E5E04 */ _t18 = cpu->r[11] + 0x0000004Cu;
|
|
/* 027E5E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E5E08 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5E0C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027E5E10: ; // 0x27e5e10
|
|
/* 027E5E10 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E5E14 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 027E5E14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E5E18 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E5E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 027E5E20 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5E20 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 027E5E24 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5E24 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5E24 */ if (_t23) goto L_027E5E40; else goto L_027E5E28;
|
|
L_027E5E28: ; // 0x27e5e28
|
|
/* 027E5E28 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5E28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E5E2C */ _t25 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5E2C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 027E5E30 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5E30 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 027E5E34 */ _t27 = cpu->r[11] + 0x00000044u;
|
|
/* 027E5E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E5E38 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5E3C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027E5E40: ; // 0x27e5e40
|
|
/* 027E5E40 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5E40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E5E44 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 027E5E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E5E48 */ cpu->ctr = cpu->r[11];
|
|
/* 027E5E4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D6258 @ 0x27d6258
|
|
void Gambit_fn_027D6258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027D6258: ; // 0x27d6258
|
|
/* 027D6258 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D625C */ _t1 = cpu->r[3] + 0x00000010u;
|
|
/* 027D625C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D6260 */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D6260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D6264 */ cpu->ctr = cpu->r[0];
|
|
/* 027D6268 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D626C @ 0x27d626c
|
|
void Gambit_fn_027D626C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027D626C: ; // 0x27d626c
|
|
/* 027D626C */ cpu->r[0] = cpu->lr;
|
|
/* 027D6270 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D6270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6270 */ cpu->r[1] = _t0;
|
|
/* 027D6274 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D6274 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D6278 */ /* nop */
|
|
/* 027D627C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D627C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D6280 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6280 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6280 */ if (_t3) goto L_027D6284; else goto L_027D6294;
|
|
L_027D6284: ; // 0x27d6284
|
|
/* 027D6284 */ cpu->r[3] = 0x000009A4u;
|
|
/* 027D6288 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D628C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D6290 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6290 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6290 */ if (_t5) goto L_027D6818; else goto L_027D6294;
|
|
L_027D6294: ; // 0x27d6294
|
|
/* 027D6294 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D6298 */ cpu->r[29] = 0x10110000u;
|
|
/* 027D629C */ cpu->r[25] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D629C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D62A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFE148u;
|
|
/* 027D62A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 027D62A8 */ cpu->r[29] = cpu->r[29] + 0xFFFFE178u;
|
|
/* 027D62AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D62AC */ if (_t7) goto L_027D62B0; else goto L_027D62D0;
|
|
L_027D62B0: ; // 0x27d62b0
|
|
/* 027D62B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D62B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D62B8 */ cpu->r[25] = cpu->r[3];
|
|
/* 027D62B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D62BC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62BC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D62BC */ if (_t9) goto L_027D62C0; else goto L_027D62D0;
|
|
L_027D62C0: ; // 0x27d62c0
|
|
/* 027D62C0 */ cpu->r[26] = cpu->r[30] + 0x00000070u;
|
|
/* 027D62C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62C4 */ _t10 = cpu->r[28] + 0x00007399u;
|
|
/* 027D62C4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027D62C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D62C8 */ if (_t12) goto L_027D62CC; else goto L_027D6384;
|
|
L_027D62CC: ; // 0x27d62cc
|
|
/* 027D62CC */ goto L_027D6374;
|
|
L_027D62D0: ; // 0x27d62d0
|
|
/* 027D62D0 */ cpu->r[26] = cpu->r[25];
|
|
/* 027D62D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D62D4 */ if (_t14) goto L_027D62D8; else goto L_027D62FC;
|
|
L_027D62D8: ; // 0x27d62d8
|
|
/* 027D62D8 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D62DC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D62E0 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D62E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62E4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D62E4 */ if (_t16) goto L_027D62E8; else goto L_027D62FC;
|
|
L_027D62E8: ; // 0x27d62e8
|
|
/* 027D62E8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D62EC */ _t17 = cpu->r[28] + 0x00007399u;
|
|
/* 027D62EC */ cpu->r[27] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027D62F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE1A8u;
|
|
/* 027D62F4 */ _t18 = cpu->r[25] + 0x00000004u;
|
|
/* 027D62F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 027D62F8 */ goto L_027D636C;
|
|
L_027D62FC: ; // 0x27d62fc
|
|
/* 027D62FC */ cpu->r[3] = cpu->r[26];
|
|
/* 027D62FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6300 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6300 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D6300 */ if (_t20) goto L_027D6304; else goto L_027D6330;
|
|
L_027D6304: ; // 0x27d6304
|
|
/* 027D6304 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D6308 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D630C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6310 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6310 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6310 */ if (_t22) goto L_027D6314; else goto L_027D6330;
|
|
L_027D6314: ; // 0x27d6314
|
|
/* 027D6314 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D6318 */ _t23 = cpu->r[28] + 0x00007399u;
|
|
/* 027D6318 */ cpu->r[27] = rbrew_read8(cpu->mem, _t23);
|
|
/* 027D631C */ cpu->r[10] = cpu->r[10] + 0xFFFFE190u;
|
|
/* 027D6320 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 027D6320 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D6324 */ _t25 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6324 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027D6328 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027D6328 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
/* 027D632C */ goto L_027D6360;
|
|
L_027D6330: ; // 0x27d6330
|
|
/* 027D6330 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 027D6334 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6334 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 027D6338 */ cpu->r[9] = 0x00000003u;
|
|
/* 027D633C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027D633C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027D6340 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 027D6340 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 027D6344 */ _t30 = cpu->r[28] + 0x00007399u;
|
|
/* 027D6344 */ cpu->r[27] = rbrew_read8(cpu->mem, _t30);
|
|
/* 027D6348 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D634C */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 027D634C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6350 */ cpu->r[10] = cpu->r[10] + 0xFFFFE190u;
|
|
/* 027D6354 */ _t32 = cpu->r[26] + 0x0000000Eu;
|
|
/* 027D6354 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[27]);
|
|
/* 027D6358 */ _t33 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6358 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 027D635C */ _t34 = cpu->r[11] + 0x00000000u;
|
|
/* 027D635C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[27]);
|
|
L_027D6360: ; // 0x27d6360
|
|
/* 027D6360 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D6364 */ cpu->r[12] = cpu->r[12] + 0xFFFFE1A8u;
|
|
/* 027D6368 */ _t35 = cpu->r[25] + 0x00000004u;
|
|
/* 027D6368 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
L_027D636C: ; // 0x27d636c
|
|
/* 027D636C */ cpu->r[26] = cpu->r[30] + 0x00000070u;
|
|
/* 027D636C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6370 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6370 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D6370 */ if (_t37) goto L_027D6374; else goto L_027D6384;
|
|
L_027D6374: ; // 0x27d6374
|
|
/* 027D6374 */ cpu->r[3] = 0x00000020u;
|
|
/* 027D6378 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D637C */ cpu->r[26] = cpu->r[3];
|
|
/* 027D637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6380 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6380 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D6380 */ if (_t39) goto L_027D63EC; else goto L_027D6384;
|
|
L_027D6384: ; // 0x27d6384
|
|
/* 027D6384 */ cpu->r[28] = cpu->r[26];
|
|
/* 027D6384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6388 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6388 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027D6388 */ if (_t41) goto L_027D638C; else goto L_027D639C;
|
|
L_027D638C: ; // 0x27d638c
|
|
/* 027D638C */ cpu->r[3] = 0x00000020u;
|
|
/* 027D6390 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6394 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D6394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6398 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6398 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D6398 */ if (_t43) goto L_027D63E0; else goto L_027D639C;
|
|
L_027D639C: ; // 0x27d639c
|
|
/* 027D639C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D639C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D63A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63A0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027D63A0 */ if (_t45) goto L_027D63A4; else goto L_027D63B4;
|
|
L_027D63A4: ; // 0x27d63a4
|
|
/* 027D63A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D63A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D63AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D63B0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63B0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027D63B0 */ if (_t47) goto L_027D63CC; else goto L_027D63B4;
|
|
L_027D63B4: ; // 0x27d63b4
|
|
/* 027D63B4 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D63B8 */ _t48 = cpu->r[3] + 0x00000004u;
|
|
/* 027D63B8 */ rbrew_write32(cpu->mem, _t48, cpu->r[29]);
|
|
/* 027D63BC */ cpu->r[5] = 0x00000011u;
|
|
/* 027D63C0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 027D63C0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027D63C4 */ _t50 = cpu->r[3] + 0x00000008u;
|
|
/* 027D63C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 027D63C8 */ _t51 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027D63C8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[27]);
|
|
L_027D63CC: ; // 0x27d63cc
|
|
/* 027D63CC */ cpu->r[6] = 0x10110000u;
|
|
/* 027D63D0 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 027D63D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D63D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE1C0u;
|
|
/* 027D63D8 */ _t53 = cpu->r[28] + 0x00000004u;
|
|
/* 027D63D8 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]);
|
|
/* 027D63DC */ _t54 = cpu->r[7] + 0x00000000u;
|
|
/* 027D63DC */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[27]);
|
|
L_027D63E0: ; // 0x27d63e0
|
|
/* 027D63E0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D63E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFE1D8u;
|
|
/* 027D63E8 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 027D63E8 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
L_027D63EC: ; // 0x27d63ec
|
|
/* 027D63EC */ cpu->r[26] = cpu->r[30] + 0x00000090u;
|
|
/* 027D63EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D63F0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63F0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027D63F0 */ if (_t57) goto L_027D63F4; else goto L_027D6404;
|
|
L_027D63F4: ; // 0x27d63f4
|
|
/* 027D63F4 */ cpu->r[3] = 0x00000024u;
|
|
/* 027D63F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D63FC */ cpu->r[26] = cpu->r[3];
|
|
/* 027D63FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6400 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6400 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027D6400 */ if (_t59) goto L_027D6498; else goto L_027D6404;
|
|
L_027D6404: ; // 0x27d6404
|
|
/* 027D6404 */ cpu->r[28] = cpu->r[26];
|
|
/* 027D6404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6408 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6408 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027D6408 */ if (_t61) goto L_027D640C; else goto L_027D641C;
|
|
L_027D640C: ; // 0x27d640c
|
|
/* 027D640C */ cpu->r[3] = 0x00000024u;
|
|
/* 027D6410 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6414 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D6414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6418 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6418 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027D6418 */ if (_t63) goto L_027D648C; else goto L_027D641C;
|
|
L_027D641C: ; // 0x27d641c
|
|
/* 027D641C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D641C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6420 */ cpu->r[29] = 0x10110000u;
|
|
/* 027D6424 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6424 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027D6424 */ if (_t65) goto L_027D6428; else goto L_027D6454;
|
|
L_027D6428: ; // 0x27d6428
|
|
/* 027D6428 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D642C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6434 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6434 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027D6434 */ if (_t67) goto L_027D6438; else goto L_027D6454;
|
|
L_027D6438: ; // 0x27d6438
|
|
/* 027D6438 */ cpu->r[6] = 0x10110000u;
|
|
/* 027D643C */ _t68 = cpu->r[29] + 0x0000739Au;
|
|
/* 027D643C */ cpu->r[10] = rbrew_read16(cpu->mem, _t68);
|
|
/* 027D6440 */ cpu->r[6] = cpu->r[6] + 0xFFFFE208u;
|
|
/* 027D6444 */ _t69 = cpu->r[28] + 0x00000000u;
|
|
/* 027D6444 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027D6448 */ _t70 = cpu->r[28] + 0x00000004u;
|
|
/* 027D6448 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 027D644C */ _t71 = cpu->r[7] + 0x00000000u;
|
|
/* 027D644C */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[10]);
|
|
/* 027D6450 */ goto L_027D648C;
|
|
L_027D6454: ; // 0x27d6454
|
|
/* 027D6454 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6458 */ cpu->r[10] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D645C */ cpu->r[0] = cpu->r[0] + 0xFFFFE1F0u;
|
|
/* 027D6460 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6460 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 027D6464 */ cpu->r[5] = 0x0000000Bu;
|
|
/* 027D6468 */ _t73 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6468 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
/* 027D646C */ _t74 = cpu->r[3] + 0x00000008u;
|
|
/* 027D646C */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
|
|
/* 027D6470 */ _t75 = cpu->r[29] + 0x0000739Au;
|
|
/* 027D6470 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75);
|
|
/* 027D6474 */ cpu->r[6] = 0x10110000u;
|
|
/* 027D6478 */ _t76 = cpu->r[28] + 0x00000000u;
|
|
/* 027D6478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027D647C */ cpu->r[6] = cpu->r[6] + 0xFFFFE208u;
|
|
/* 027D6480 */ _t77 = cpu->r[28] + 0x00000020u;
|
|
/* 027D6480 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]);
|
|
/* 027D6484 */ _t78 = cpu->r[28] + 0x00000004u;
|
|
/* 027D6484 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 027D6488 */ _t79 = cpu->r[7] + 0x00000000u;
|
|
/* 027D6488 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[10]);
|
|
L_027D648C: ; // 0x27d648c
|
|
/* 027D648C */ cpu->r[8] = 0x10110000u;
|
|
/* 027D6490 */ cpu->r[8] = cpu->r[8] + 0xFFFFE220u;
|
|
/* 027D6494 */ _t80 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6494 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
|
|
L_027D6498: ; // 0x27d6498
|
|
/* 027D6498 */ _t81 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6498 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027D649C */ cpu->r[6] = 0x00000000u;
|
|
/* 027D64A0 */ _t82 = cpu->r[30] + 0x00000058u;
|
|
/* 027D64A0 */ rbrew_write32(cpu->mem, _t82, cpu->r[6]);
|
|
/* 027D64A4 */ _t83 = cpu->r[30] + 0x00000014u;
|
|
/* 027D64A4 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 027D64A8 */ cpu->r[8] = 0x0000000Du;
|
|
/* 027D64AC */ _t84 = cpu->r[7] + 0x00000000u;
|
|
/* 027D64AC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[27]);
|
|
/* 027D64B0 */ _t85 = cpu->r[30] + 0x00000070u;
|
|
/* 027D64B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027D64B4 */ cpu->r[28] = cpu->r[30] + 0x00000019u;
|
|
/* 027D64B8 */ cpu->r[0] = cpu->r[6];
|
|
/* 027D64BC */ _t86 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D64BC */ rbrew_write32(cpu->mem, _t86, cpu->r[6]);
|
|
/* 027D64C0 */ cpu->ctr = cpu->r[8];
|
|
/* 027D64C4 */ _t87 = cpu->r[10] + 0x00000000u;
|
|
/* 027D64C4 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[27]);
|
|
L_027D64C8: ; // 0x27d64c8
|
|
/* 027D64C8 */ _t88 = cpu->r[28] + cpu->r[6];
|
|
/* 027D64C8 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[0]);
|
|
/* 027D64CC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027D64D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D64D0 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D64D0 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 027D64D0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 027D64D0 */ if (_t91) goto L_027D64C8; else goto L_027D64D4;
|
|
L_027D64D4: ; // 0x27d64d4
|
|
/* 027D64D4 */ cpu->r[7] = 0x0000000Cu;
|
|
/* 027D64D8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D64DC */ cpu->r[11] = cpu->r[30] + 0x00000024u;
|
|
/* 027D64E0 */ cpu->ctr = cpu->r[7];
|
|
/* 027D64E4 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
|
|
L_027D64E8: ; // 0x27d64e8
|
|
/* 027D64E8 */ _t92 = cpu->r[11] + 0x00000004u;
|
|
/* 027D64E8 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 027D64E8 */ cpu->r[11] = _t92;
|
|
/* 027D64EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D64EC */ _t93 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D64EC */ _t94 = _t93 >> (0x00000002u & 31u);
|
|
/* 027D64EC */ _t95 = _t94 & 0x00000001u;
|
|
/* 027D64EC */ if (_t95) goto L_027D64E8; else goto L_027D64F0;
|
|
L_027D64F0: ; // 0x27d64f0
|
|
/* 027D64F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D64F4 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D64F4 */ rbrew_write32(cpu->mem, _t96, cpu->r[31]);
|
|
/* 027D64F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE238u;
|
|
/* 027D64FC */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 027D64FC */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 027D6500 */ _t98 = cpu->r[30] + 0x00000094u;
|
|
/* 027D6500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027D6504 */ _t99 = cpu->r[12] + 0x00000014u;
|
|
/* 027D6504 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027D6508 */ cpu->ctr = cpu->r[5];
|
|
/* 027D650C */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 027D6510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6514 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6514 */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027D6518 */ _t101 = cpu->r[6] + 0x00000014u;
|
|
/* 027D6518 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027D651C */ cpu->ctr = cpu->r[7];
|
|
/* 027D6520 */ _t102 = cpu->r[30] + 0x00000090u;
|
|
/* 027D6520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027D6524 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D6528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D652C */ _t103 = cpu->r[30] + 0x00000098u;
|
|
/* 027D652C */ cpu->r[4] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027D6530 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 027D6534 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6534 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027D6538 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D653C */ Gambit_fn_0282C89C(cpu);
|
|
/* 027D6540 */ rbrew_dispatch(cpu, 0x02d0c1e8u);
|
|
/* 027D6544 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D6544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6548 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6548 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027D6548 */ if (_t106) goto L_027D6554; else goto L_027D654C;
|
|
L_027D654C: ; // 0x27d654c
|
|
/* 027D654C */ cpu->r[3] = 0x0000003Du;
|
|
/* 027D6550 */ Gambit_fn_027963F4(cpu);
|
|
L_027D6554: ; // 0x27d6554
|
|
/* 027D6554 */ rbrew_dispatch(cpu, 0x02d0c138u);
|
|
/* 027D6558 */ _t107 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6558 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[3]);
|
|
/* 027D655C */ rbrew_dispatch(cpu, 0x02d0c260u);
|
|
/* 027D6560 */ _t108 = cpu->r[30] + 0x00000094u;
|
|
/* 027D6560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027D6564 */ _t109 = cpu->r[30] + 0x00000018u;
|
|
/* 027D6564 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[3]);
|
|
/* 027D6568 */ _t110 = cpu->r[12] + 0x00000014u;
|
|
/* 027D6568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027D656C */ cpu->ctr = cpu->r[5];
|
|
/* 027D6570 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 027D6574 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6578 */ _t111 = cpu->r[30] + 0x00000090u;
|
|
/* 027D6578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027D657C */ rbrew_dispatch(cpu, 0x02d0c0a8u);
|
|
/* 027D6580 */ _t112 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6580 */ cpu->r[8] = rbrew_read8(cpu->mem, _t112);
|
|
/* 027D6584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Du);
|
|
/* 027D6588 */ cpu->r[27] = cpu->r[30] + 0x000000B4u;
|
|
/* 027D658C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D658C */ _t114 = _t113 & 0x00000001u;
|
|
/* 027D658C */ if (_t114) goto L_027D6590; else goto L_027D65B0;
|
|
L_027D6590: ; // 0x27d6590
|
|
/* 027D6590 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000060u);
|
|
/* 027D6594 */ cpu->r[3] = cpu->r[27] + cpu->r[6];
|
|
/* 027D6598 */ rbrew_dispatch(cpu, 0x02d0c0b0u);
|
|
/* 027D659C */ _t115 = cpu->r[30] + 0x00000010u;
|
|
/* 027D659C */ cpu->r[0] = rbrew_read8(cpu->mem, _t115);
|
|
/* 027D65A0 */ cpu->r[12] = cpu->r[0];
|
|
/* 027D65A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Du);
|
|
/* 027D65A8 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65A8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027D65A8 */ if (_t117) goto L_027D65C8; else goto L_027D65AC;
|
|
L_027D65AC: ; // 0x27d65ac
|
|
/* 027D65AC */ goto L_027D65E0;
|
|
L_027D65B0: ; // 0x27d65b0
|
|
/* 027D65B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D65B4 */ rbrew_dispatch(cpu, 0x02d0c0b0u);
|
|
/* 027D65B8 */ _t118 = cpu->r[30] + 0x00000010u;
|
|
/* 027D65B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 027D65BC */ cpu->r[12] = cpu->r[0];
|
|
/* 027D65C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Du);
|
|
/* 027D65C4 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65C4 */ _t120 = _t119 & 0x00000001u;
|
|
/* 027D65C4 */ if (_t120) goto L_027D65C8; else goto L_027D65E0;
|
|
L_027D65C8: ; // 0x27d65c8
|
|
/* 027D65C8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000060u);
|
|
/* 027D65CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 027D65D0 */ cpu->r[31] = cpu->r[30] + 0x00000594u;
|
|
/* 027D65D4 */ cpu->r[3] = cpu->r[27] + cpu->r[9];
|
|
/* 027D65D8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65D8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 027D65D8 */ if (_t122) goto L_027D65F0; else goto L_027D65DC;
|
|
L_027D65DC: ; // 0x27d65dc
|
|
/* 027D65DC */ goto L_027D6608;
|
|
L_027D65E0: ; // 0x27d65e0
|
|
/* 027D65E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 027D65E4 */ cpu->r[31] = cpu->r[30] + 0x00000594u;
|
|
/* 027D65E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D65EC */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65EC */ _t124 = _t123 & 0x00000001u;
|
|
/* 027D65EC */ if (_t124) goto L_027D65F0; else goto L_027D6608;
|
|
L_027D65F0: ; // 0x27d65f0
|
|
/* 027D65F0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000050u);
|
|
/* 027D65F4 */ cpu->r[4] = cpu->r[31] + cpu->r[10];
|
|
/* 027D65F8 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D65FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6600 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6600 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027D6600 */ if (_t126) goto L_027D6620; else goto L_027D6604;
|
|
L_027D6604: ; // 0x27d6604
|
|
/* 027D6604 */ goto L_027D6618;
|
|
L_027D6608: ; // 0x27d6608
|
|
/* 027D6608 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D660C */ Gambit_fn_027F147C(cpu);
|
|
/* 027D6610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6614 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6614 */ _t128 = _t127 & 0x00000001u;
|
|
/* 027D6614 */ if (_t128) goto L_027D6620; else goto L_027D6618;
|
|
L_027D6618: ; // 0x27d6618
|
|
/* 027D6618 */ cpu->r[3] = 0x00000059u;
|
|
/* 027D661C */ Gambit_fn_027963F4(cpu);
|
|
L_027D6620: ; // 0x27d6620
|
|
/* 027D6620 */ _t129 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6620 */ cpu->r[9] = rbrew_read8(cpu->mem, _t129);
|
|
/* 027D6624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Du);
|
|
/* 027D6628 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6628 */ _t131 = _t130 & 0x00000001u;
|
|
/* 027D6628 */ if (_t131) goto L_027D662C; else goto L_027D6648;
|
|
L_027D662C: ; // 0x27d662c
|
|
/* 027D662C */ cpu->r[12] = 0x00000001u;
|
|
/* 027D6630 */ _t132 = cpu->r[28] + cpu->r[9];
|
|
/* 027D6630 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[12]);
|
|
/* 027D6634 */ _t133 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6634 */ cpu->r[6] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027D6638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000000Cu);
|
|
/* 027D663C */ _t134 = cpu->r[30] + 0x00000010u;
|
|
/* 027D663C */ cpu->r[7] = rbrew_read8(cpu->mem, _t134);
|
|
/* 027D6640 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6640 */ _t136 = _t135 & 0x00000001u;
|
|
/* 027D6640 */ if (_t136) goto L_027D6660; else goto L_027D6644;
|
|
L_027D6644: ; // 0x27d6644
|
|
/* 027D6644 */ goto L_027D66A4;
|
|
L_027D6648: ; // 0x27d6648
|
|
/* 027D6648 */ cpu->r[12] = 0x00000001u;
|
|
/* 027D664C */ _t137 = cpu->r[28] + 0x00000000u;
|
|
/* 027D664C */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[12]);
|
|
/* 027D6650 */ _t138 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027D6654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000000Cu);
|
|
/* 027D6658 */ _t139 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6658 */ cpu->r[7] = rbrew_read8(cpu->mem, _t139);
|
|
/* 027D665C */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D665C */ _t141 = _t140 & 0x00000001u;
|
|
/* 027D665C */ if (_t141) goto L_027D6660; else goto L_027D66A4;
|
|
L_027D6660: ; // 0x27d6660
|
|
/* 027D6660 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D6664 */ _t142 = cpu->r[29] + cpu->r[5];
|
|
/* 027D6664 */ rbrew_write32(cpu->mem, _t142, cpu->r[7]);
|
|
/* 027D6668 */ rbrew_dispatch(cpu, 0x02d0c108u);
|
|
/* 027D666C */ _t143 = cpu->r[30] + 0x00000060u;
|
|
/* 027D666C */ cpu->r[8] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027D6670 */ _t144 = cpu->r[30] + 0x00000058u;
|
|
/* 027D6670 */ rbrew_write32(cpu->mem, _t144, cpu->r[3]);
|
|
/* 027D6674 */ _t145 = cpu->r[8] + 0x00000014u;
|
|
/* 027D6674 */ cpu->r[9] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027D6678 */ cpu->ctr = cpu->r[9];
|
|
/* 027D667C */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6684 */ _t146 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027D6688 */ rbrew_dispatch(cpu, 0x02d0c008u);
|
|
/* 027D668C */ rbrew_dispatch(cpu, 0x02d0c118u);
|
|
/* 027D6690 */ _t147 = cpu->r[30] + 0x00000018u;
|
|
/* 027D6690 */ cpu->r[0] = rbrew_read8(cpu->mem, _t147);
|
|
/* 027D6694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6698 */ _t148 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D6698 */ rbrew_write32(cpu->mem, _t148, cpu->r[3]);
|
|
/* 027D669C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D669C */ _t150 = _t149 & 0x00000001u;
|
|
/* 027D669C */ if (_t150) goto L_027D66FC; else goto L_027D66A0;
|
|
L_027D66A0: ; // 0x27d66a0
|
|
/* 027D66A0 */ goto L_027D66E0;
|
|
L_027D66A4: ; // 0x27d66a4
|
|
/* 027D66A4 */ _t151 = cpu->r[29] + 0x00000000u;
|
|
/* 027D66A4 */ rbrew_write32(cpu->mem, _t151, cpu->r[7]);
|
|
/* 027D66A8 */ rbrew_dispatch(cpu, 0x02d0c108u);
|
|
/* 027D66AC */ _t152 = cpu->r[30] + 0x00000060u;
|
|
/* 027D66AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t152);
|
|
/* 027D66B0 */ _t153 = cpu->r[30] + 0x00000058u;
|
|
/* 027D66B0 */ rbrew_write32(cpu->mem, _t153, cpu->r[3]);
|
|
/* 027D66B4 */ _t154 = cpu->r[8] + 0x00000014u;
|
|
/* 027D66B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027D66B8 */ cpu->ctr = cpu->r[9];
|
|
/* 027D66BC */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D66C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D66C4 */ _t155 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D66C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027D66C8 */ rbrew_dispatch(cpu, 0x02d0c008u);
|
|
/* 027D66CC */ rbrew_dispatch(cpu, 0x02d0c118u);
|
|
/* 027D66D0 */ _t156 = cpu->r[30] + 0x00000018u;
|
|
/* 027D66D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t156);
|
|
/* 027D66D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D66D8 */ _t157 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D66D8 */ rbrew_write32(cpu->mem, _t157, cpu->r[3]);
|
|
/* 027D66DC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D66DC */ _t159 = _t158 & 0x00000001u;
|
|
/* 027D66DC */ if (_t159) goto L_027D66FC; else goto L_027D66E0;
|
|
L_027D66E0: ; // 0x27d66e0
|
|
/* 027D66E0 */ _t160 = cpu->r[30] + 0x00000074u;
|
|
/* 027D66E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027D66E4 */ _t161 = cpu->r[12] + 0x00000014u;
|
|
/* 027D66E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 027D66E8 */ cpu->ctr = cpu->r[0];
|
|
/* 027D66EC */ cpu->r[3] = cpu->r[30] + 0x00000070u;
|
|
/* 027D66F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D66F4 */ _t162 = cpu->r[30] + 0x00000070u;
|
|
/* 027D66F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 027D66F8 */ rbrew_dispatch(cpu, 0x02d0bfb8u);
|
|
L_027D66FC: ; // 0x27d66fc
|
|
/* 027D66FC */ _t163 = cpu->r[30] + 0x00000014u;
|
|
/* 027D66FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027D6700 */ cpu->r[24] = 0x00000060u;
|
|
/* 027D6704 */ cpu->r[22] = 0x00000001u;
|
|
/* 027D6708 */ cpu->r[25] = 0x00000050u;
|
|
/* 027D670C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027D6710 */ cpu->r[26] = cpu->r[22];
|
|
/* 027D6714 */ cpu->r[23] = 0x0000000Cu;
|
|
/* 027D6718 */ _t164 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6718 */ rbrew_write32(cpu->mem, _t164, cpu->r[6]);
|
|
L_027D671C: ; // 0x27d671c
|
|
/* 027D671C */ _t165 = cpu->r[30] + 0x00000010u;
|
|
/* 027D671C */ cpu->r[0] = rbrew_read8(cpu->mem, _t165);
|
|
/* 027D6720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 027D6724 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6724 */ _t167 = _t166 & 0x00000001u;
|
|
/* 027D6724 */ if (_t167) goto L_027D6804; else goto L_027D6728;
|
|
L_027D6728: ; // 0x27d6728
|
|
/* 027D6728 */ cpu->r[3] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D672C */ rbrew_dispatch(cpu, 0x02d0c2a0u);
|
|
/* 027D6730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6734 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6734 */ _t169 = _t168 & 0x00000001u;
|
|
/* 027D6734 */ if (_t169) goto L_027D6804; else goto L_027D6738;
|
|
L_027D6738: ; // 0x27d6738
|
|
/* 027D6738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D673C */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D673C */ _t171 = _t170 & 0x00000001u;
|
|
/* 027D673C */ if (_t171) goto L_027D6740; else goto L_027D6758;
|
|
L_027D6740: ; // 0x27d6740
|
|
/* 027D6740 */ cpu->r[4] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D6744 */ cpu->r[3] = cpu->r[27] + cpu->r[24];
|
|
/* 027D6748 */ rbrew_dispatch(cpu, 0x02d0c088u);
|
|
/* 027D674C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D674C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6750 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6750 */ _t173 = _t172 & 0x00000001u;
|
|
/* 027D6750 */ if (_t173) goto L_027D676C; else goto L_027D6754;
|
|
L_027D6754: ; // 0x27d6754
|
|
/* 027D6754 */ goto L_027D6804;
|
|
L_027D6758: ; // 0x27d6758
|
|
/* 027D6758 */ cpu->r[4] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D675C */ cpu->r[3] = cpu->r[27];
|
|
/* 027D6760 */ rbrew_dispatch(cpu, 0x02d0c088u);
|
|
/* 027D6764 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D6764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6768 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6768 */ _t175 = _t174 & 0x00000001u;
|
|
/* 027D6768 */ if (_t175) goto L_027D676C; else goto L_027D6804;
|
|
L_027D676C: ; // 0x27d676c
|
|
/* 027D676C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6770 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6770 */ _t177 = _t176 & 0x00000001u;
|
|
/* 027D6770 */ if (_t177) goto L_027D6774; else goto L_027D6784;
|
|
L_027D6774: ; // 0x27d6774
|
|
/* 027D6774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6778 */ cpu->r[3] = cpu->r[27] + cpu->r[24];
|
|
/* 027D677C */ _t178 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D677C */ _t179 = _t178 & 0x00000001u;
|
|
/* 027D677C */ if (_t179) goto L_027D6790; else goto L_027D6780;
|
|
L_027D6780: ; // 0x27d6780
|
|
/* 027D6780 */ goto L_027D67A4;
|
|
L_027D6784: ; // 0x27d6784
|
|
/* 027D6784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6788 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D678C */ _t180 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D678C */ _t181 = _t180 & 0x00000001u;
|
|
/* 027D678C */ if (_t181) goto L_027D6790; else goto L_027D67A4;
|
|
L_027D6790: ; // 0x27d6790
|
|
/* 027D6790 */ cpu->r[4] = cpu->r[31] + cpu->r[25];
|
|
/* 027D6794 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D6798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D679C */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D679C */ _t183 = _t182 & 0x00000001u;
|
|
/* 027D679C */ if (_t183) goto L_027D67A0; else goto L_027D6804;
|
|
L_027D67A0: ; // 0x27d67a0
|
|
/* 027D67A0 */ goto L_027D67B4;
|
|
L_027D67A4: ; // 0x27d67a4
|
|
/* 027D67A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D67A8 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D67AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D67B0 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D67B0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 027D67B0 */ if (_t185) goto L_027D67B4; else goto L_027D6804;
|
|
L_027D67B4: ; // 0x27d67b4
|
|
/* 027D67B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D67B8 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67B8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 027D67B8 */ if (_t187) goto L_027D67BC; else goto L_027D67E0;
|
|
L_027D67BC: ; // 0x27d67bc
|
|
/* 027D67BC */ _t188 = cpu->r[28] + cpu->r[22];
|
|
/* 027D67BC */ rbrew_write8(cpu->mem, _t188, (uint8_t)cpu->r[26]);
|
|
/* 027D67C0 */ _t189 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027D67C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Cu);
|
|
/* 027D67C8 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67C8 */ _t191 = _t190 & 0x00000001u;
|
|
/* 027D67C8 */ if (_t191) goto L_027D67F0; else goto L_027D67CC;
|
|
L_027D67CC: ; // 0x27d67cc
|
|
/* 027D67CC */ _t192 = cpu->r[29] + 0x00000000u;
|
|
/* 027D67CC */ rbrew_write32(cpu->mem, _t192, cpu->r[22]);
|
|
/* 027D67D0 */ _t193 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027D67D4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D67D8 */ _t194 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67D8 */ rbrew_write32(cpu->mem, _t194, cpu->r[12]);
|
|
/* 027D67DC */ goto L_027D6804;
|
|
L_027D67E0: ; // 0x27d67e0
|
|
/* 027D67E0 */ _t195 = cpu->r[28] + 0x00000000u;
|
|
/* 027D67E0 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[26]);
|
|
/* 027D67E4 */ _t196 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027D67E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Cu);
|
|
/* 027D67EC */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67EC */ _t198 = _t197 & 0x00000001u;
|
|
/* 027D67EC */ if (_t198) goto L_027D67F0; else goto L_027D67CC;
|
|
L_027D67F0: ; // 0x27d67f0
|
|
/* 027D67F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D67F4 */ _t199 = cpu->r[29] + cpu->r[0];
|
|
/* 027D67F4 */ rbrew_write32(cpu->mem, _t199, cpu->r[22]);
|
|
/* 027D67F8 */ _t200 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t200);
|
|
/* 027D67FC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D6800 */ _t201 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6800 */ rbrew_write32(cpu->mem, _t201, cpu->r[12]);
|
|
L_027D6804: ; // 0x27d6804
|
|
/* 027D6804 */ cpu->r[24] = cpu->r[24] + 0x00000060u;
|
|
/* 027D6808 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 027D6808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D680C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027D6810 */ cpu->r[25] = cpu->r[25] + 0x00000050u;
|
|
/* 027D6814 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6814 */ _t203 = _t202 & 0x00000001u;
|
|
/* 027D6814 */ if (_t203) goto L_027D6818; else goto L_027D671C;
|
|
L_027D6818: ; // 0x27d6818
|
|
/* 027D6818 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D681C */ /* nop */
|
|
/* 027D6820 */ _t204 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D6820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
|
|
/* 027D6824 */ cpu->lr = cpu->r[0];
|
|
/* 027D6828 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D682C */ return;
|
|
}
|
|
|
|
// fn_027D6270 @ 0x27d6270
|
|
void Gambit_fn_027D6270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027D6270: ; // 0x27d6270
|
|
/* 027D6270 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D6270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6270 */ cpu->r[1] = _t0;
|
|
/* 027D6274 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D6274 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D6278 */ /* nop */
|
|
/* 027D627C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D627C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D6280 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6280 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6280 */ if (_t3) goto L_027D6284; else goto L_027D6294;
|
|
L_027D6284: ; // 0x27d6284
|
|
/* 027D6284 */ cpu->r[3] = 0x000009A4u;
|
|
/* 027D6288 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D628C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D628C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D6290 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6290 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6290 */ if (_t5) goto L_027D6818; else goto L_027D6294;
|
|
L_027D6294: ; // 0x27d6294
|
|
/* 027D6294 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D6298 */ cpu->r[29] = 0x10110000u;
|
|
/* 027D629C */ cpu->r[25] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D629C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D62A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFE148u;
|
|
/* 027D62A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 027D62A8 */ cpu->r[29] = cpu->r[29] + 0xFFFFE178u;
|
|
/* 027D62AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D62AC */ if (_t7) goto L_027D62B0; else goto L_027D62D0;
|
|
L_027D62B0: ; // 0x27d62b0
|
|
/* 027D62B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D62B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D62B8 */ cpu->r[25] = cpu->r[3];
|
|
/* 027D62B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027D62BC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62BC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D62BC */ if (_t9) goto L_027D62C0; else goto L_027D62D0;
|
|
L_027D62C0: ; // 0x27d62c0
|
|
/* 027D62C0 */ cpu->r[26] = cpu->r[30] + 0x00000070u;
|
|
/* 027D62C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62C4 */ _t10 = cpu->r[28] + 0x00007399u;
|
|
/* 027D62C4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027D62C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D62C8 */ if (_t12) goto L_027D62CC; else goto L_027D6384;
|
|
L_027D62CC: ; // 0x27d62cc
|
|
/* 027D62CC */ goto L_027D6374;
|
|
L_027D62D0: ; // 0x27d62d0
|
|
/* 027D62D0 */ cpu->r[26] = cpu->r[25];
|
|
/* 027D62D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D62D4 */ if (_t14) goto L_027D62D8; else goto L_027D62FC;
|
|
L_027D62D8: ; // 0x27d62d8
|
|
/* 027D62D8 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D62DC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D62E0 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D62E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D62E4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D62E4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D62E4 */ if (_t16) goto L_027D62E8; else goto L_027D62FC;
|
|
L_027D62E8: ; // 0x27d62e8
|
|
/* 027D62E8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D62EC */ _t17 = cpu->r[28] + 0x00007399u;
|
|
/* 027D62EC */ cpu->r[27] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027D62F0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE1A8u;
|
|
/* 027D62F4 */ _t18 = cpu->r[25] + 0x00000004u;
|
|
/* 027D62F4 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 027D62F8 */ goto L_027D636C;
|
|
L_027D62FC: ; // 0x27d62fc
|
|
/* 027D62FC */ cpu->r[3] = cpu->r[26];
|
|
/* 027D62FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6300 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6300 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D6300 */ if (_t20) goto L_027D6304; else goto L_027D6330;
|
|
L_027D6304: ; // 0x27d6304
|
|
/* 027D6304 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D6308 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D630C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6310 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6310 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6310 */ if (_t22) goto L_027D6314; else goto L_027D6330;
|
|
L_027D6314: ; // 0x27d6314
|
|
/* 027D6314 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D6318 */ _t23 = cpu->r[28] + 0x00007399u;
|
|
/* 027D6318 */ cpu->r[27] = rbrew_read8(cpu->mem, _t23);
|
|
/* 027D631C */ cpu->r[10] = cpu->r[10] + 0xFFFFE190u;
|
|
/* 027D6320 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 027D6320 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D6324 */ _t25 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6324 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027D6328 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027D6328 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
/* 027D632C */ goto L_027D6360;
|
|
L_027D6330: ; // 0x27d6330
|
|
/* 027D6330 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 027D6334 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6334 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 027D6338 */ cpu->r[9] = 0x00000003u;
|
|
/* 027D633C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027D633C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027D6340 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 027D6340 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 027D6344 */ _t30 = cpu->r[28] + 0x00007399u;
|
|
/* 027D6344 */ cpu->r[27] = rbrew_read8(cpu->mem, _t30);
|
|
/* 027D6348 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D634C */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 027D634C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6350 */ cpu->r[10] = cpu->r[10] + 0xFFFFE190u;
|
|
/* 027D6354 */ _t32 = cpu->r[26] + 0x0000000Eu;
|
|
/* 027D6354 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[27]);
|
|
/* 027D6358 */ _t33 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6358 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 027D635C */ _t34 = cpu->r[11] + 0x00000000u;
|
|
/* 027D635C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[27]);
|
|
L_027D6360: ; // 0x27d6360
|
|
/* 027D6360 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D6364 */ cpu->r[12] = cpu->r[12] + 0xFFFFE1A8u;
|
|
/* 027D6368 */ _t35 = cpu->r[25] + 0x00000004u;
|
|
/* 027D6368 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
L_027D636C: ; // 0x27d636c
|
|
/* 027D636C */ cpu->r[26] = cpu->r[30] + 0x00000070u;
|
|
/* 027D636C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6370 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6370 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D6370 */ if (_t37) goto L_027D6374; else goto L_027D6384;
|
|
L_027D6374: ; // 0x27d6374
|
|
/* 027D6374 */ cpu->r[3] = 0x00000020u;
|
|
/* 027D6378 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D637C */ cpu->r[26] = cpu->r[3];
|
|
/* 027D637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6380 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6380 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D6380 */ if (_t39) goto L_027D63EC; else goto L_027D6384;
|
|
L_027D6384: ; // 0x27d6384
|
|
/* 027D6384 */ cpu->r[28] = cpu->r[26];
|
|
/* 027D6384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6388 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6388 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027D6388 */ if (_t41) goto L_027D638C; else goto L_027D639C;
|
|
L_027D638C: ; // 0x27d638c
|
|
/* 027D638C */ cpu->r[3] = 0x00000020u;
|
|
/* 027D6390 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6394 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D6394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6398 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6398 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D6398 */ if (_t43) goto L_027D63E0; else goto L_027D639C;
|
|
L_027D639C: ; // 0x27d639c
|
|
/* 027D639C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D639C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D63A0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63A0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027D63A0 */ if (_t45) goto L_027D63A4; else goto L_027D63B4;
|
|
L_027D63A4: ; // 0x27d63a4
|
|
/* 027D63A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D63A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D63AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D63B0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63B0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027D63B0 */ if (_t47) goto L_027D63CC; else goto L_027D63B4;
|
|
L_027D63B4: ; // 0x27d63b4
|
|
/* 027D63B4 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D63B8 */ _t48 = cpu->r[3] + 0x00000004u;
|
|
/* 027D63B8 */ rbrew_write32(cpu->mem, _t48, cpu->r[29]);
|
|
/* 027D63BC */ cpu->r[5] = 0x00000011u;
|
|
/* 027D63C0 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 027D63C0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027D63C4 */ _t50 = cpu->r[3] + 0x00000008u;
|
|
/* 027D63C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 027D63C8 */ _t51 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027D63C8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[27]);
|
|
L_027D63CC: ; // 0x27d63cc
|
|
/* 027D63CC */ cpu->r[6] = 0x10110000u;
|
|
/* 027D63D0 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 027D63D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D63D4 */ cpu->r[6] = cpu->r[6] + 0xFFFFE1C0u;
|
|
/* 027D63D8 */ _t53 = cpu->r[28] + 0x00000004u;
|
|
/* 027D63D8 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]);
|
|
/* 027D63DC */ _t54 = cpu->r[7] + 0x00000000u;
|
|
/* 027D63DC */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[27]);
|
|
L_027D63E0: ; // 0x27d63e0
|
|
/* 027D63E0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D63E4 */ cpu->r[9] = cpu->r[9] + 0xFFFFE1D8u;
|
|
/* 027D63E8 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 027D63E8 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
L_027D63EC: ; // 0x27d63ec
|
|
/* 027D63EC */ cpu->r[26] = cpu->r[30] + 0x00000090u;
|
|
/* 027D63EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D63F0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D63F0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027D63F0 */ if (_t57) goto L_027D63F4; else goto L_027D6404;
|
|
L_027D63F4: ; // 0x27d63f4
|
|
/* 027D63F4 */ cpu->r[3] = 0x00000024u;
|
|
/* 027D63F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D63FC */ cpu->r[26] = cpu->r[3];
|
|
/* 027D63FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6400 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6400 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027D6400 */ if (_t59) goto L_027D6498; else goto L_027D6404;
|
|
L_027D6404: ; // 0x27d6404
|
|
/* 027D6404 */ cpu->r[28] = cpu->r[26];
|
|
/* 027D6404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6408 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6408 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027D6408 */ if (_t61) goto L_027D640C; else goto L_027D641C;
|
|
L_027D640C: ; // 0x27d640c
|
|
/* 027D640C */ cpu->r[3] = 0x00000024u;
|
|
/* 027D6410 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6414 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D6414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D6418 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6418 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027D6418 */ if (_t63) goto L_027D648C; else goto L_027D641C;
|
|
L_027D641C: ; // 0x27d641c
|
|
/* 027D641C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D641C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6420 */ cpu->r[29] = 0x10110000u;
|
|
/* 027D6424 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6424 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027D6424 */ if (_t65) goto L_027D6428; else goto L_027D6454;
|
|
L_027D6428: ; // 0x27d6428
|
|
/* 027D6428 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D642C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6434 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6434 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027D6434 */ if (_t67) goto L_027D6438; else goto L_027D6454;
|
|
L_027D6438: ; // 0x27d6438
|
|
/* 027D6438 */ cpu->r[6] = 0x10110000u;
|
|
/* 027D643C */ _t68 = cpu->r[29] + 0x0000739Au;
|
|
/* 027D643C */ cpu->r[10] = rbrew_read16(cpu->mem, _t68);
|
|
/* 027D6440 */ cpu->r[6] = cpu->r[6] + 0xFFFFE208u;
|
|
/* 027D6444 */ _t69 = cpu->r[28] + 0x00000000u;
|
|
/* 027D6444 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027D6448 */ _t70 = cpu->r[28] + 0x00000004u;
|
|
/* 027D6448 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 027D644C */ _t71 = cpu->r[7] + 0x00000000u;
|
|
/* 027D644C */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[10]);
|
|
/* 027D6450 */ goto L_027D648C;
|
|
L_027D6454: ; // 0x27d6454
|
|
/* 027D6454 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6458 */ cpu->r[10] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D645C */ cpu->r[0] = cpu->r[0] + 0xFFFFE1F0u;
|
|
/* 027D6460 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6460 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 027D6464 */ cpu->r[5] = 0x0000000Bu;
|
|
/* 027D6468 */ _t73 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6468 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
/* 027D646C */ _t74 = cpu->r[3] + 0x00000008u;
|
|
/* 027D646C */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
|
|
/* 027D6470 */ _t75 = cpu->r[29] + 0x0000739Au;
|
|
/* 027D6470 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75);
|
|
/* 027D6474 */ cpu->r[6] = 0x10110000u;
|
|
/* 027D6478 */ _t76 = cpu->r[28] + 0x00000000u;
|
|
/* 027D6478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027D647C */ cpu->r[6] = cpu->r[6] + 0xFFFFE208u;
|
|
/* 027D6480 */ _t77 = cpu->r[28] + 0x00000020u;
|
|
/* 027D6480 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]);
|
|
/* 027D6484 */ _t78 = cpu->r[28] + 0x00000004u;
|
|
/* 027D6484 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 027D6488 */ _t79 = cpu->r[7] + 0x00000000u;
|
|
/* 027D6488 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[10]);
|
|
L_027D648C: ; // 0x27d648c
|
|
/* 027D648C */ cpu->r[8] = 0x10110000u;
|
|
/* 027D6490 */ cpu->r[8] = cpu->r[8] + 0xFFFFE220u;
|
|
/* 027D6494 */ _t80 = cpu->r[26] + 0x00000004u;
|
|
/* 027D6494 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
|
|
L_027D6498: ; // 0x27d6498
|
|
/* 027D6498 */ _t81 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6498 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027D649C */ cpu->r[6] = 0x00000000u;
|
|
/* 027D64A0 */ _t82 = cpu->r[30] + 0x00000058u;
|
|
/* 027D64A0 */ rbrew_write32(cpu->mem, _t82, cpu->r[6]);
|
|
/* 027D64A4 */ _t83 = cpu->r[30] + 0x00000014u;
|
|
/* 027D64A4 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 027D64A8 */ cpu->r[8] = 0x0000000Du;
|
|
/* 027D64AC */ _t84 = cpu->r[7] + 0x00000000u;
|
|
/* 027D64AC */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[27]);
|
|
/* 027D64B0 */ _t85 = cpu->r[30] + 0x00000070u;
|
|
/* 027D64B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027D64B4 */ cpu->r[28] = cpu->r[30] + 0x00000019u;
|
|
/* 027D64B8 */ cpu->r[0] = cpu->r[6];
|
|
/* 027D64BC */ _t86 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D64BC */ rbrew_write32(cpu->mem, _t86, cpu->r[6]);
|
|
/* 027D64C0 */ cpu->ctr = cpu->r[8];
|
|
/* 027D64C4 */ _t87 = cpu->r[10] + 0x00000000u;
|
|
/* 027D64C4 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[27]);
|
|
L_027D64C8: ; // 0x27d64c8
|
|
/* 027D64C8 */ _t88 = cpu->r[28] + cpu->r[6];
|
|
/* 027D64C8 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[0]);
|
|
/* 027D64CC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027D64D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D64D0 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D64D0 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 027D64D0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 027D64D0 */ if (_t91) goto L_027D64C8; else goto L_027D64D4;
|
|
L_027D64D4: ; // 0x27d64d4
|
|
/* 027D64D4 */ cpu->r[7] = 0x0000000Cu;
|
|
/* 027D64D8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D64DC */ cpu->r[11] = cpu->r[30] + 0x00000024u;
|
|
/* 027D64E0 */ cpu->ctr = cpu->r[7];
|
|
/* 027D64E4 */ cpu->r[29] = cpu->r[30] + 0x00000028u;
|
|
L_027D64E8: ; // 0x27d64e8
|
|
/* 027D64E8 */ _t92 = cpu->r[11] + 0x00000004u;
|
|
/* 027D64E8 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 027D64E8 */ cpu->r[11] = _t92;
|
|
/* 027D64EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D64EC */ _t93 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D64EC */ _t94 = _t93 >> (0x00000002u & 31u);
|
|
/* 027D64EC */ _t95 = _t94 & 0x00000001u;
|
|
/* 027D64EC */ if (_t95) goto L_027D64E8; else goto L_027D64F0;
|
|
L_027D64F0: ; // 0x27d64f0
|
|
/* 027D64F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D64F4 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D64F4 */ rbrew_write32(cpu->mem, _t96, cpu->r[31]);
|
|
/* 027D64F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE238u;
|
|
/* 027D64FC */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 027D64FC */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 027D6500 */ _t98 = cpu->r[30] + 0x00000094u;
|
|
/* 027D6500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027D6504 */ _t99 = cpu->r[12] + 0x00000014u;
|
|
/* 027D6504 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027D6508 */ cpu->ctr = cpu->r[5];
|
|
/* 027D650C */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 027D6510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6514 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6514 */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027D6518 */ _t101 = cpu->r[6] + 0x00000014u;
|
|
/* 027D6518 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027D651C */ cpu->ctr = cpu->r[7];
|
|
/* 027D6520 */ _t102 = cpu->r[30] + 0x00000090u;
|
|
/* 027D6520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027D6524 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D6528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D652C */ _t103 = cpu->r[30] + 0x00000098u;
|
|
/* 027D652C */ cpu->r[4] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027D6530 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 027D6534 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6534 */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027D6538 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D653C */ Gambit_fn_0282C89C(cpu);
|
|
/* 027D6540 */ rbrew_dispatch(cpu, 0x02d0c1e8u);
|
|
/* 027D6544 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D6544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6548 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6548 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027D6548 */ if (_t106) goto L_027D6554; else goto L_027D654C;
|
|
L_027D654C: ; // 0x27d654c
|
|
/* 027D654C */ cpu->r[3] = 0x0000003Du;
|
|
/* 027D6550 */ Gambit_fn_027963F4(cpu);
|
|
L_027D6554: ; // 0x27d6554
|
|
/* 027D6554 */ rbrew_dispatch(cpu, 0x02d0c138u);
|
|
/* 027D6558 */ _t107 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6558 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[3]);
|
|
/* 027D655C */ rbrew_dispatch(cpu, 0x02d0c260u);
|
|
/* 027D6560 */ _t108 = cpu->r[30] + 0x00000094u;
|
|
/* 027D6560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027D6564 */ _t109 = cpu->r[30] + 0x00000018u;
|
|
/* 027D6564 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[3]);
|
|
/* 027D6568 */ _t110 = cpu->r[12] + 0x00000014u;
|
|
/* 027D6568 */ cpu->r[5] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027D656C */ cpu->ctr = cpu->r[5];
|
|
/* 027D6570 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 027D6574 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6578 */ _t111 = cpu->r[30] + 0x00000090u;
|
|
/* 027D6578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027D657C */ rbrew_dispatch(cpu, 0x02d0c0a8u);
|
|
/* 027D6580 */ _t112 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6580 */ cpu->r[8] = rbrew_read8(cpu->mem, _t112);
|
|
/* 027D6584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000000Du);
|
|
/* 027D6588 */ cpu->r[27] = cpu->r[30] + 0x000000B4u;
|
|
/* 027D658C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D658C */ _t114 = _t113 & 0x00000001u;
|
|
/* 027D658C */ if (_t114) goto L_027D6590; else goto L_027D65B0;
|
|
L_027D6590: ; // 0x27d6590
|
|
/* 027D6590 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000060u);
|
|
/* 027D6594 */ cpu->r[3] = cpu->r[27] + cpu->r[6];
|
|
/* 027D6598 */ rbrew_dispatch(cpu, 0x02d0c0b0u);
|
|
/* 027D659C */ _t115 = cpu->r[30] + 0x00000010u;
|
|
/* 027D659C */ cpu->r[0] = rbrew_read8(cpu->mem, _t115);
|
|
/* 027D65A0 */ cpu->r[12] = cpu->r[0];
|
|
/* 027D65A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Du);
|
|
/* 027D65A8 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65A8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027D65A8 */ if (_t117) goto L_027D65C8; else goto L_027D65AC;
|
|
L_027D65AC: ; // 0x27d65ac
|
|
/* 027D65AC */ goto L_027D65E0;
|
|
L_027D65B0: ; // 0x27d65b0
|
|
/* 027D65B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D65B4 */ rbrew_dispatch(cpu, 0x02d0c0b0u);
|
|
/* 027D65B8 */ _t118 = cpu->r[30] + 0x00000010u;
|
|
/* 027D65B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 027D65BC */ cpu->r[12] = cpu->r[0];
|
|
/* 027D65C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Du);
|
|
/* 027D65C4 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65C4 */ _t120 = _t119 & 0x00000001u;
|
|
/* 027D65C4 */ if (_t120) goto L_027D65C8; else goto L_027D65E0;
|
|
L_027D65C8: ; // 0x27d65c8
|
|
/* 027D65C8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000060u);
|
|
/* 027D65CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 027D65D0 */ cpu->r[31] = cpu->r[30] + 0x00000594u;
|
|
/* 027D65D4 */ cpu->r[3] = cpu->r[27] + cpu->r[9];
|
|
/* 027D65D8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65D8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 027D65D8 */ if (_t122) goto L_027D65F0; else goto L_027D65DC;
|
|
L_027D65DC: ; // 0x27d65dc
|
|
/* 027D65DC */ goto L_027D6608;
|
|
L_027D65E0: ; // 0x27d65e0
|
|
/* 027D65E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 027D65E4 */ cpu->r[31] = cpu->r[30] + 0x00000594u;
|
|
/* 027D65E8 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D65EC */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D65EC */ _t124 = _t123 & 0x00000001u;
|
|
/* 027D65EC */ if (_t124) goto L_027D65F0; else goto L_027D6608;
|
|
L_027D65F0: ; // 0x27d65f0
|
|
/* 027D65F0 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000050u);
|
|
/* 027D65F4 */ cpu->r[4] = cpu->r[31] + cpu->r[10];
|
|
/* 027D65F8 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D65FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6600 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6600 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027D6600 */ if (_t126) goto L_027D6620; else goto L_027D6604;
|
|
L_027D6604: ; // 0x27d6604
|
|
/* 027D6604 */ goto L_027D6618;
|
|
L_027D6608: ; // 0x27d6608
|
|
/* 027D6608 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D660C */ Gambit_fn_027F147C(cpu);
|
|
/* 027D6610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6614 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6614 */ _t128 = _t127 & 0x00000001u;
|
|
/* 027D6614 */ if (_t128) goto L_027D6620; else goto L_027D6618;
|
|
L_027D6618: ; // 0x27d6618
|
|
/* 027D6618 */ cpu->r[3] = 0x00000059u;
|
|
/* 027D661C */ Gambit_fn_027963F4(cpu);
|
|
L_027D6620: ; // 0x27d6620
|
|
/* 027D6620 */ _t129 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6620 */ cpu->r[9] = rbrew_read8(cpu->mem, _t129);
|
|
/* 027D6624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Du);
|
|
/* 027D6628 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6628 */ _t131 = _t130 & 0x00000001u;
|
|
/* 027D6628 */ if (_t131) goto L_027D662C; else goto L_027D6648;
|
|
L_027D662C: ; // 0x27d662c
|
|
/* 027D662C */ cpu->r[12] = 0x00000001u;
|
|
/* 027D6630 */ _t132 = cpu->r[28] + cpu->r[9];
|
|
/* 027D6630 */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[12]);
|
|
/* 027D6634 */ _t133 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6634 */ cpu->r[6] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027D6638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000000Cu);
|
|
/* 027D663C */ _t134 = cpu->r[30] + 0x00000010u;
|
|
/* 027D663C */ cpu->r[7] = rbrew_read8(cpu->mem, _t134);
|
|
/* 027D6640 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6640 */ _t136 = _t135 & 0x00000001u;
|
|
/* 027D6640 */ if (_t136) goto L_027D6660; else goto L_027D6644;
|
|
L_027D6644: ; // 0x27d6644
|
|
/* 027D6644 */ goto L_027D66A4;
|
|
L_027D6648: ; // 0x27d6648
|
|
/* 027D6648 */ cpu->r[12] = 0x00000001u;
|
|
/* 027D664C */ _t137 = cpu->r[28] + 0x00000000u;
|
|
/* 027D664C */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[12]);
|
|
/* 027D6650 */ _t138 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6650 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027D6654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000000Cu);
|
|
/* 027D6658 */ _t139 = cpu->r[30] + 0x00000010u;
|
|
/* 027D6658 */ cpu->r[7] = rbrew_read8(cpu->mem, _t139);
|
|
/* 027D665C */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D665C */ _t141 = _t140 & 0x00000001u;
|
|
/* 027D665C */ if (_t141) goto L_027D6660; else goto L_027D66A4;
|
|
L_027D6660: ; // 0x27d6660
|
|
/* 027D6660 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D6664 */ _t142 = cpu->r[29] + cpu->r[5];
|
|
/* 027D6664 */ rbrew_write32(cpu->mem, _t142, cpu->r[7]);
|
|
/* 027D6668 */ rbrew_dispatch(cpu, 0x02d0c108u);
|
|
/* 027D666C */ _t143 = cpu->r[30] + 0x00000060u;
|
|
/* 027D666C */ cpu->r[8] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027D6670 */ _t144 = cpu->r[30] + 0x00000058u;
|
|
/* 027D6670 */ rbrew_write32(cpu->mem, _t144, cpu->r[3]);
|
|
/* 027D6674 */ _t145 = cpu->r[8] + 0x00000014u;
|
|
/* 027D6674 */ cpu->r[9] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027D6678 */ cpu->ctr = cpu->r[9];
|
|
/* 027D667C */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6684 */ _t146 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D6684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027D6688 */ rbrew_dispatch(cpu, 0x02d0c008u);
|
|
/* 027D668C */ rbrew_dispatch(cpu, 0x02d0c118u);
|
|
/* 027D6690 */ _t147 = cpu->r[30] + 0x00000018u;
|
|
/* 027D6690 */ cpu->r[0] = rbrew_read8(cpu->mem, _t147);
|
|
/* 027D6694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6698 */ _t148 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D6698 */ rbrew_write32(cpu->mem, _t148, cpu->r[3]);
|
|
/* 027D669C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D669C */ _t150 = _t149 & 0x00000001u;
|
|
/* 027D669C */ if (_t150) goto L_027D66FC; else goto L_027D66A0;
|
|
L_027D66A0: ; // 0x27d66a0
|
|
/* 027D66A0 */ goto L_027D66E0;
|
|
L_027D66A4: ; // 0x27d66a4
|
|
/* 027D66A4 */ _t151 = cpu->r[29] + 0x00000000u;
|
|
/* 027D66A4 */ rbrew_write32(cpu->mem, _t151, cpu->r[7]);
|
|
/* 027D66A8 */ rbrew_dispatch(cpu, 0x02d0c108u);
|
|
/* 027D66AC */ _t152 = cpu->r[30] + 0x00000060u;
|
|
/* 027D66AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t152);
|
|
/* 027D66B0 */ _t153 = cpu->r[30] + 0x00000058u;
|
|
/* 027D66B0 */ rbrew_write32(cpu->mem, _t153, cpu->r[3]);
|
|
/* 027D66B4 */ _t154 = cpu->r[8] + 0x00000014u;
|
|
/* 027D66B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027D66B8 */ cpu->ctr = cpu->r[9];
|
|
/* 027D66BC */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D66C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D66C4 */ _t155 = cpu->r[30] + 0x0000005Cu;
|
|
/* 027D66C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027D66C8 */ rbrew_dispatch(cpu, 0x02d0c008u);
|
|
/* 027D66CC */ rbrew_dispatch(cpu, 0x02d0c118u);
|
|
/* 027D66D0 */ _t156 = cpu->r[30] + 0x00000018u;
|
|
/* 027D66D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t156);
|
|
/* 027D66D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D66D8 */ _t157 = cpu->r[30] + 0x0000006Cu;
|
|
/* 027D66D8 */ rbrew_write32(cpu->mem, _t157, cpu->r[3]);
|
|
/* 027D66DC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D66DC */ _t159 = _t158 & 0x00000001u;
|
|
/* 027D66DC */ if (_t159) goto L_027D66FC; else goto L_027D66E0;
|
|
L_027D66E0: ; // 0x27d66e0
|
|
/* 027D66E0 */ _t160 = cpu->r[30] + 0x00000074u;
|
|
/* 027D66E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027D66E4 */ _t161 = cpu->r[12] + 0x00000014u;
|
|
/* 027D66E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 027D66E8 */ cpu->ctr = cpu->r[0];
|
|
/* 027D66EC */ cpu->r[3] = cpu->r[30] + 0x00000070u;
|
|
/* 027D66F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D66F4 */ _t162 = cpu->r[30] + 0x00000070u;
|
|
/* 027D66F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 027D66F8 */ rbrew_dispatch(cpu, 0x02d0bfb8u);
|
|
L_027D66FC: ; // 0x27d66fc
|
|
/* 027D66FC */ _t163 = cpu->r[30] + 0x00000014u;
|
|
/* 027D66FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027D6700 */ cpu->r[24] = 0x00000060u;
|
|
/* 027D6704 */ cpu->r[22] = 0x00000001u;
|
|
/* 027D6708 */ cpu->r[25] = 0x00000050u;
|
|
/* 027D670C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027D6710 */ cpu->r[26] = cpu->r[22];
|
|
/* 027D6714 */ cpu->r[23] = 0x0000000Cu;
|
|
/* 027D6718 */ _t164 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6718 */ rbrew_write32(cpu->mem, _t164, cpu->r[6]);
|
|
L_027D671C: ; // 0x27d671c
|
|
/* 027D671C */ _t165 = cpu->r[30] + 0x00000010u;
|
|
/* 027D671C */ cpu->r[0] = rbrew_read8(cpu->mem, _t165);
|
|
/* 027D6720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 027D6724 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6724 */ _t167 = _t166 & 0x00000001u;
|
|
/* 027D6724 */ if (_t167) goto L_027D6804; else goto L_027D6728;
|
|
L_027D6728: ; // 0x27d6728
|
|
/* 027D6728 */ cpu->r[3] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D672C */ rbrew_dispatch(cpu, 0x02d0c2a0u);
|
|
/* 027D6730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6734 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6734 */ _t169 = _t168 & 0x00000001u;
|
|
/* 027D6734 */ if (_t169) goto L_027D6804; else goto L_027D6738;
|
|
L_027D6738: ; // 0x27d6738
|
|
/* 027D6738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D673C */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D673C */ _t171 = _t170 & 0x00000001u;
|
|
/* 027D673C */ if (_t171) goto L_027D6740; else goto L_027D6758;
|
|
L_027D6740: ; // 0x27d6740
|
|
/* 027D6740 */ cpu->r[4] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D6744 */ cpu->r[3] = cpu->r[27] + cpu->r[24];
|
|
/* 027D6748 */ rbrew_dispatch(cpu, 0x02d0c088u);
|
|
/* 027D674C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D674C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6750 */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6750 */ _t173 = _t172 & 0x00000001u;
|
|
/* 027D6750 */ if (_t173) goto L_027D676C; else goto L_027D6754;
|
|
L_027D6754: ; // 0x27d6754
|
|
/* 027D6754 */ goto L_027D6804;
|
|
L_027D6758: ; // 0x27d6758
|
|
/* 027D6758 */ cpu->r[4] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D675C */ cpu->r[3] = cpu->r[27];
|
|
/* 027D6760 */ rbrew_dispatch(cpu, 0x02d0c088u);
|
|
/* 027D6764 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 027D6764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D6768 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6768 */ _t175 = _t174 & 0x00000001u;
|
|
/* 027D6768 */ if (_t175) goto L_027D676C; else goto L_027D6804;
|
|
L_027D676C: ; // 0x27d676c
|
|
/* 027D676C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6770 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6770 */ _t177 = _t176 & 0x00000001u;
|
|
/* 027D6770 */ if (_t177) goto L_027D6774; else goto L_027D6784;
|
|
L_027D6774: ; // 0x27d6774
|
|
/* 027D6774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6778 */ cpu->r[3] = cpu->r[27] + cpu->r[24];
|
|
/* 027D677C */ _t178 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D677C */ _t179 = _t178 & 0x00000001u;
|
|
/* 027D677C */ if (_t179) goto L_027D6790; else goto L_027D6780;
|
|
L_027D6780: ; // 0x27d6780
|
|
/* 027D6780 */ goto L_027D67A4;
|
|
L_027D6784: ; // 0x27d6784
|
|
/* 027D6784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D6788 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D678C */ _t180 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D678C */ _t181 = _t180 & 0x00000001u;
|
|
/* 027D678C */ if (_t181) goto L_027D6790; else goto L_027D67A4;
|
|
L_027D6790: ; // 0x27d6790
|
|
/* 027D6790 */ cpu->r[4] = cpu->r[31] + cpu->r[25];
|
|
/* 027D6794 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D6798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D679C */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D679C */ _t183 = _t182 & 0x00000001u;
|
|
/* 027D679C */ if (_t183) goto L_027D67A0; else goto L_027D6804;
|
|
L_027D67A0: ; // 0x27d67a0
|
|
/* 027D67A0 */ goto L_027D67B4;
|
|
L_027D67A4: ; // 0x27d67a4
|
|
/* 027D67A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D67A8 */ Gambit_fn_027F147C(cpu);
|
|
/* 027D67AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D67B0 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D67B0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 027D67B0 */ if (_t185) goto L_027D67B4; else goto L_027D6804;
|
|
L_027D67B4: ; // 0x27d67b4
|
|
/* 027D67B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000000Du);
|
|
/* 027D67B8 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67B8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 027D67B8 */ if (_t187) goto L_027D67BC; else goto L_027D67E0;
|
|
L_027D67BC: ; // 0x27d67bc
|
|
/* 027D67BC */ _t188 = cpu->r[28] + cpu->r[22];
|
|
/* 027D67BC */ rbrew_write8(cpu->mem, _t188, (uint8_t)cpu->r[26]);
|
|
/* 027D67C0 */ _t189 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027D67C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Cu);
|
|
/* 027D67C8 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67C8 */ _t191 = _t190 & 0x00000001u;
|
|
/* 027D67C8 */ if (_t191) goto L_027D67F0; else goto L_027D67CC;
|
|
L_027D67CC: ; // 0x27d67cc
|
|
/* 027D67CC */ _t192 = cpu->r[29] + 0x00000000u;
|
|
/* 027D67CC */ rbrew_write32(cpu->mem, _t192, cpu->r[22]);
|
|
/* 027D67D0 */ _t193 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027D67D4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D67D8 */ _t194 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67D8 */ rbrew_write32(cpu->mem, _t194, cpu->r[12]);
|
|
/* 027D67DC */ goto L_027D6804;
|
|
L_027D67E0: ; // 0x27d67e0
|
|
/* 027D67E0 */ _t195 = cpu->r[28] + 0x00000000u;
|
|
/* 027D67E0 */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[26]);
|
|
/* 027D67E4 */ _t196 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027D67E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Cu);
|
|
/* 027D67EC */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D67EC */ _t198 = _t197 & 0x00000001u;
|
|
/* 027D67EC */ if (_t198) goto L_027D67F0; else goto L_027D67CC;
|
|
L_027D67F0: ; // 0x27d67f0
|
|
/* 027D67F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D67F4 */ _t199 = cpu->r[29] + cpu->r[0];
|
|
/* 027D67F4 */ rbrew_write32(cpu->mem, _t199, cpu->r[22]);
|
|
/* 027D67F8 */ _t200 = cpu->r[30] + 0x00000014u;
|
|
/* 027D67F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t200);
|
|
/* 027D67FC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D6800 */ _t201 = cpu->r[30] + 0x00000014u;
|
|
/* 027D6800 */ rbrew_write32(cpu->mem, _t201, cpu->r[12]);
|
|
L_027D6804: ; // 0x27d6804
|
|
/* 027D6804 */ cpu->r[24] = cpu->r[24] + 0x00000060u;
|
|
/* 027D6808 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 027D6808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D680C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027D6810 */ cpu->r[25] = cpu->r[25] + 0x00000050u;
|
|
/* 027D6814 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6814 */ _t203 = _t202 & 0x00000001u;
|
|
/* 027D6814 */ if (_t203) goto L_027D6818; else goto L_027D671C;
|
|
L_027D6818: ; // 0x27d6818
|
|
/* 027D6818 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D681C */ /* nop */
|
|
/* 027D6820 */ _t204 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D6820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
|
|
/* 027D6824 */ cpu->lr = cpu->r[0];
|
|
/* 027D6828 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D682C */ return;
|
|
}
|
|
|
|
// fn_027D6830 @ 0x27d6830
|
|
void Gambit_fn_027D6830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D6830: ; // 0x27d6830
|
|
/* 027D6830 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6834 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6834 */ cpu->r[1] = _t0;
|
|
/* 027D6838 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6838 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D683C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D683C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D6840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6840 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D6844 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6844 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D6848 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027D684C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D6850 */ _t5 = cpu->r[29] + 0xFFFF957Cu;
|
|
/* 027D6850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D6850 */ cpu->r[29] = _t5;
|
|
/* 027D6854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6858 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6858 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D6858 */ if (_t7) goto L_027D685C; else goto L_027D68A8;
|
|
L_027D685C: ; // 0x27d685c
|
|
/* 027D685C */ cpu->r[4] = cpu->r[30];
|
|
/* 027D6860 */ cpu->r[3] = 0x000009A4u;
|
|
/* 027D6864 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6868 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027D686C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6870 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6870 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6870 */ if (_t9) goto L_027D6890; else goto L_027D6874;
|
|
L_027D6874: ; // 0x27d6874
|
|
/* 027D6874 */ cpu->r[5] = 0x00000003u;
|
|
/* 027D6878 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D687C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6880 */ Gambit_fn_02821D88(cpu);
|
|
/* 027D6884 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6888 */ cpu->r[0] = cpu->r[0] + 0xFFFFE240u;
|
|
/* 027D688C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D688C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027D6890: ; // 0x27d6890
|
|
/* 027D6890 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6894 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6898 */ _t11 = cpu->r[12] + 0xFFFF9580u;
|
|
/* 027D6898 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 027D689C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D689C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D689C */ if (_t13) goto L_027D68A4; else goto L_027D68A0;
|
|
L_027D68A0: ; // 0x27d68a0
|
|
/* 027D68A0 */ Gambit_fn_027D626C(cpu);
|
|
L_027D68A4: ; // 0x27d68a4
|
|
/* 027D68A4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 027D68A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_027D68A8: ; // 0x27d68a8
|
|
/* 027D68A8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D68A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D68AC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D68AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D68B0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027D68B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D68B4 */ cpu->lr = cpu->r[0];
|
|
/* 027D68B8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027D68B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D68BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D68C0 */ return;
|
|
}
|
|
|
|
// fn_027D6834 @ 0x27d6834
|
|
void Gambit_fn_027D6834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D6834: ; // 0x27d6834
|
|
/* 027D6834 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6834 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6834 */ cpu->r[1] = _t0;
|
|
/* 027D6838 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6838 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D683C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D683C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D6840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6840 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D6844 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6844 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D6848 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027D684C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D6850 */ _t5 = cpu->r[29] + 0xFFFF957Cu;
|
|
/* 027D6850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D6850 */ cpu->r[29] = _t5;
|
|
/* 027D6854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6858 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6858 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D6858 */ if (_t7) goto L_027D685C; else goto L_027D68A8;
|
|
L_027D685C: ; // 0x27d685c
|
|
/* 027D685C */ cpu->r[4] = cpu->r[30];
|
|
/* 027D6860 */ cpu->r[3] = 0x000009A4u;
|
|
/* 027D6864 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6868 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027D686C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D686C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6870 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6870 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6870 */ if (_t9) goto L_027D6890; else goto L_027D6874;
|
|
L_027D6874: ; // 0x27d6874
|
|
/* 027D6874 */ cpu->r[5] = 0x00000003u;
|
|
/* 027D6878 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D687C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6880 */ Gambit_fn_02821D88(cpu);
|
|
/* 027D6884 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6888 */ cpu->r[0] = cpu->r[0] + 0xFFFFE240u;
|
|
/* 027D688C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D688C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027D6890: ; // 0x27d6890
|
|
/* 027D6890 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6894 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6898 */ _t11 = cpu->r[12] + 0xFFFF9580u;
|
|
/* 027D6898 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 027D689C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D689C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D689C */ if (_t13) goto L_027D68A4; else goto L_027D68A0;
|
|
L_027D68A0: ; // 0x27d68a0
|
|
/* 027D68A0 */ Gambit_fn_027D626C(cpu);
|
|
L_027D68A4: ; // 0x27d68a4
|
|
/* 027D68A4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 027D68A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_027D68A8: ; // 0x27d68a8
|
|
/* 027D68A8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D68A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D68AC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D68AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D68B0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027D68B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D68B4 */ cpu->lr = cpu->r[0];
|
|
/* 027D68B8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027D68B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D68BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D68C0 */ return;
|
|
}
|
|
|
|
// fn_027D68C4 @ 0x27d68c4
|
|
void Gambit_fn_027D68C4(CPUState* cpu) {
|
|
L_027D68C4: ; // 0x27d68c4
|
|
/* 027D68C4 */ rbrew_dispatch(cpu, 0x02d0c188u); return;
|
|
}
|
|
|
|
// fn_027D68C8 @ 0x27d68c8
|
|
void Gambit_fn_027D68C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027D68C8: ; // 0x27d68c8
|
|
/* 027D68C8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D68CC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D68CC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D68D0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D68D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D68D0 */ cpu->r[1] = _t1;
|
|
/* 027D68D4 */ Gambit_fn_027D68C4(cpu);
|
|
/* 027D68D8 */ cpu->r[6] = 0x000F0000u;
|
|
/* 027D68DC */ cpu->r[5] = 0x00000000u;
|
|
/* 027D68E0 */ cpu->r[6] = cpu->r[6] + 0x00004240u;
|
|
/* 027D68E4 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 027D68E8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027D68EC */ cpu->r[6] = cpu->r[4];
|
|
/* 027D68F0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D68F4 */ Gambit_fn_02838320(cpu);
|
|
/* 027D68F8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D68F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D68FC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027D68FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D6900 */ cpu->lr = cpu->r[0];
|
|
/* 027D6904 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D6908 */ cpu->r[3] = cpu->r[11];
|
|
/* 027D690C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6910 */ return;
|
|
}
|
|
|
|
// fn_027D68D0 @ 0x27d68d0
|
|
void Gambit_fn_027D68D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027D68D0: ; // 0x27d68d0
|
|
/* 027D68D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D68D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D68D0 */ cpu->r[1] = _t0;
|
|
/* 027D68D4 */ Gambit_fn_027D68C4(cpu);
|
|
/* 027D68D8 */ cpu->r[6] = 0x000F0000u;
|
|
/* 027D68DC */ cpu->r[5] = 0x00000000u;
|
|
/* 027D68E0 */ cpu->r[6] = cpu->r[6] + 0x00004240u;
|
|
/* 027D68E4 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 027D68E8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027D68EC */ cpu->r[6] = cpu->r[4];
|
|
/* 027D68F0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D68F4 */ Gambit_fn_02838320(cpu);
|
|
/* 027D68F8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D68F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D68FC */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027D68FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D6900 */ cpu->lr = cpu->r[0];
|
|
/* 027D6904 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D6908 */ cpu->r[3] = cpu->r[11];
|
|
/* 027D690C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6910 */ return;
|
|
}
|
|
|
|
// fn_027D6914 @ 0x27d6914
|
|
void Gambit_fn_027D6914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027D6914: ; // 0x27d6914
|
|
/* 027D6914 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6918 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D6918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6918 */ cpu->r[1] = _t0;
|
|
/* 027D691C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D691C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6920 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6920 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D6924 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6928 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D692C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D692C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D6930 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6930 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6930 */ if (_t5) goto L_027D697C; else goto L_027D6934;
|
|
L_027D6934: ; // 0x27d6934
|
|
/* 027D6934 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6938 */ cpu->r[9] = cpu->r[9] + 0xFFFFE240u;
|
|
/* 027D693C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6940 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D6940 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027D6944 */ _t7 = cpu->r[12] + 0xFFFF9580u;
|
|
/* 027D6944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D6944 */ cpu->r[12] = _t7;
|
|
/* 027D6948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027D694C */ cpu->r[10] = 0x00000000u;
|
|
/* 027D6950 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6950 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6950 */ if (_t9) goto L_027D6954; else goto L_027D6960;
|
|
L_027D6954: ; // 0x27d6954
|
|
/* 027D6954 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6954 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027D6958 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D695C */ _t11 = cpu->r[8] + 0xFFFF957Cu;
|
|
/* 027D695C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_027D6960: ; // 0x27d6960
|
|
/* 027D6960 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6964 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D6968 */ Gambit_fn_02821E68(cpu);
|
|
/* 027D696C */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D696C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D6970 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6970 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D6970 */ if (_t13) goto L_027D697C; else goto L_027D6974;
|
|
L_027D6974: ; // 0x27d6974
|
|
/* 027D6974 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6978 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D697C: ; // 0x27d697c
|
|
/* 027D697C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D697C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D6980 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6980 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D6984 */ cpu->lr = cpu->r[0];
|
|
/* 027D6988 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D698C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D6990 */ return;
|
|
}
|
|
|
|
// fn_027D6918 @ 0x27d6918
|
|
void Gambit_fn_027D6918(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027D6918: ; // 0x27d6918
|
|
/* 027D6918 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D6918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6918 */ cpu->r[1] = _t0;
|
|
/* 027D691C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D691C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6920 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6920 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D6924 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6928 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D692C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D692C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D6930 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6930 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D6930 */ if (_t5) goto L_027D697C; else goto L_027D6934;
|
|
L_027D6934: ; // 0x27d6934
|
|
/* 027D6934 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6938 */ cpu->r[9] = cpu->r[9] + 0xFFFFE240u;
|
|
/* 027D693C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6940 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D6940 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027D6944 */ _t7 = cpu->r[12] + 0xFFFF9580u;
|
|
/* 027D6944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D6944 */ cpu->r[12] = _t7;
|
|
/* 027D6948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027D694C */ cpu->r[10] = 0x00000000u;
|
|
/* 027D6950 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6950 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6950 */ if (_t9) goto L_027D6954; else goto L_027D6960;
|
|
L_027D6954: ; // 0x27d6954
|
|
/* 027D6954 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6954 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027D6958 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D695C */ _t11 = cpu->r[8] + 0xFFFF957Cu;
|
|
/* 027D695C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
L_027D6960: ; // 0x27d6960
|
|
/* 027D6960 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6964 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D6968 */ Gambit_fn_02821E68(cpu);
|
|
/* 027D696C */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D696C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D6970 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6970 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D6970 */ if (_t13) goto L_027D697C; else goto L_027D6974;
|
|
L_027D6974: ; // 0x27d6974
|
|
/* 027D6974 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6978 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D697C: ; // 0x27d697c
|
|
/* 027D697C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D697C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D6980 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6980 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D6984 */ cpu->lr = cpu->r[0];
|
|
/* 027D6988 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6988 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D698C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D6990 */ return;
|
|
}
|
|
|
|
// fn_027D6994 @ 0x27d6994
|
|
void Gambit_fn_027D6994(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_027D6994: ; // 0x27d6994
|
|
/* 027D6994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6998 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6998 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6998 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6998 */ goto L_027D699C;
|
|
L_027D699C: ; // 0x27d699c
|
|
/* 027D699C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D699C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D69A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D69A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D69A0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D69A0 */ goto L_027D69A4;
|
|
L_027D69A4: ; // 0x27d69a4
|
|
/* 027D69A4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D69A8 @ 0x27d69a8
|
|
void Gambit_fn_027D69A8(CPUState* cpu) {
|
|
L_027D69A8: ; // 0x27d69a8
|
|
/* 027D69A8 */ return;
|
|
}
|
|
|
|
// fn_027D69AC @ 0x27d69ac
|
|
void Gambit_fn_027D69AC(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_027D69AC: ; // 0x27d69ac
|
|
/* 027D69AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D69B0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D69B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D69B0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D69B0 */ goto L_027D69B4;
|
|
L_027D69B4: ; // 0x27d69b4
|
|
/* 027D69B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D69B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D69B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D69B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D69B8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D69B8 */ goto L_027D69BC;
|
|
L_027D69BC: ; // 0x27d69bc
|
|
/* 027D69BC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D69C0 @ 0x27d69c0
|
|
void Gambit_fn_027D69C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027D69C0: ; // 0x27d69c0
|
|
/* 027D69C0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027D69C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D69C4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027D69C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D69C8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027D69CC */ cpu->r[11] = 0x10110000u;
|
|
/* 027D69D0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027D69D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D69D4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027D69D4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027D69D8 */ return;
|
|
}
|
|
|
|
// fn_027D69DC @ 0x27d69dc
|
|
void Gambit_fn_027D69DC(CPUState* cpu) {
|
|
L_027D69DC: ; // 0x27d69dc
|
|
/* 027D69DC */ return;
|
|
}
|
|
|
|
// fn_027D69E0 @ 0x27d69e0
|
|
void Gambit_fn_027D69E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027D69E0: ; // 0x27d69e0
|
|
/* 027D69E0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027D69E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D69E4 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D69E8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 027D69E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D69EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027D69F0 */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 027D69F0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 027D69F4 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 027D69F8 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 027D69F8 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 027D69FC */ return;
|
|
}
|
|
|
|
// fn_027D6A00 @ 0x27d6a00
|
|
void Gambit_fn_027D6A00(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_027D6A00: ; // 0x27d6a00
|
|
/* 027D6A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6A04 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A04 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6A04 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A04 */ goto L_027D6A08;
|
|
L_027D6A08: ; // 0x27d6a08
|
|
/* 027D6A08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D6A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6A0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6A0C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A0C */ goto L_027D6A10;
|
|
L_027D6A10: ; // 0x27d6a10
|
|
/* 027D6A10 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D6A14 @ 0x27d6a14
|
|
void Gambit_fn_027D6A14(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_027D6A14: ; // 0x27d6a14
|
|
/* 027D6A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6A18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6A18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A18 */ goto L_027D6A1C;
|
|
L_027D6A1C: ; // 0x27d6a1c
|
|
/* 027D6A1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D6A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6A20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6A20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A20 */ goto L_027D6A24;
|
|
L_027D6A24: ; // 0x27d6a24
|
|
/* 027D6A24 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D6A28 @ 0x27d6a28
|
|
void Gambit_fn_027D6A28(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_027D6A28: ; // 0x27d6a28
|
|
/* 027D6A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6A2C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A2C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6A2C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A2C */ goto L_027D6A30;
|
|
L_027D6A30: ; // 0x27d6a30
|
|
/* 027D6A30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D6A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6A34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6A34 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A34 */ goto L_027D6A38;
|
|
L_027D6A38: ; // 0x27d6a38
|
|
/* 027D6A38 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D6A3C @ 0x27d6a3c
|
|
void Gambit_fn_027D6A3C(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_027D6A3C: ; // 0x27d6a3c
|
|
/* 027D6A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6A40 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A40 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6A40 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A40 */ goto L_027D6A44;
|
|
L_027D6A44: ; // 0x27d6a44
|
|
/* 027D6A44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D6A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6A48 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6A48 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A48 */ goto L_027D6A4C;
|
|
L_027D6A4C: ; // 0x27d6a4c
|
|
/* 027D6A4C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D6A50 @ 0x27d6a50
|
|
void Gambit_fn_027D6A50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D6A50: ; // 0x27d6a50
|
|
/* 027D6A50 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D6A54 */ goto L_027D71D4;
|
|
L_027D71D4: ; // 0x27d71d4
|
|
/* 027D71D4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D71D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D71D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D71D8 */ cpu->r[1] = _t0;
|
|
/* 027D71DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D71DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D71E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D71E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D71E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D71E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D71E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D71EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D71EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D71F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D71F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D71F0 */ if (_t5) goto L_027D7234; else goto L_027D71F4;
|
|
L_027D71F4: ; // 0x27d71f4
|
|
/* 027D71F4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D71F8 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D71FC */ cpu->r[0] = cpu->r[0] + 0xFFFFE298u;
|
|
/* 027D7200 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7204 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D7204 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D7208 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D720C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D7210 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7214 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D7218 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D721C */ cpu->r[4] = 0x00000000u;
|
|
/* 027D7220 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D7224 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D7224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7228 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7228 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D7228 */ if (_t8) goto L_027D7234; else goto L_027D722C;
|
|
L_027D722C: ; // 0x27d722c
|
|
/* 027D722C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7230 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D7234: ; // 0x27d7234
|
|
/* 027D7234 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D7238 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7238 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D723C */ cpu->lr = cpu->r[0];
|
|
/* 027D7240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D7244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7248 */ return;
|
|
}
|
|
|
|
// fn_027D6A58 @ 0x27d6a58
|
|
void Gambit_fn_027D6A58(CPUState* cpu) {
|
|
uint32_t _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_027D6A58: ; // 0x27d6a58
|
|
/* 027D6A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6A5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D6A5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A5C */ goto L_027D6A60;
|
|
L_027D6A60: ; // 0x27d6a60
|
|
/* 027D6A60 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6A60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D6A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6A68 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A68 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D6A68 */ if (_t4) goto L_027D6A78; else goto L_027D6A6C;
|
|
L_027D6A6C: ; // 0x27d6a6c
|
|
/* 027D6A6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6A70 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D6A74 */ _t5 = cpu->r[12] + 0xFFFF9584u;
|
|
/* 027D6A74 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
L_027D6A78: ; // 0x27d6a78
|
|
/* 027D6A78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D6A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D6A7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6A7C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D6A7C */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6A7C */ goto L_027D6A80;
|
|
L_027D6A80: ; // 0x27d6a80
|
|
/* 027D6A80 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t8 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t8, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t8;
|
|
/* 02801B38 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02801B48 */ _t11 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B50 */ if (_t13) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801B60 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 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 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02801B74 */ if (_t17) 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 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02801B84 */ if (_t19) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02801B8C */ _t21 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02801BA0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D6A84 @ 0x27d6a84
|
|
void Gambit_fn_027D6A84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D6A84: ; // 0x27d6a84
|
|
/* 027D6A84 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D6A88 */ goto L_027D724C;
|
|
L_027D724C: ; // 0x27d724c
|
|
/* 027D724C */ cpu->r[0] = cpu->lr;
|
|
/* 027D7250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7250 */ cpu->r[1] = _t0;
|
|
/* 027D7254 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7254 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7258 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7258 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D725C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7260 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D7264 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7264 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D7268 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7268 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D7268 */ if (_t5) goto L_027D72D8; else goto L_027D726C;
|
|
L_027D726C: ; // 0x27d726c
|
|
/* 027D726C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7270 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D7274 */ cpu->r[12] = cpu->r[12] + 0xFFFFE3A4u;
|
|
/* 027D7278 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D727C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D727C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D7280 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3B4u;
|
|
/* 027D7284 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7288 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D7288 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D728C */ Gambit_fn_027D6A58(cpu);
|
|
/* 027D7290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7294 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7294 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7294 */ if (_t9) goto L_027D72C8; else goto L_027D7298;
|
|
L_027D7298: ; // 0x27d7298
|
|
/* 027D7298 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D729C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D72A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE298u;
|
|
/* 027D72A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72A8 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D72A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D72AC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72B0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D72B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D72C4 */ Gambit_fn_028136EC(cpu);
|
|
L_027D72C8: ; // 0x27d72c8
|
|
/* 027D72C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D72C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D72CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D72CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D72CC */ if (_t12) goto L_027D72D8; else goto L_027D72D0;
|
|
L_027D72D0: ; // 0x27d72d0
|
|
/* 027D72D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D72D8: ; // 0x27d72d8
|
|
/* 027D72D8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D72D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D72DC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D72DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D72E0 */ cpu->lr = cpu->r[0];
|
|
/* 027D72E4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D72E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D72E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D72EC */ return;
|
|
}
|
|
|
|
// fn_027D6AAC @ 0x27d6aac
|
|
void Gambit_fn_027D6AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027D6AAC: ; // 0x27d6aac
|
|
/* 027D6AAC */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027D6AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D6AB0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027D6AB4 */ _t1 = cpu->r[3] + 0x00000159u;
|
|
/* 027D6AB4 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 027D6AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6ABC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D6ABC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D6ABC */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 027D6ABC */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D6ABC */ goto L_027D6AC0;
|
|
L_027D6AC0: ; // 0x27d6ac0
|
|
/* 027D6AC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027D6AC4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D6AC8 */ cpu->r[10] = cpu->r[9];
|
|
L_027D6ACC: ; // 0x27d6acc
|
|
/* 027D6ACC */ _t5 = cpu->r[3] + 0x00000160u;
|
|
/* 027D6ACC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D6AD0 */ _t6 = cpu->r[12] + cpu->r[9];
|
|
/* 027D6AD0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 027D6AD4 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 027D6AD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D6AD8 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D6AD8 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 027D6AD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6AD8 */ if (_t9) goto L_027D6ACC; else goto L_027D6ADC;
|
|
L_027D6ADC: ; // 0x27d6adc
|
|
/* 027D6ADC */ return;
|
|
}
|
|
|
|
// fn_027D6AE0 @ 0x27d6ae0
|
|
void Gambit_fn_027D6AE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D6AE0: ; // 0x27d6ae0
|
|
/* 027D6AE0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6AE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6AE4 */ cpu->r[1] = _t0;
|
|
/* 027D6AE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6AEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6AEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D6AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6AF4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D6AF8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D6AFC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6AFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D6B00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D6B00 */ if (_t6) goto L_027D6B04; else goto L_027D6B14;
|
|
L_027D6B04: ; // 0x27d6b04
|
|
/* 027D6B04 */ cpu->r[3] = 0x0000019Cu;
|
|
/* 027D6B08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B0C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6B10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D6B10 */ if (_t8) goto L_027D6CA8; else goto L_027D6B14;
|
|
L_027D6B14: ; // 0x27d6b14
|
|
/* 027D6B14 */ cpu->r[5] = 0x10110000u;
|
|
/* 027D6B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D6B1C */ cpu->r[5] = cpu->r[5] + 0xFFFFE2C8u;
|
|
/* 027D6B20 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6B24 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027D6B28 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027D6B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B2C */ cpu->r[29] = 0x00000000u;
|
|
/* 027D6B30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D6B30 */ if (_t10) goto L_027D6B34; else goto L_027D6B44;
|
|
L_027D6B34: ; // 0x27d6b34
|
|
/* 027D6B34 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6B38 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D6B40 */ if (_t12) goto L_027D6B54; else goto L_027D6B44;
|
|
L_027D6B44: ; // 0x27d6b44
|
|
/* 027D6B44 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D6B48 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6B48 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027D6B4C */ cpu->r[12] = cpu->r[12] + 0xFFFFE288u;
|
|
/* 027D6B50 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6B50 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_027D6B54: ; // 0x27d6b54
|
|
/* 027D6B54 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6B58 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6B5C */ _t15 = cpu->r[31] + 0x00000158u;
|
|
/* 027D6B5C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[29]);
|
|
/* 027D6B60 */ cpu->r[0] = cpu->r[0] + 0xFFFFE2DCu;
|
|
/* 027D6B64 */ cpu->r[9] = cpu->r[9] + 0xFFFFE3A4u;
|
|
/* 027D6B68 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D6B6C */ _t16 = cpu->r[31] + 0x00000070u;
|
|
/* 027D6B6C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027D6B70 */ cpu->r[10] = cpu->r[10] + 0xFFFFE3B4u;
|
|
/* 027D6B74 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 027D6B74 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027D6B78 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D6B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B7C */ _t18 = cpu->r[31] + 0x00000154u;
|
|
/* 027D6B7C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027D6B80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B80 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D6B80 */ if (_t20) goto L_027D6B84; else goto L_027D6B94;
|
|
L_027D6B84: ; // 0x27d6b84
|
|
/* 027D6B84 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6B88 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B90 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B90 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6B90 */ if (_t22) goto L_027D6B9C; else goto L_027D6B94;
|
|
L_027D6B94: ; // 0x27d6b94
|
|
/* 027D6B94 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6B94 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 027D6B98 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6B98 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
L_027D6B9C: ; // 0x27d6b9c
|
|
/* 027D6B9C */ cpu->r[3] = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BA0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BA0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D6BA0 */ if (_t26) goto L_027D6BA4; else goto L_027D6BB4;
|
|
L_027D6BA4: ; // 0x27d6ba4
|
|
/* 027D6BA4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6BA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BB0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BB0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D6BB0 */ if (_t28) goto L_027D6BBC; else goto L_027D6BB4;
|
|
L_027D6BB4: ; // 0x27d6bb4
|
|
/* 027D6BB4 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6BB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 027D6BB8 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6BB8 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
L_027D6BBC: ; // 0x27d6bbc
|
|
/* 027D6BBC */ cpu->r[30] = 0x101D0000u;
|
|
/* 027D6BC0 */ _t31 = cpu->r[30] + 0xFFFF98F0u;
|
|
/* 027D6BC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6BC0 */ cpu->r[30] = _t31;
|
|
/* 027D6BC4 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D6BC8 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D6BC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D6BCC */ _t33 = cpu->r[11] + 0x00000034u;
|
|
/* 027D6BCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D6BD0 */ cpu->ctr = cpu->r[12];
|
|
/* 027D6BD4 */ cpu->r[4] = 0x00000014u;
|
|
/* 027D6BD8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6BDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BE4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BE4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D6BE4 */ if (_t35) goto L_027D6BF4; else goto L_027D6BE8;
|
|
L_027D6BE8: ; // 0x27d6be8
|
|
/* 027D6BE8 */ _t36 = cpu->r[31] + 0x00000160u;
|
|
/* 027D6BE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 027D6BEC */ cpu->r[0] = 0x00000005u;
|
|
/* 027D6BF0 */ _t37 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D6BF0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
L_027D6BF4: ; // 0x27d6bf4
|
|
/* 027D6BF4 */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 027D6BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D6BF8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D6BFC */ _t39 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D6BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D6C00 */ _t40 = cpu->r[9] + 0x00000034u;
|
|
/* 027D6C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D6C04 */ cpu->ctr = cpu->r[10];
|
|
/* 027D6C08 */ cpu->r[4] = 0x00000014u;
|
|
/* 027D6C0C */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6C10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6C18 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6C18 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027D6C18 */ if (_t42) goto L_027D6C28; else goto L_027D6C1C;
|
|
L_027D6C1C: ; // 0x27d6c1c
|
|
/* 027D6C1C */ _t43 = cpu->r[31] + 0x00000170u;
|
|
/* 027D6C1C */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 027D6C20 */ cpu->r[0] = 0x00000005u;
|
|
/* 027D6C24 */ _t44 = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6C24 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
L_027D6C28: ; // 0x27d6c28
|
|
/* 027D6C28 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D6C2C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6C34 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6C34 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027D6C34 */ if (_t46) goto L_027D6C3C; else goto L_027D6C38;
|
|
L_027D6C38: ; // 0x27d6c38
|
|
/* 027D6C38 */ Gambit_fn_027DFE08(cpu);
|
|
L_027D6C3C: ; // 0x27d6c3c
|
|
/* 027D6C3C */ _t47 = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D6C40 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D6C44 */ _t48 = cpu->r[31] + 0x00000178u;
|
|
/* 027D6C44 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 027D6C48 */ _t49 = cpu->r[31] + 0x00000164u;
|
|
/* 027D6C48 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 027D6C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6C50 */ _t50 = cpu->r[31] + 0x00000174u;
|
|
/* 027D6C50 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 027D6C54 */ _t51 = cpu->r[31] + 0x0000015Au;
|
|
/* 027D6C54 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[29]);
|
|
/* 027D6C58 */ _t52 = cpu->r[31] + 0x00000168u;
|
|
/* 027D6C58 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 027D6C5C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D6C5C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027D6C5C */ if (_t54) goto L_027D6C60; else goto L_027D6C7C;
|
|
L_027D6C60: ; // 0x27d6c60
|
|
/* 027D6C60 */ cpu->r[12] = 0x00000000u;
|
|
/* 027D6C64 */ cpu->ctr = cpu->r[0];
|
|
/* 027D6C68 */ cpu->r[0] = cpu->r[12];
|
|
L_027D6C6C: ; // 0x27d6c6c
|
|
/* 027D6C6C */ _t55 = cpu->r[31] + 0x00000170u;
|
|
/* 027D6C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D6C70 */ _t56 = cpu->r[11] + cpu->r[12];
|
|
/* 027D6C70 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 027D6C74 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027D6C78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D6C78 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D6C78 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 027D6C78 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027D6C78 */ if (_t59) goto L_027D6C6C; else goto L_027D6C7C;
|
|
L_027D6C7C: ; // 0x27d6c7c
|
|
/* 027D6C7C */ _t60 = cpu->r[31] + 0x00000184u;
|
|
/* 027D6C7C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[29]);
|
|
/* 027D6C80 */ cpu->r[10] = 0x00020000u;
|
|
/* 027D6C84 */ _t61 = cpu->r[31] + 0x0000017Cu;
|
|
/* 027D6C84 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[29]);
|
|
/* 027D6C88 */ _t62 = cpu->r[31] + 0x00000190u;
|
|
/* 027D6C88 */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
|
|
/* 027D6C8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6C90 */ _t63 = cpu->r[31] + 0x0000018Cu;
|
|
/* 027D6C90 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[29]);
|
|
/* 027D6C94 */ _t64 = cpu->r[31] + 0x00000198u;
|
|
/* 027D6C94 */ rbrew_write32(cpu->mem, _t64, cpu->r[29]);
|
|
/* 027D6C98 */ _t65 = cpu->r[31] + 0x00000194u;
|
|
/* 027D6C98 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
|
|
/* 027D6C9C */ _t66 = cpu->r[31] + 0x00000180u;
|
|
/* 027D6C9C */ rbrew_write32(cpu->mem, _t66, cpu->r[29]);
|
|
/* 027D6CA0 */ _t67 = cpu->r[31] + 0x00000188u;
|
|
/* 027D6CA0 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 027D6CA4 */ Gambit_fn_027D6AAC(cpu);
|
|
L_027D6CA8: ; // 0x27d6ca8
|
|
/* 027D6CA8 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6CA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027D6CAC */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027D6CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6CB4 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6CB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027D6CB8 */ cpu->lr = cpu->r[0];
|
|
/* 027D6CBC */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027D6CC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6CC4 */ return;
|
|
}
|
|
|
|
// fn_027D6AE4 @ 0x27d6ae4
|
|
void Gambit_fn_027D6AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D6AE4: ; // 0x27d6ae4
|
|
/* 027D6AE4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6AE4 */ cpu->r[1] = _t0;
|
|
/* 027D6AE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6AEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6AEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D6AF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6AF4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D6AF8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D6AFC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6AFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D6B00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D6B00 */ if (_t6) goto L_027D6B04; else goto L_027D6B14;
|
|
L_027D6B04: ; // 0x27d6b04
|
|
/* 027D6B04 */ cpu->r[3] = 0x0000019Cu;
|
|
/* 027D6B08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B0C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6B10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D6B10 */ if (_t8) goto L_027D6CA8; else goto L_027D6B14;
|
|
L_027D6B14: ; // 0x27d6b14
|
|
/* 027D6B14 */ cpu->r[5] = 0x10110000u;
|
|
/* 027D6B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D6B1C */ cpu->r[5] = cpu->r[5] + 0xFFFFE2C8u;
|
|
/* 027D6B20 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6B24 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027D6B28 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027D6B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B2C */ cpu->r[29] = 0x00000000u;
|
|
/* 027D6B30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D6B30 */ if (_t10) goto L_027D6B34; else goto L_027D6B44;
|
|
L_027D6B34: ; // 0x27d6b34
|
|
/* 027D6B34 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6B38 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D6B40 */ if (_t12) goto L_027D6B54; else goto L_027D6B44;
|
|
L_027D6B44: ; // 0x27d6b44
|
|
/* 027D6B44 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D6B48 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6B48 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027D6B4C */ cpu->r[12] = cpu->r[12] + 0xFFFFE288u;
|
|
/* 027D6B50 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6B50 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_027D6B54: ; // 0x27d6b54
|
|
/* 027D6B54 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D6B58 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D6B5C */ _t15 = cpu->r[31] + 0x00000158u;
|
|
/* 027D6B5C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[29]);
|
|
/* 027D6B60 */ cpu->r[0] = cpu->r[0] + 0xFFFFE2DCu;
|
|
/* 027D6B64 */ cpu->r[9] = cpu->r[9] + 0xFFFFE3A4u;
|
|
/* 027D6B68 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D6B6C */ _t16 = cpu->r[31] + 0x00000070u;
|
|
/* 027D6B6C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027D6B70 */ cpu->r[10] = cpu->r[10] + 0xFFFFE3B4u;
|
|
/* 027D6B74 */ _t17 = cpu->r[31] + 0x00000020u;
|
|
/* 027D6B74 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027D6B78 */ cpu->r[3] = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D6B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B7C */ _t18 = cpu->r[31] + 0x00000154u;
|
|
/* 027D6B7C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027D6B80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B80 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D6B80 */ if (_t20) goto L_027D6B84; else goto L_027D6B94;
|
|
L_027D6B84: ; // 0x27d6b84
|
|
/* 027D6B84 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6B88 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6B90 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6B90 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6B90 */ if (_t22) goto L_027D6B9C; else goto L_027D6B94;
|
|
L_027D6B94: ; // 0x27d6b94
|
|
/* 027D6B94 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6B94 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 027D6B98 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6B98 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
L_027D6B9C: ; // 0x27d6b9c
|
|
/* 027D6B9C */ cpu->r[3] = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BA0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BA0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D6BA0 */ if (_t26) goto L_027D6BA4; else goto L_027D6BB4;
|
|
L_027D6BA4: ; // 0x27d6ba4
|
|
/* 027D6BA4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D6BA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BB0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BB0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D6BB0 */ if (_t28) goto L_027D6BBC; else goto L_027D6BB4;
|
|
L_027D6BB4: ; // 0x27d6bb4
|
|
/* 027D6BB4 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 027D6BB4 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 027D6BB8 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 027D6BB8 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
L_027D6BBC: ; // 0x27d6bbc
|
|
/* 027D6BBC */ cpu->r[30] = 0x101D0000u;
|
|
/* 027D6BC0 */ _t31 = cpu->r[30] + 0xFFFF98F0u;
|
|
/* 027D6BC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6BC0 */ cpu->r[30] = _t31;
|
|
/* 027D6BC4 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D6BC8 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D6BC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D6BCC */ _t33 = cpu->r[11] + 0x00000034u;
|
|
/* 027D6BCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D6BD0 */ cpu->ctr = cpu->r[12];
|
|
/* 027D6BD4 */ cpu->r[4] = 0x00000014u;
|
|
/* 027D6BD8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6BDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6BE4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6BE4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D6BE4 */ if (_t35) goto L_027D6BF4; else goto L_027D6BE8;
|
|
L_027D6BE8: ; // 0x27d6be8
|
|
/* 027D6BE8 */ _t36 = cpu->r[31] + 0x00000160u;
|
|
/* 027D6BE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 027D6BEC */ cpu->r[0] = 0x00000005u;
|
|
/* 027D6BF0 */ _t37 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D6BF0 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
L_027D6BF4: ; // 0x27d6bf4
|
|
/* 027D6BF4 */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 027D6BF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D6BF8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D6BFC */ _t39 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D6BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D6C00 */ _t40 = cpu->r[9] + 0x00000034u;
|
|
/* 027D6C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D6C04 */ cpu->ctr = cpu->r[10];
|
|
/* 027D6C08 */ cpu->r[4] = 0x00000014u;
|
|
/* 027D6C0C */ cpu->r[5] = 0x00000004u;
|
|
/* 027D6C10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6C18 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6C18 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027D6C18 */ if (_t42) goto L_027D6C28; else goto L_027D6C1C;
|
|
L_027D6C1C: ; // 0x27d6c1c
|
|
/* 027D6C1C */ _t43 = cpu->r[31] + 0x00000170u;
|
|
/* 027D6C1C */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 027D6C20 */ cpu->r[0] = 0x00000005u;
|
|
/* 027D6C24 */ _t44 = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6C24 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
L_027D6C28: ; // 0x27d6c28
|
|
/* 027D6C28 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D6C2C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D6C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6C34 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6C34 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027D6C34 */ if (_t46) goto L_027D6C3C; else goto L_027D6C38;
|
|
L_027D6C38: ; // 0x27d6c38
|
|
/* 027D6C38 */ Gambit_fn_027DFE08(cpu);
|
|
L_027D6C3C: ; // 0x27d6c3c
|
|
/* 027D6C3C */ _t47 = cpu->r[31] + 0x0000016Cu;
|
|
/* 027D6C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D6C40 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D6C44 */ _t48 = cpu->r[31] + 0x00000178u;
|
|
/* 027D6C44 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 027D6C48 */ _t49 = cpu->r[31] + 0x00000164u;
|
|
/* 027D6C48 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 027D6C4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D6C50 */ _t50 = cpu->r[31] + 0x00000174u;
|
|
/* 027D6C50 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 027D6C54 */ _t51 = cpu->r[31] + 0x0000015Au;
|
|
/* 027D6C54 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[29]);
|
|
/* 027D6C58 */ _t52 = cpu->r[31] + 0x00000168u;
|
|
/* 027D6C58 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 027D6C5C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D6C5C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027D6C5C */ if (_t54) goto L_027D6C60; else goto L_027D6C7C;
|
|
L_027D6C60: ; // 0x27d6c60
|
|
/* 027D6C60 */ cpu->r[12] = 0x00000000u;
|
|
/* 027D6C64 */ cpu->ctr = cpu->r[0];
|
|
/* 027D6C68 */ cpu->r[0] = cpu->r[12];
|
|
L_027D6C6C: ; // 0x27d6c6c
|
|
/* 027D6C6C */ _t55 = cpu->r[31] + 0x00000170u;
|
|
/* 027D6C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D6C70 */ _t56 = cpu->r[11] + cpu->r[12];
|
|
/* 027D6C70 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 027D6C74 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027D6C78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D6C78 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D6C78 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 027D6C78 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027D6C78 */ if (_t59) goto L_027D6C6C; else goto L_027D6C7C;
|
|
L_027D6C7C: ; // 0x27d6c7c
|
|
/* 027D6C7C */ _t60 = cpu->r[31] + 0x00000184u;
|
|
/* 027D6C7C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[29]);
|
|
/* 027D6C80 */ cpu->r[10] = 0x00020000u;
|
|
/* 027D6C84 */ _t61 = cpu->r[31] + 0x0000017Cu;
|
|
/* 027D6C84 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[29]);
|
|
/* 027D6C88 */ _t62 = cpu->r[31] + 0x00000190u;
|
|
/* 027D6C88 */ rbrew_write32(cpu->mem, _t62, cpu->r[10]);
|
|
/* 027D6C8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6C90 */ _t63 = cpu->r[31] + 0x0000018Cu;
|
|
/* 027D6C90 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[29]);
|
|
/* 027D6C94 */ _t64 = cpu->r[31] + 0x00000198u;
|
|
/* 027D6C94 */ rbrew_write32(cpu->mem, _t64, cpu->r[29]);
|
|
/* 027D6C98 */ _t65 = cpu->r[31] + 0x00000194u;
|
|
/* 027D6C98 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
|
|
/* 027D6C9C */ _t66 = cpu->r[31] + 0x00000180u;
|
|
/* 027D6C9C */ rbrew_write32(cpu->mem, _t66, cpu->r[29]);
|
|
/* 027D6CA0 */ _t67 = cpu->r[31] + 0x00000188u;
|
|
/* 027D6CA0 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 027D6CA4 */ Gambit_fn_027D6AAC(cpu);
|
|
L_027D6CA8: ; // 0x27d6ca8
|
|
/* 027D6CA8 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6CA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027D6CAC */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027D6CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6CB4 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6CB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027D6CB8 */ cpu->lr = cpu->r[0];
|
|
/* 027D6CBC */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027D6CC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6CC4 */ return;
|
|
}
|
|
|
|
// fn_027D6CC8 @ 0x27d6cc8
|
|
void Gambit_fn_027D6CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_027D6CC8: ; // 0x27d6cc8
|
|
/* 027D6CC8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6CCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6CCC */ cpu->r[1] = _t0;
|
|
/* 027D6CD0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6CD4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027D6CD8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027D6CDC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D6CE0 */ cpu->r[28] = cpu->r[6];
|
|
/* 027D6CE4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6CE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D6CE8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6CE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D6CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 027D6CF0 */ Gambit_fn_027DF9B0(cpu);
|
|
/* 027D6CF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6CF8 */ _t6 = cpu->r[12] + 0xFFFFE150u;
|
|
/* 027D6CF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D6CF8 */ cpu->r[12] = _t6;
|
|
/* 027D6CFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6D00 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027D6D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D6D08 */ cpu->r[4] = cpu->r[4] + 0xFFFFE154u;
|
|
/* 027D6D0C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D0C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D6D0C */ if (_t8) goto L_027D6D10; else goto L_027D6D24;
|
|
L_027D6D10: ; // 0x27d6d10
|
|
/* 027D6D10 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D6D14 */ cpu->r[7] = 0x00000001u;
|
|
/* 027D6D18 */ cpu->r[8] = cpu->r[8] + 0xFFFFE2B8u;
|
|
/* 027D6D1C */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6D1C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 027D6D20 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027D6D20 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_027D6D24: ; // 0x27d6d24
|
|
/* 027D6D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6D28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D6D28 */ if (_t12) goto L_027D6D68; else goto L_027D6D2C;
|
|
L_027D6D2C: ; // 0x27d6d2c
|
|
/* 027D6D2C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 027D6D2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D6D30 */ _t14 = cpu->r[9] + 0x00000014u;
|
|
/* 027D6D30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D6D34 */ cpu->ctr = cpu->r[10];
|
|
/* 027D6D38 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6D3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6D44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D6D44 */ if (_t16) goto L_027D6D68; else goto L_027D6D48;
|
|
L_027D6D48: ; // 0x27d6d48
|
|
/* 027D6D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6D4C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D6D4C */ if (_t18) goto L_027D6D68; else goto L_027D6D50;
|
|
L_027D6D50: ; // 0x27d6d50
|
|
/* 027D6D50 */ _t19 = cpu->r[31] + 0x000006A4u;
|
|
/* 027D6D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D6D54 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D6D54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D6D58 */ Gambit_fn_027A77A4(cpu);
|
|
/* 027D6D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6D60 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6D60 */ if (_t22) goto L_027D6D68; else goto L_027D6D64;
|
|
L_027D6D64: ; // 0x27d6d64
|
|
/* 027D6D64 */ cpu->r[30] = cpu->r[28];
|
|
L_027D6D68: ; // 0x27d6d68
|
|
/* 027D6D68 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 027D6D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D6D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D6D70 */ cpu->r[10] = cpu->r[30] & cpu->r[0];
|
|
/* 027D6D74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D6D74 */ if (_t25) goto L_027D6DC0; else goto L_027D6D78;
|
|
L_027D6D78: ; // 0x27d6d78
|
|
/* 027D6D78 */ cpu->r[12] = cpu->r[10] ^ cpu->r[30];
|
|
/* 027D6D7C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027D6D80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D6D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D6D84 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D84 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D6D84 */ if (_t27) goto L_027D6D9C; else goto L_027D6D88;
|
|
L_027D6D88: ; // 0x27d6d88
|
|
/* 027D6D88 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027D6D88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D6D8C */ cpu->r[7] = cpu->r[30] & cpu->r[8];
|
|
/* 027D6D90 */ cpu->r[9] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027D6D94 */ cpu->r[6] = cpu->r[7] - cpu->r[9];
|
|
/* 027D6D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D6D98 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D98 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D6D98 */ if (_t30) goto L_027D6D9C; else goto L_027D6DC8;
|
|
L_027D6D9C: ; // 0x27d6d9c
|
|
/* 027D6D9C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6D9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6DA0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6DA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D6DA4 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D6DA8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6DA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D6DAC */ cpu->lr = cpu->r[0];
|
|
/* 027D6DB0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6DB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D6DB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6DB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D6DBC */ return;
|
|
L_027D6DC0: ; // 0x27d6dc0
|
|
/* 027D6DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 027D6DC4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6DC4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D6DC4 */ if (_t37) goto L_027D6DC8; else goto L_027D6D9C;
|
|
L_027D6DC8: ; // 0x27d6dc8
|
|
/* 027D6DC8 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6DC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D6DCC */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6DCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D6DD0 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D6DD4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D6DD8 */ cpu->lr = cpu->r[0];
|
|
/* 027D6DDC */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D6DE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6DE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D6DE8 */ return;
|
|
}
|
|
|
|
// fn_027D6CCC @ 0x27d6ccc
|
|
void Gambit_fn_027D6CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_027D6CCC: ; // 0x27d6ccc
|
|
/* 027D6CCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D6CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6CCC */ cpu->r[1] = _t0;
|
|
/* 027D6CD0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D6CD4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027D6CD8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027D6CDC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D6CE0 */ cpu->r[28] = cpu->r[6];
|
|
/* 027D6CE4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6CE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D6CE8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6CE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D6CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 027D6CF0 */ Gambit_fn_027DF9B0(cpu);
|
|
/* 027D6CF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D6CF8 */ _t6 = cpu->r[12] + 0xFFFFE150u;
|
|
/* 027D6CF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D6CF8 */ cpu->r[12] = _t6;
|
|
/* 027D6CFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D6D00 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027D6D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D6D08 */ cpu->r[4] = cpu->r[4] + 0xFFFFE154u;
|
|
/* 027D6D0C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D0C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D6D0C */ if (_t8) goto L_027D6D10; else goto L_027D6D24;
|
|
L_027D6D10: ; // 0x27d6d10
|
|
/* 027D6D10 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D6D14 */ cpu->r[7] = 0x00000001u;
|
|
/* 027D6D18 */ cpu->r[8] = cpu->r[8] + 0xFFFFE2B8u;
|
|
/* 027D6D1C */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6D1C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 027D6D20 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027D6D20 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
L_027D6D24: ; // 0x27d6d24
|
|
/* 027D6D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6D28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D6D28 */ if (_t12) goto L_027D6D68; else goto L_027D6D2C;
|
|
L_027D6D2C: ; // 0x27d6d2c
|
|
/* 027D6D2C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 027D6D2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D6D30 */ _t14 = cpu->r[9] + 0x00000014u;
|
|
/* 027D6D30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D6D34 */ cpu->ctr = cpu->r[10];
|
|
/* 027D6D38 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D6D3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D6D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6D44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D6D44 */ if (_t16) goto L_027D6D68; else goto L_027D6D48;
|
|
L_027D6D48: ; // 0x27d6d48
|
|
/* 027D6D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D6D4C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D6D4C */ if (_t18) goto L_027D6D68; else goto L_027D6D50;
|
|
L_027D6D50: ; // 0x27d6d50
|
|
/* 027D6D50 */ _t19 = cpu->r[31] + 0x000006A4u;
|
|
/* 027D6D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D6D54 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D6D54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D6D58 */ Gambit_fn_027A77A4(cpu);
|
|
/* 027D6D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6D60 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D60 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D6D60 */ if (_t22) goto L_027D6D68; else goto L_027D6D64;
|
|
L_027D6D64: ; // 0x27d6d64
|
|
/* 027D6D64 */ cpu->r[30] = cpu->r[28];
|
|
L_027D6D68: ; // 0x27d6d68
|
|
/* 027D6D68 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 027D6D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D6D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D6D70 */ cpu->r[10] = cpu->r[30] & cpu->r[0];
|
|
/* 027D6D74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D6D74 */ if (_t25) goto L_027D6DC0; else goto L_027D6D78;
|
|
L_027D6D78: ; // 0x27d6d78
|
|
/* 027D6D78 */ cpu->r[12] = cpu->r[10] ^ cpu->r[30];
|
|
/* 027D6D7C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027D6D80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D6D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D6D84 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D84 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027D6D84 */ if (_t27) goto L_027D6D9C; else goto L_027D6D88;
|
|
L_027D6D88: ; // 0x27d6d88
|
|
/* 027D6D88 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027D6D88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D6D8C */ cpu->r[7] = cpu->r[30] & cpu->r[8];
|
|
/* 027D6D90 */ cpu->r[9] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027D6D94 */ cpu->r[6] = cpu->r[7] - cpu->r[9];
|
|
/* 027D6D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D6D98 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6D98 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D6D98 */ if (_t30) goto L_027D6D9C; else goto L_027D6DC8;
|
|
L_027D6D9C: ; // 0x27d6d9c
|
|
/* 027D6D9C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6D9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D6DA0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6DA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D6DA4 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D6DA8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6DA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D6DAC */ cpu->lr = cpu->r[0];
|
|
/* 027D6DB0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6DB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D6DB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6DB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D6DBC */ return;
|
|
L_027D6DC0: ; // 0x27d6dc0
|
|
/* 027D6DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 027D6DC4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6DC4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D6DC4 */ if (_t37) goto L_027D6DC8; else goto L_027D6D9C;
|
|
L_027D6DC8: ; // 0x27d6dc8
|
|
/* 027D6DC8 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 027D6DC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D6DCC */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D6DCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D6DD0 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D6DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D6DD4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 027D6DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D6DD8 */ cpu->lr = cpu->r[0];
|
|
/* 027D6DDC */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027D6DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D6DE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D6DE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D6DE8 */ return;
|
|
}
|
|
|
|
// fn_027D6DEC @ 0x27d6dec
|
|
void Gambit_fn_027D6DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027D6DEC: ; // 0x27d6dec
|
|
/* 027D6DEC */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 027D6DEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D6DEC */ cpu->r[1] = _t0;
|
|
/* 027D6DF0 */ /* nop */
|
|
/* 027D6DF4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D6DF8 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 027D6DF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D6DFC */ cpu->r[30] = cpu->r[3];
|
|
/* 027D6E00 */ _t2 = cpu->r[30] + 0x00000159u;
|
|
/* 027D6E00 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D6E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D6E08 */ cpu->r[29] = 0x00000000u;
|
|
/* 027D6E0C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6E0C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D6E0C */ if (_t4) goto L_027D6F00; else goto L_027D6E10;
|
|
L_027D6E10: ; // 0x27d6e10
|
|
/* 027D6E10 */ _t5 = cpu->r[30] + 0x0000015Au;
|
|
/* 027D6E10 */ cpu->r[5] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027D6E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D6E18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6E18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D6E18 */ if (_t7) goto L_027D6E1C; else goto L_027D6F00;
|
|
L_027D6E1C: ; // 0x27d6e1c
|
|
/* 027D6E1C */ cpu->r[23] = 0x00000000u;
|
|
/* 027D6E20 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D6E24 */ cpu->r[28] = cpu->r[23];
|
|
L_027D6E28: ; // 0x27d6e28
|
|
/* 027D6E28 */ cpu->r[5] = 0x000004C0u;
|
|
/* 027D6E2C */ cpu->r[24] = cpu->r[28];
|
|
/* 027D6E30 */ cpu->r[25] = 0x00000000u;
|
|
/* 027D6E34 */ cpu->r[26] = 0x00000001u;
|
|
/* 027D6E38 */ cpu->r[27] = 0x000000B4u;
|
|
/* 027D6E3C */ goto L_027D6E4C;
|
|
L_027D6E40: ; // 0x27d6e40
|
|
/* 027D6E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000004u);
|
|
/* 027D6E44 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6E44 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D6E44 */ if (_t9) goto L_027D6E48; else goto L_027D6E28;
|
|
L_027D6E48: ; // 0x27d6e48
|
|
/* 027D6E48 */ cpu->r[5] = 0x00000403u;
|
|
L_027D6E4C: ; // 0x27d6e4c
|
|
/* 027D6E4C */ cpu->r[6] = 0x00000403u;
|
|
/* 027D6E50 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D6E54 */ cpu->r[3] = cpu->r[23];
|
|
/* 027D6E58 */ Gambit_fn_027D6CC8(cpu);
|
|
/* 027D6E5C */ _t10 = cpu->r[30] + 0x0000015Cu;
|
|
/* 027D6E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D6E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6E64 */ _t11 = cpu->r[30] + 0x00000160u;
|
|
/* 027D6E64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D6E68 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6E68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D6E68 */ if (_t13) goto L_027D6E98; else goto L_027D6E6C;
|
|
L_027D6E6C: ; // 0x27d6e6c
|
|
/* 027D6E6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]);
|
|
/* 027D6E70 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6E70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D6E70 */ if (_t15) goto L_027D6E74; else goto L_027D6E78;
|
|
L_027D6E74: ; // 0x27d6e74
|
|
/* 027D6E74 */ cpu->r[7] = cpu->r[7] + cpu->r[24];
|
|
L_027D6E78: ; // 0x27d6e78
|
|
/* 027D6E78 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 027D6E78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D6E7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D6E80 */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 027D6E80 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 027D6E84 */ _t18 = cpu->r[30] + 0x0000015Cu;
|
|
/* 027D6E84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D6E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[4]);
|
|
/* 027D6E8C */ _t19 = cpu->r[30] + 0x00000160u;
|
|
/* 027D6E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D6E90 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6E90 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D6E90 */ if (_t21) goto L_027D6EB8; else goto L_027D6E94;
|
|
L_027D6E94: ; // 0x27d6e94
|
|
/* 027D6E94 */ goto L_027D6EBC;
|
|
L_027D6E98: ; // 0x27d6e98
|
|
/* 027D6E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[12]);
|
|
/* 027D6E9C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6E9C */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D6E9C */ if (_t23) goto L_027D6EA0; else goto L_027D6EA4;
|
|
L_027D6EA0: ; // 0x27d6ea0
|
|
/* 027D6EA0 */ cpu->r[7] = cpu->r[7] + cpu->r[24];
|
|
L_027D6EA4: ; // 0x27d6ea4
|
|
/* 027D6EA4 */ _t24 = cpu->r[7] + 0x00000000u;
|
|
/* 027D6EA4 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 027D6EA8 */ _t25 = cpu->r[30] + 0x0000015Cu;
|
|
/* 027D6EA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D6EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[4]);
|
|
/* 027D6EB0 */ _t26 = cpu->r[30] + 0x00000160u;
|
|
/* 027D6EB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D6EB4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6EB4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D6EB4 */ if (_t28) goto L_027D6EB8; else goto L_027D6E94;
|
|
L_027D6EB8: ; // 0x27d6eb8
|
|
/* 027D6EB8 */ cpu->r[8] = cpu->r[8] + cpu->r[24];
|
|
L_027D6EBC: ; // 0x27d6ebc
|
|
/* 027D6EBC */ _t29 = cpu->r[8] + 0x00000000u;
|
|
/* 027D6EBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D6EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000003Cu);
|
|
/* 027D6EC4 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D6EC4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D6EC4 */ if (_t31) goto L_027D6EC8; else goto L_027D6EEC;
|
|
L_027D6EC8: ; // 0x27d6ec8
|
|
/* 027D6EC8 */ _t32 = cpu->r[31] + 0xFFFF9560u;
|
|
/* 027D6EC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D6ECC */ _t33 = cpu->r[7] + 0x0000015Cu;
|
|
/* 027D6ECC */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 027D6ED0 */ _t34 = cpu->r[30] + 0x0000015Cu;
|
|
/* 027D6ED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D6ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[6]);
|
|
/* 027D6ED8 */ _t35 = cpu->r[30] + 0x00000160u;
|
|
/* 027D6ED8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D6EDC */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6EDC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D6EDC */ if (_t37) goto L_027D6EE0; else goto L_027D6EE4;
|
|
L_027D6EE0: ; // 0x27d6ee0
|
|
/* 027D6EE0 */ cpu->r[9] = cpu->r[9] + cpu->r[24];
|
|
L_027D6EE4: ; // 0x27d6ee4
|
|
/* 027D6EE4 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 027D6EE4 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 027D6EE8 */ _t39 = cpu->r[30] + 0x0000015Au;
|
|
/* 027D6EE8 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[26]);
|
|
L_027D6EEC: ; // 0x27d6eec
|
|
/* 027D6EEC */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 027D6EF0 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 027D6EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000005u);
|
|
/* 027D6EF8 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 027D6EFC */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6EFC */ _t41 = _t40 & 0x00000001u;
|
|
/* 027D6EFC */ if (_t41) goto L_027D6E40; else goto L_027D6F00;
|
|
L_027D6F00: ; // 0x27d6f00
|
|
/* 027D6F00 */ _t42 = cpu->r[30] + 0x00000164u;
|
|
/* 027D6F00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t42);
|
|
/* 027D6F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D6F08 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6F08 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027D6F08 */ if (_t44) goto L_027D6FF0; else goto L_027D6F0C;
|
|
L_027D6F0C: ; // 0x27d6f0c
|
|
/* 027D6F0C */ _t45 = cpu->r[30] + 0x00000168u;
|
|
/* 027D6F0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D6F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0xFFFFFFFFu);
|
|
/* 027D6F14 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6F14 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027D6F14 */ if (_t47) goto L_027D7050; else goto L_027D6F18;
|
|
L_027D6F18: ; // 0x27d6f18
|
|
/* 027D6F18 */ Gambit_fn_027FADD4(cpu);
|
|
/* 027D6F1C */ _t48 = cpu->r[30] + 0x00000168u;
|
|
/* 027D6F1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D6F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
|
|
/* 027D6F24 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6F24 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027D6F24 */ if (_t50) goto L_027D6FF4; else goto L_027D6F28;
|
|
L_027D6F28: ; // 0x27d6f28
|
|
/* 027D6F28 */ cpu->r[25] = 0x00000000u;
|
|
/* 027D6F2C */ cpu->r[28] = 0x00020000u;
|
|
/* 027D6F30 */ cpu->r[27] = cpu->r[25];
|
|
/* 027D6F34 */ cpu->r[26] = 0x00000005u;
|
|
/* 027D6F38 */ cpu->r[28] = cpu->r[28] + 0x00000202u;
|
|
/* 027D6F3C */ cpu->r[31] = cpu->r[27];
|
|
L_027D6F40: ; // 0x27d6f40
|
|
/* 027D6F40 */ cpu->r[6] = cpu->r[28];
|
|
/* 027D6F44 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D6F48 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D6F4C */ cpu->r[3] = cpu->r[25];
|
|
/* 027D6F50 */ Gambit_fn_027D6CC8(cpu);
|
|
/* 027D6F54 */ _t51 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D6F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D6F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D6F5C */ _t52 = cpu->r[30] + 0x00000170u;
|
|
/* 027D6F5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D6F60 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6F60 */ _t54 = _t53 & 0x00000001u;
|
|
/* 027D6F60 */ if (_t54) goto L_027D6F90; else goto L_027D6F64;
|
|
L_027D6F64: ; // 0x27d6f64
|
|
/* 027D6F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 027D6F68 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6F68 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027D6F68 */ if (_t56) goto L_027D6F6C; else goto L_027D6F70;
|
|
L_027D6F6C: ; // 0x27d6f6c
|
|
/* 027D6F6C */ cpu->r[10] = cpu->r[10] + cpu->r[27];
|
|
L_027D6F70: ; // 0x27d6f70
|
|
/* 027D6F70 */ _t57 = cpu->r[10] + 0x00000000u;
|
|
/* 027D6F70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027D6F74 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D6F78 */ _t58 = cpu->r[10] + 0x00000000u;
|
|
/* 027D6F78 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 027D6F7C */ _t59 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D6F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027D6F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 027D6F84 */ _t60 = cpu->r[30] + 0x00000170u;
|
|
/* 027D6F84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027D6F88 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6F88 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027D6F88 */ if (_t62) goto L_027D6FB0; else goto L_027D6F8C;
|
|
L_027D6F8C: ; // 0x27d6f8c
|
|
/* 027D6F8C */ goto L_027D6FB4;
|
|
L_027D6F90: ; // 0x27d6f90
|
|
/* 027D6F90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 027D6F94 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6F94 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027D6F94 */ if (_t64) goto L_027D6F98; else goto L_027D6F9C;
|
|
L_027D6F98: ; // 0x27d6f98
|
|
/* 027D6F98 */ cpu->r[10] = cpu->r[10] + cpu->r[27];
|
|
L_027D6F9C: ; // 0x27d6f9c
|
|
/* 027D6F9C */ _t65 = cpu->r[10] + 0x00000000u;
|
|
/* 027D6F9C */ rbrew_write32(cpu->mem, _t65, cpu->r[31]);
|
|
/* 027D6FA0 */ _t66 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D6FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027D6FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 027D6FA8 */ _t67 = cpu->r[30] + 0x00000170u;
|
|
/* 027D6FA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027D6FAC */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6FAC */ _t69 = _t68 & 0x00000001u;
|
|
/* 027D6FAC */ if (_t69) goto L_027D6FB0; else goto L_027D6F8C;
|
|
L_027D6FB0: ; // 0x27d6fb0
|
|
/* 027D6FB0 */ cpu->r[11] = cpu->r[11] + cpu->r[27];
|
|
L_027D6FB4: ; // 0x27d6fb4
|
|
/* 027D6FB4 */ _t70 = cpu->r[11] + 0x00000000u;
|
|
/* 027D6FB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027D6FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000000B4u);
|
|
/* 027D6FBC */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D6FBC */ _t72 = _t71 & 0x00000001u;
|
|
/* 027D6FBC */ if (_t72) goto L_027D6FC0; else goto L_027D6FE0;
|
|
L_027D6FC0: ; // 0x27d6fc0
|
|
/* 027D6FC0 */ _t73 = cpu->r[30] + 0x00000168u;
|
|
/* 027D6FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027D6FC4 */ Gambit_fn_027FAA1C(cpu);
|
|
/* 027D6FC8 */ _t74 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D6FC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027D6FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[5]);
|
|
/* 027D6FD0 */ _t75 = cpu->r[30] + 0x00000170u;
|
|
/* 027D6FD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027D6FD4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D6FD4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 027D6FD4 */ if (_t77) goto L_027D6FD8; else goto L_027D6FDC;
|
|
L_027D6FD8: ; // 0x27d6fd8
|
|
/* 027D6FD8 */ cpu->r[12] = cpu->r[12] + cpu->r[27];
|
|
L_027D6FDC: ; // 0x27d6fdc
|
|
/* 027D6FDC */ _t78 = cpu->r[12] + 0x00000000u;
|
|
/* 027D6FDC */ rbrew_write32(cpu->mem, _t78, cpu->r[31]);
|
|
L_027D6FE0: ; // 0x27d6fe0
|
|
/* 027D6FE0 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027D6FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D6FE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027D6FE8 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 027D6FEC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6FEC */ _t80 = _t79 & 0x00000001u;
|
|
/* 027D6FEC */ if (_t80) goto L_027D6FF0; else goto L_027D6F40;
|
|
L_027D6FF0: ; // 0x27d6ff0
|
|
/* 027D6FF0 */ _t81 = cpu->r[30] + 0x00000168u;
|
|
/* 027D6FF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
L_027D6FF4: ; // 0x27d6ff4
|
|
/* 027D6FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 027D6FF8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D6FF8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027D6FF8 */ if (_t83) goto L_027D7050; else goto L_027D6FFC;
|
|
L_027D6FFC: ; // 0x27d6ffc
|
|
/* 027D6FFC */ _t84 = cpu->r[30] + 0x00000174u;
|
|
/* 027D6FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027D7000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 027D7004 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7004 */ _t86 = _t85 & 0x00000001u;
|
|
/* 027D7004 */ if (_t86) goto L_027D7050; else goto L_027D7008;
|
|
L_027D7008: ; // 0x27d7008
|
|
/* 027D7008 */ _t87 = cpu->r[30] + 0x00000184u;
|
|
/* 027D7008 */ cpu->r[5] = rbrew_read8(cpu->mem, _t87);
|
|
/* 027D700C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D7010 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7010 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027D7010 */ if (_t89) goto L_027D7014; else goto L_027D7054;
|
|
L_027D7014: ; // 0x27d7014
|
|
/* 027D7014 */ Gambit_fn_027FADD4(cpu);
|
|
/* 027D7018 */ _t90 = cpu->r[30] + 0x00000168u;
|
|
/* 027D7018 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027D701C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[7]);
|
|
/* 027D7020 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7020 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027D7020 */ if (_t92) goto L_027D7050; else goto L_027D7024;
|
|
L_027D7024: ; // 0x27d7024
|
|
/* 027D7024 */ _t93 = cpu->r[30] + 0x00000178u;
|
|
/* 027D7024 */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027D7028 */ Gambit_fn_027DFEE8(cpu);
|
|
/* 027D702C */ _t94 = cpu->r[30] + 0x00000178u;
|
|
/* 027D702C */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027D7030 */ Gambit_fn_027E01A4(cpu);
|
|
/* 027D7034 */ _t95 = cpu->r[30] + 0x00000174u;
|
|
/* 027D7034 */ cpu->r[8] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027D7038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[8]);
|
|
/* 027D703C */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D703C */ _t97 = _t96 & 0x00000001u;
|
|
/* 027D703C */ if (_t97) goto L_027D7040; else goto L_027D7050;
|
|
L_027D7040: ; // 0x27d7040
|
|
/* 027D7040 */ _t98 = cpu->r[30] + 0x00000168u;
|
|
/* 027D7040 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027D7044 */ Gambit_fn_027FAA1C(cpu);
|
|
/* 027D7048 */ _t99 = cpu->r[30] + 0x00000178u;
|
|
/* 027D7048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027D704C */ Gambit_fn_027DFDDC(cpu);
|
|
L_027D7050: ; // 0x27d7050
|
|
/* 027D7050 */ _t100 = cpu->r[30] + 0x00000184u;
|
|
/* 027D7050 */ cpu->r[5] = rbrew_read8(cpu->mem, _t100);
|
|
L_027D7054: ; // 0x27d7054
|
|
/* 027D7054 */ _t101 = cpu->r[30] + 0x0000017Cu;
|
|
/* 027D7054 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 027D7058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D705C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D705C */ _t103 = _t102 & 0x00000001u;
|
|
/* 027D705C */ if (_t103) goto L_027D7078; else goto L_027D7060;
|
|
L_027D7060: ; // 0x27d7060
|
|
/* 027D7060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D7064 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7064 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027D7064 */ if (_t105) goto L_027D7068; else goto L_027D70DC;
|
|
L_027D7068: ; // 0x27d7068
|
|
/* 027D7068 */ _t106 = cpu->r[30] + 0x00000180u;
|
|
/* 027D7068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027D706C */ _t107 = cpu->r[30] + 0x00000184u;
|
|
/* 027D706C */ cpu->r[5] = rbrew_read8(cpu->mem, _t107);
|
|
/* 027D7070 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027D7074 */ _t108 = cpu->r[30] + 0x00000180u;
|
|
/* 027D7074 */ rbrew_write32(cpu->mem, _t108, cpu->r[10]);
|
|
L_027D7078: ; // 0x27d7078
|
|
/* 027D7078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D707C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D707C */ _t110 = _t109 & 0x00000001u;
|
|
/* 027D707C */ if (_t110) goto L_027D7080; else goto L_027D70DC;
|
|
L_027D7080: ; // 0x27d7080
|
|
/* 027D7080 */ cpu->r[5] = 0x00040000u;
|
|
/* 027D7084 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D7088 */ cpu->r[3] = 0x00000004u;
|
|
/* 027D708C */ cpu->r[5] = cpu->r[5] + 0x00000210u;
|
|
/* 027D7090 */ cpu->r[6] = cpu->r[4];
|
|
/* 027D7094 */ Gambit_fn_027D6CC8(cpu);
|
|
/* 027D7098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D709C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D709C */ _t112 = _t111 & 0x00000001u;
|
|
/* 027D709C */ if (_t112) goto L_027D70A0; else goto L_027D70A8;
|
|
L_027D70A0: ; // 0x27d70a0
|
|
/* 027D70A0 */ _t113 = cpu->r[30] + 0x00000188u;
|
|
/* 027D70A0 */ rbrew_write32(cpu->mem, _t113, cpu->r[29]);
|
|
/* 027D70A4 */ goto L_027D70DC;
|
|
L_027D70A8: ; // 0x27d70a8
|
|
/* 027D70A8 */ _t114 = cpu->r[30] + 0x00000188u;
|
|
/* 027D70A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t114);
|
|
/* 027D70AC */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 027D70B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000003Cu);
|
|
/* 027D70B4 */ _t115 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D70B4 */ _t116 = _t115 & 0x00000001u;
|
|
/* 027D70B4 */ if (_t116) goto L_027D70CC; else goto L_027D70B8;
|
|
L_027D70B8: ; // 0x27d70b8
|
|
/* 027D70B8 */ _t117 = cpu->r[30] + 0x00000188u;
|
|
/* 027D70B8 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
|
|
/* 027D70BC */ _t118 = cpu->r[30] + 0x0000018Cu;
|
|
/* 027D70BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 027D70C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D70C4 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D70C4 */ _t120 = _t119 & 0x00000001u;
|
|
/* 027D70C4 */ if (_t120) goto L_027D7164; else goto L_027D70C8;
|
|
L_027D70C8: ; // 0x27d70c8
|
|
/* 027D70C8 */ goto L_027D70E8;
|
|
L_027D70CC: ; // 0x27d70cc
|
|
/* 027D70CC */ _t121 = cpu->r[30] + 0x00000188u;
|
|
/* 027D70CC */ rbrew_write32(cpu->mem, _t121, cpu->r[29]);
|
|
/* 027D70D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D70D4 */ _t122 = cpu->r[30] + 0x00000184u;
|
|
/* 027D70D4 */ rbrew_write8(cpu->mem, _t122, (uint8_t)cpu->r[0]);
|
|
/* 027D70D8 */ _t123 = cpu->r[30] + 0x00000180u;
|
|
/* 027D70D8 */ rbrew_write32(cpu->mem, _t123, cpu->r[29]);
|
|
L_027D70DC: ; // 0x27d70dc
|
|
/* 027D70DC */ _t124 = cpu->r[30] + 0x0000018Cu;
|
|
/* 027D70DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 027D70E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D70E4 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D70E4 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027D70E4 */ if (_t126) goto L_027D7164; else goto L_027D70E8;
|
|
L_027D70E8: ; // 0x27d70e8
|
|
/* 027D70E8 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027D70EC */ cpu->r[28] = 0x00000005u;
|
|
/* 027D70F0 */ cpu->r[31] = cpu->r[31] + 0x00005E30u;
|
|
/* 027D70F4 */ cpu->r[27] = 0x00000000u;
|
|
L_027D70F8: ; // 0x27d70f8
|
|
/* 027D70F8 */ _t127 = cpu->r[30] + 0x00000190u;
|
|
/* 027D70F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t127);
|
|
/* 027D70FC */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7100 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D7104 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D7108 */ Gambit_fn_027D6CC8(cpu);
|
|
/* 027D710C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7110 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7110 */ _t129 = _t128 & 0x00000001u;
|
|
/* 027D7110 */ if (_t129) goto L_027D7158; else goto L_027D7114;
|
|
L_027D7114: ; // 0x27d7114
|
|
/* 027D7114 */ cpu->r[9] = 0x00000003u;
|
|
/* 027D7118 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 027D711C */ cpu->ctr = cpu->r[9];
|
|
/* 027D7120 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
L_027D7124: ; // 0x27d7124
|
|
/* 027D7124 */ _t130 = cpu->r[7] + 0x00000004u;
|
|
/* 027D7124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027D7128 */ _t131 = cpu->r[8] + 0x00000004u;
|
|
/* 027D7128 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]);
|
|
/* 027D712C */ _t132 = cpu->r[7] + 0x00000008u;
|
|
/* 027D712C */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
|
|
/* 027D7130 */ _t133 = cpu->r[8] + 0x00000008u;
|
|
/* 027D7130 */ rbrew_write32(cpu->mem, _t133, cpu->r[11]);
|
|
/* 027D7134 */ _t134 = cpu->r[7] + 0x0000000Cu;
|
|
/* 027D7134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027D7138 */ _t135 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027D7138 */ rbrew_write32(cpu->mem, _t135, cpu->r[12]);
|
|
/* 027D713C */ _t136 = cpu->r[7] + 0x00000010u;
|
|
/* 027D713C */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 027D713C */ cpu->r[7] = _t136;
|
|
/* 027D7140 */ _t137 = cpu->r[8] + 0x00000010u;
|
|
/* 027D7140 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 027D7140 */ cpu->r[8] = _t137;
|
|
/* 027D7144 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D7144 */ _t138 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D7144 */ _t139 = _t138 >> (0x00000002u & 31u);
|
|
/* 027D7144 */ _t140 = _t139 & 0x00000001u;
|
|
/* 027D7144 */ if (_t140) goto L_027D7124; else goto L_027D7148;
|
|
L_027D7148: ; // 0x27d7148
|
|
/* 027D7148 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D714C */ Gambit_fn_027DF9B0(cpu);
|
|
/* 027D7150 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D7154 */ Gambit_fn_027A0B7C(cpu);
|
|
L_027D7158: ; // 0x27d7158
|
|
/* 027D7158 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 027D7158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D715C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 027D7160 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7160 */ _t142 = _t141 & 0x00000001u;
|
|
/* 027D7160 */ if (_t142) goto L_027D7164; else goto L_027D70F8;
|
|
L_027D7164: ; // 0x27d7164
|
|
/* 027D7164 */ _t143 = cpu->r[30] + 0x00000194u;
|
|
/* 027D7164 */ cpu->r[4] = rbrew_read8(cpu->mem, _t143);
|
|
/* 027D7168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D716C */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D716C */ _t145 = _t144 & 0x00000001u;
|
|
/* 027D716C */ if (_t145) goto L_027D71AC; else goto L_027D7170;
|
|
L_027D7170: ; // 0x27d7170
|
|
/* 027D7170 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027D7174 */ cpu->r[12] = 0x00020000u;
|
|
/* 027D7178 */ _t146 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027D717C */ cpu->r[7] = cpu->r[12] + 0x0000603Fu;
|
|
/* 027D7180 */ cpu->r[8] = cpu->r[7] & cpu->r[10];
|
|
/* 027D7184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027D7188 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7188 */ _t148 = _t147 & 0x00000001u;
|
|
/* 027D7188 */ if (_t148) goto L_027D718C; else goto L_027D71A8;
|
|
L_027D718C: ; // 0x27d718c
|
|
/* 027D718C */ _t149 = cpu->r[30] + 0x00000198u;
|
|
/* 027D718C */ cpu->r[9] = rbrew_read32(cpu->mem, _t149);
|
|
/* 027D7190 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027D7194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000003Cu);
|
|
/* 027D7198 */ _t150 = cpu->r[30] + 0x00000198u;
|
|
/* 027D7198 */ rbrew_write32(cpu->mem, _t150, cpu->r[9]);
|
|
/* 027D719C */ _t151 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D719C */ _t152 = _t151 & 0x00000001u;
|
|
/* 027D719C */ if (_t152) goto L_027D71A0; else goto L_027D71AC;
|
|
L_027D71A0: ; // 0x27d71a0
|
|
/* 027D71A0 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027D71A4 */ Gambit_fn_027A4ADC(cpu);
|
|
L_027D71A8: ; // 0x27d71a8
|
|
/* 027D71A8 */ _t153 = cpu->r[30] + 0x00000198u;
|
|
/* 027D71A8 */ rbrew_write32(cpu->mem, _t153, cpu->r[29]);
|
|
L_027D71AC: ; // 0x27d71ac
|
|
/* 027D71AC */ /* nop */
|
|
/* 027D71B0 */ _t154 = cpu->r[1] + 0x00000064u;
|
|
/* 027D71B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027D71B4 */ cpu->lr = cpu->r[0];
|
|
/* 027D71B8 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 027D71BC */ return;
|
|
}
|
|
|
|
// fn_027D71C0 @ 0x27d71c0
|
|
void Gambit_fn_027D71C0(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_027D71C0: ; // 0x27d71c0
|
|
/* 027D71C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D71C4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D71C4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D71C4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D71C4 */ goto L_027D71C8;
|
|
L_027D71C8: ; // 0x27d71c8
|
|
/* 027D71C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D71C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D71CC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D71CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D71CC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D71CC */ goto L_027D71D0;
|
|
L_027D71D0: ; // 0x27d71d0
|
|
/* 027D71D0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D71D8 @ 0x27d71d8
|
|
void Gambit_fn_027D71D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D71D8: ; // 0x27d71d8
|
|
/* 027D71D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D71D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D71D8 */ cpu->r[1] = _t0;
|
|
/* 027D71DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D71DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D71E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D71E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D71E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D71E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D71E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D71EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D71EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D71F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D71F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D71F0 */ if (_t5) goto L_027D7234; else goto L_027D71F4;
|
|
L_027D71F4: ; // 0x27d71f4
|
|
/* 027D71F4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D71F8 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D71FC */ cpu->r[0] = cpu->r[0] + 0xFFFFE298u;
|
|
/* 027D7200 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7204 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D7204 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D7208 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D720C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D7210 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7214 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D7218 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D721C */ cpu->r[4] = 0x00000000u;
|
|
/* 027D7220 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D7224 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D7224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7228 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7228 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D7228 */ if (_t8) goto L_027D7234; else goto L_027D722C;
|
|
L_027D722C: ; // 0x27d722c
|
|
/* 027D722C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7230 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D7234: ; // 0x27d7234
|
|
/* 027D7234 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D7238 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7238 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D723C */ cpu->lr = cpu->r[0];
|
|
/* 027D7240 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D7244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7248 */ return;
|
|
}
|
|
|
|
// fn_027D724C @ 0x27d724c
|
|
void Gambit_fn_027D724C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D724C: ; // 0x27d724c
|
|
/* 027D724C */ cpu->r[0] = cpu->lr;
|
|
/* 027D7250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7250 */ cpu->r[1] = _t0;
|
|
/* 027D7254 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7254 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7258 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7258 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D725C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7260 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D7264 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7264 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D7268 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7268 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D7268 */ if (_t5) goto L_027D72D8; else goto L_027D726C;
|
|
L_027D726C: ; // 0x27d726c
|
|
/* 027D726C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7270 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D7274 */ cpu->r[12] = cpu->r[12] + 0xFFFFE3A4u;
|
|
/* 027D7278 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D727C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D727C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D7280 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3B4u;
|
|
/* 027D7284 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7288 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D7288 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D728C */ Gambit_fn_027D6A58(cpu);
|
|
/* 027D7290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7294 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7294 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7294 */ if (_t9) goto L_027D72C8; else goto L_027D7298;
|
|
L_027D7298: ; // 0x27d7298
|
|
/* 027D7298 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D729C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D72A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE298u;
|
|
/* 027D72A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72A8 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D72A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D72AC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72B0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D72B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D72C4 */ Gambit_fn_028136EC(cpu);
|
|
L_027D72C8: ; // 0x27d72c8
|
|
/* 027D72C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D72C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D72CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D72CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D72CC */ if (_t12) goto L_027D72D8; else goto L_027D72D0;
|
|
L_027D72D0: ; // 0x27d72d0
|
|
/* 027D72D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D72D8: ; // 0x27d72d8
|
|
/* 027D72D8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D72D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D72DC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D72DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D72E0 */ cpu->lr = cpu->r[0];
|
|
/* 027D72E4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D72E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D72E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D72EC */ return;
|
|
}
|
|
|
|
// fn_027D7250 @ 0x27d7250
|
|
void Gambit_fn_027D7250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D7250: ; // 0x27d7250
|
|
/* 027D7250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7250 */ cpu->r[1] = _t0;
|
|
/* 027D7254 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7254 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7258 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7258 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D725C */ cpu->r[30] = cpu->r[3];
|
|
/* 027D725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7260 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D7264 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7264 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D7268 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7268 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D7268 */ if (_t5) goto L_027D72D8; else goto L_027D726C;
|
|
L_027D726C: ; // 0x27d726c
|
|
/* 027D726C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7270 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D7274 */ cpu->r[12] = cpu->r[12] + 0xFFFFE3A4u;
|
|
/* 027D7278 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D727C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D727C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D7280 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3B4u;
|
|
/* 027D7284 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D7288 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D7288 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D728C */ Gambit_fn_027D6A58(cpu);
|
|
/* 027D7290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7294 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7294 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7294 */ if (_t9) goto L_027D72C8; else goto L_027D7298;
|
|
L_027D7298: ; // 0x27d7298
|
|
/* 027D7298 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D729C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D72A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE298u;
|
|
/* 027D72A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72A8 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D72A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D72AC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72B0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D72B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D72B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D72BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D72C4 */ Gambit_fn_028136EC(cpu);
|
|
L_027D72C8: ; // 0x27d72c8
|
|
/* 027D72C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D72C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D72CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D72CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D72CC */ if (_t12) goto L_027D72D8; else goto L_027D72D0;
|
|
L_027D72D0: ; // 0x27d72d0
|
|
/* 027D72D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D72D4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D72D8: ; // 0x27d72d8
|
|
/* 027D72D8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D72D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D72DC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D72DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D72E0 */ cpu->lr = cpu->r[0];
|
|
/* 027D72E4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D72E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D72E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D72EC */ return;
|
|
}
|
|
|
|
// fn_027D72F0 @ 0x27d72f0
|
|
void Gambit_fn_027D72F0(CPUState* cpu) {
|
|
L_027D72F0: ; // 0x27d72f0
|
|
/* 027D72F0 */ return;
|
|
}
|
|
|
|
// fn_027D72F4 @ 0x27d72f4
|
|
void Gambit_fn_027D72F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D72F4: ; // 0x27d72f4
|
|
/* 027D72F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D72F8 */ _t0 = cpu->r[12] + 0xFFFFDAE4u;
|
|
/* 027D72F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D72FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D7300 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D7304 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027D7308 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7308 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D7308 */ if (_t2) goto L_027D730C; else goto L_027D7324;
|
|
L_027D730C: ; // 0x27d730c
|
|
/* 027D730C */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7310 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D7314 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D7318 */ cpu->r[0] = cpu->r[0] + 0xFFFFE2A8u;
|
|
/* 027D731C */ _t3 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 027D731C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027D7320 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027D7320 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_027D7324: ; // 0x27d7324
|
|
/* 027D7324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D7328 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7328 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D7328 */ if (_t6) goto L_027D732C; else goto L_027D7334;
|
|
L_027D732C: ; // 0x27d732c
|
|
/* 027D732C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D7330 */ return;
|
|
L_027D7334: ; // 0x27d7334
|
|
/* 027D7334 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D7338 */ _t7 = cpu->r[11] + 0xFFFFD868u;
|
|
/* 027D7338 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D7338 */ cpu->r[11] = _t7;
|
|
/* 027D733C */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D7340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D7344 */ cpu->r[10] = cpu->r[10] + 0xFFFFDD70u;
|
|
/* 027D7348 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7348 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7348 */ if (_t9) goto L_027D734C; else goto L_027D7360;
|
|
L_027D734C: ; // 0x27d734c
|
|
/* 027D734C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7350 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D7354 */ cpu->r[12] = cpu->r[12] + 0xFFFFE278u;
|
|
/* 027D7358 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 027D7358 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D735C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 027D735C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_027D7360: ; // 0x27d7360
|
|
/* 027D7360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027D7364 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7364 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D7364 */ if (_t13) goto L_027D7368; else goto L_027D7370;
|
|
L_027D7368: ; // 0x27d7368
|
|
/* 027D7368 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D736C */ goto L_027D73A8;
|
|
L_027D7370: ; // 0x27d7370
|
|
/* 027D7370 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D7374 */ _t14 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 027D7374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D7374 */ cpu->r[8] = _t14;
|
|
/* 027D7378 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D737C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7380 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 027D7384 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7384 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D7384 */ if (_t16) goto L_027D7388; else goto L_027D739C;
|
|
L_027D7388: ; // 0x27d7388
|
|
/* 027D7388 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D738C */ cpu->r[9] = 0x00000001u;
|
|
/* 027D7390 */ cpu->r[10] = cpu->r[10] + 0xFFFFE250u;
|
|
/* 027D7394 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 027D7394 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027D7398 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027D7398 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_027D739C: ; // 0x27d739c
|
|
/* 027D739C */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027D73A0 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027D73A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027D73A8: ; // 0x27d73a8
|
|
/* 027D73A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D73AC */ return;
|
|
}
|
|
|
|
// fn_027D73B0 @ 0x27d73b0
|
|
void Gambit_fn_027D73B0(CPUState* cpu) {
|
|
L_027D73B0: ; // 0x27d73b0
|
|
/* 027D73B0 */ return;
|
|
}
|
|
|
|
// fn_027D73B4 @ 0x27d73b4
|
|
void Gambit_fn_027D73B4(CPUState* cpu) {
|
|
L_027D73B4: ; // 0x27d73b4
|
|
/* 027D73B4 */ return;
|
|
}
|
|
|
|
// fn_027D73B8 @ 0x27d73b8
|
|
void Gambit_fn_027D73B8(CPUState* cpu) {
|
|
L_027D73B8: ; // 0x27d73b8
|
|
/* 027D73B8 */ return;
|
|
}
|
|
|
|
// fn_027D73BC @ 0x27d73bc
|
|
void Gambit_fn_027D73BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027D73BC: ; // 0x27d73bc
|
|
/* 027D73BC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D73BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D73BC */ cpu->r[1] = _t0;
|
|
/* 027D73C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D73C4 */ /* nop */
|
|
/* 027D73C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D73CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D73CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D73D0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D73D4 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027D73D8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027D73DC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D73E0 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D73E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027D73E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D73E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D73E4 */ if (_t3) goto L_027D748C; else goto L_027D73E8;
|
|
L_027D73E8: ; // 0x27d73e8
|
|
/* 027D73E8 */ cpu->r[28] = cpu->r[26];
|
|
/* 027D73E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D73EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D73EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D73EC */ if (_t5) goto L_027D73F0; else goto L_027D7400;
|
|
L_027D73F0: ; // 0x27d73f0
|
|
/* 027D73F0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027D73F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D73F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D73F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D73FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D73FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D73FC */ if (_t7) goto L_027D7470; else goto L_027D7400;
|
|
L_027D7400: ; // 0x27d7400
|
|
/* 027D7400 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7404 */ cpu->r[27] = 0x10110000u;
|
|
/* 027D7408 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7408 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7408 */ if (_t9) goto L_027D740C; else goto L_027D7438;
|
|
L_027D740C: ; // 0x27d740c
|
|
/* 027D740C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D7410 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7418 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7418 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D7418 */ if (_t11) goto L_027D741C; else goto L_027D7438;
|
|
L_027D741C: ; // 0x27d741c
|
|
/* 027D741C */ cpu->r[11] = 0x10110000u;
|
|
/* 027D7420 */ _t12 = cpu->r[27] + 0x00007399u;
|
|
/* 027D7420 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027D7424 */ cpu->r[11] = cpu->r[11] + 0xFFFFE3F4u;
|
|
/* 027D7428 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 027D7428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D742C */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 027D742C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 027D7430 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 027D7430 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 027D7434 */ goto L_027D7470;
|
|
L_027D7438: ; // 0x27d7438
|
|
/* 027D7438 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D743C */ cpu->r[8] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D7440 */ cpu->r[9] = cpu->r[9] + 0xFFFFE3DCu;
|
|
/* 027D7444 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7444 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 027D7448 */ cpu->r[10] = 0x00000040u;
|
|
/* 027D744C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 027D744C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027D7450 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7450 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027D7454 */ _t19 = cpu->r[27] + 0x00007399u;
|
|
/* 027D7454 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 027D7458 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D745C */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 027D745C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D7460 */ cpu->r[11] = cpu->r[11] + 0xFFFFE3F4u;
|
|
/* 027D7464 */ _t21 = cpu->r[28] + 0x0000004Bu;
|
|
/* 027D7464 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 027D7468 */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 027D7468 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 027D746C */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 027D746C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
L_027D7470: ; // 0x27d7470
|
|
/* 027D7470 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7474 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D7478 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D747C */ cpu->r[0] = cpu->r[0] + 0xFFFFE43Cu;
|
|
/* 027D7480 */ cpu->r[5] = cpu->r[31];
|
|
/* 027D7484 */ _t24 = cpu->r[26] + 0x00000004u;
|
|
/* 027D7484 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027D7488 */ Gambit_fn_0282A5DC(cpu);
|
|
L_027D748C: ; // 0x27d748c
|
|
/* 027D748C */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 027D748C */ rbrew_write32(cpu->mem, _t25, cpu->r[26]);
|
|
/* 027D7490 */ /* nop */
|
|
/* 027D7494 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D7498 */ cpu->lr = cpu->r[0];
|
|
/* 027D749C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D74A0 */ return;
|
|
}
|
|
|
|
// fn_027D74A4 @ 0x27d74a4
|
|
void Gambit_fn_027D74A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_027D74A4: ; // 0x27d74a4
|
|
/* 027D74A4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D74A8 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 027D74A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D74A8 */ cpu->r[1] = _t0;
|
|
/* 027D74AC */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 027D74AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D74B0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D74B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 027D74B4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D74B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027D74B8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D74B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027D74BC */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 027D74BC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 027D74C0 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 027D74C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D74C4 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027D74C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027D74C8 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027D74C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027D74CC */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027D74CC */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 027D74D0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027D74D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D74D4 */ _t11 = cpu->r[1] + 0x00000034u;
|
|
/* 027D74D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 027D74D8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027D74D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D74D8 */ if (_t13) goto L_027D74DC; else goto L_027D74FC;
|
|
L_027D74DC: ; // 0x27d74dc
|
|
/* 027D74DC */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 027D74DC */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 027D74E0 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 027D74E0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 027D74E4 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 027D74E4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 027D74E8 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 027D74E8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 027D74EC */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 027D74EC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 027D74F0 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 027D74F0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 027D74F4 */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 027D74F4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 027D74F8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 027D74F8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_027D74FC: ; // 0x27d74fc
|
|
/* 027D74FC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D74FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7500 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D7504 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7504 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D7504 */ if (_t23) goto L_027D7508; else goto L_027D7518;
|
|
L_027D7508: ; // 0x27d7508
|
|
/* 027D7508 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D750C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7510 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7514 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7514 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D7514 */ if (_t25) goto L_027D756C; else goto L_027D7518;
|
|
L_027D7518: ; // 0x27d7518
|
|
/* 027D7518 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D751C */ cpu->r[8] = cpu->r[8] + 0xFFFFE424u;
|
|
/* 027D7520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7524 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7524 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 027D7528 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7528 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D7528 */ if (_t28) goto L_027D752C; else goto L_027D753C;
|
|
L_027D752C: ; // 0x27d752c
|
|
/* 027D752C */ cpu->r[9] = 0x101F0000u;
|
|
/* 027D7530 */ cpu->r[9] = cpu->r[9] + 0x00002D44u;
|
|
/* 027D7534 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 027D7534 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 027D7538 */ goto L_027D756C;
|
|
L_027D753C: ; // 0x27d753c
|
|
/* 027D753C */ cpu->r[12] = 0x00000002u;
|
|
/* 027D7540 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027D7544 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7544 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 027D7548 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 027D754C */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027D754C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 027D7550 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7554 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D7558 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7558 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 027D755C */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7560 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D7564 */ _t33 = cpu->r[1] + 0x00000009u;
|
|
/* 027D7564 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 027D7568 */ Gambit_fn_027D73BC(cpu);
|
|
L_027D756C: ; // 0x27d756c
|
|
/* 027D756C */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 027D756C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D7570 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7574 */ _t35 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027D7574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D7578 */ cpu->lr = cpu->r[0];
|
|
/* 027D757C */ _t36 = cpu->r[1] + 0x00000078u;
|
|
/* 027D757C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D7580 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 027D7584 */ return;
|
|
}
|
|
|
|
// fn_027D74A8 @ 0x27d74a8
|
|
void Gambit_fn_027D74A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_027D74A8: ; // 0x27d74a8
|
|
/* 027D74A8 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 027D74A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D74A8 */ cpu->r[1] = _t0;
|
|
/* 027D74AC */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 027D74AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D74B0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D74B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 027D74B4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D74B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027D74B8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D74B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 027D74BC */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 027D74BC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 027D74C0 */ _t6 = cpu->r[1] + 0x00000084u;
|
|
/* 027D74C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D74C4 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027D74C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027D74C8 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027D74C8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027D74CC */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027D74CC */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 027D74D0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027D74D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D74D4 */ _t11 = cpu->r[1] + 0x00000034u;
|
|
/* 027D74D4 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 027D74D8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027D74D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D74D8 */ if (_t13) goto L_027D74DC; else goto L_027D74FC;
|
|
L_027D74DC: ; // 0x27d74dc
|
|
/* 027D74DC */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 027D74DC */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 027D74E0 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 027D74E0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 027D74E4 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 027D74E4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 027D74E8 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 027D74E8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 027D74EC */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 027D74EC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 027D74F0 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 027D74F0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 027D74F4 */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 027D74F4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 027D74F8 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 027D74F8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_027D74FC: ; // 0x27d74fc
|
|
/* 027D74FC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D74FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7500 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D7504 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7504 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D7504 */ if (_t23) goto L_027D7508; else goto L_027D7518;
|
|
L_027D7508: ; // 0x27d7508
|
|
/* 027D7508 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D750C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7510 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7514 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7514 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D7514 */ if (_t25) goto L_027D756C; else goto L_027D7518;
|
|
L_027D7518: ; // 0x27d7518
|
|
/* 027D7518 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D751C */ cpu->r[8] = cpu->r[8] + 0xFFFFE424u;
|
|
/* 027D7520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7524 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7524 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 027D7528 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7528 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D7528 */ if (_t28) goto L_027D752C; else goto L_027D753C;
|
|
L_027D752C: ; // 0x27d752c
|
|
/* 027D752C */ cpu->r[9] = 0x101F0000u;
|
|
/* 027D7530 */ cpu->r[9] = cpu->r[9] + 0x00002D44u;
|
|
/* 027D7534 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 027D7534 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 027D7538 */ goto L_027D756C;
|
|
L_027D753C: ; // 0x27d753c
|
|
/* 027D753C */ cpu->r[12] = 0x00000002u;
|
|
/* 027D7540 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027D7544 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7544 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 027D7548 */ cpu->r[0] = cpu->r[1] + 0x00000088u;
|
|
/* 027D754C */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027D754C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 027D7550 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7554 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D7558 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7558 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 027D755C */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7560 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D7564 */ _t33 = cpu->r[1] + 0x00000009u;
|
|
/* 027D7564 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
/* 027D7568 */ Gambit_fn_027D73BC(cpu);
|
|
L_027D756C: ; // 0x27d756c
|
|
/* 027D756C */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 027D756C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D7570 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7574 */ _t35 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027D7574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D7578 */ cpu->lr = cpu->r[0];
|
|
/* 027D757C */ _t36 = cpu->r[1] + 0x00000078u;
|
|
/* 027D757C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D7580 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 027D7584 */ return;
|
|
}
|
|
|
|
// fn_027D7588 @ 0x27d7588
|
|
void Gambit_fn_027D7588(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027D7588: ; // 0x27d7588
|
|
/* 027D7588 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027D758C */ cpu->r[11] = 0x10110000u;
|
|
/* 027D7590 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7594 */ cpu->r[12] = cpu->r[12] + 0x00002D44u;
|
|
/* 027D7598 */ cpu->r[11] = cpu->r[11] + 0xFFFFE3C4u;
|
|
/* 027D759C */ cpu->r[0] = cpu->r[0] + 0xFFFFE454u;
|
|
/* 027D75A0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027D75A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 027D75A4 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 027D75A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D75A8 */ return;
|
|
}
|
|
|
|
// fn_027D75AC @ 0x27d75ac
|
|
void Gambit_fn_027D75AC(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_027D75AC: ; // 0x27d75ac
|
|
/* 027D75AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D75B0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D75B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D75B0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D75B0 */ goto L_027D75B4;
|
|
L_027D75B4: ; // 0x27d75b4
|
|
/* 027D75B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D75B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D75B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D75B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D75B8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D75B8 */ goto L_027D75BC;
|
|
L_027D75BC: ; // 0x27d75bc
|
|
/* 027D75BC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D75C0 @ 0x27d75c0
|
|
void Gambit_fn_027D75C0(CPUState* cpu) {
|
|
L_027D75C0: ; // 0x27d75c0
|
|
/* 027D75C0 */ return;
|
|
}
|
|
|
|
// fn_027D75C4 @ 0x27d75c4
|
|
void Gambit_fn_027D75C4(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_027D75C4: ; // 0x27d75c4
|
|
/* 027D75C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D75C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D75C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D75C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D75C8 */ goto L_027D75CC;
|
|
L_027D75CC: ; // 0x27d75cc
|
|
/* 027D75CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D75CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D75D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D75D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D75D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D75D0 */ goto L_027D75D4;
|
|
L_027D75D4: ; // 0x27d75d4
|
|
/* 027D75D4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D75D8 @ 0x27d75d8
|
|
void Gambit_fn_027D75D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027D75D8: ; // 0x27d75d8
|
|
/* 027D75D8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027D75D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D75DC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027D75DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D75E0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027D75E4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D75E8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027D75E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D75EC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027D75EC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027D75F0 */ return;
|
|
}
|
|
|
|
// fn_027D75F4 @ 0x27d75f4
|
|
void Gambit_fn_027D75F4(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_027D75F4: ; // 0x27d75f4
|
|
/* 027D75F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D75F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D75F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D75F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D75F8 */ goto L_027D75FC;
|
|
L_027D75FC: ; // 0x27d75fc
|
|
/* 027D75FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D75FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7600 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7600 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D7600 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7600 */ goto L_027D7604;
|
|
L_027D7604: ; // 0x27d7604
|
|
/* 027D7604 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D7608 @ 0x27d7608
|
|
void Gambit_fn_027D7608(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_027D7608: ; // 0x27d7608
|
|
/* 027D7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D760C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D760C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D760C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D760C */ goto L_027D7610;
|
|
L_027D7610: ; // 0x27d7610
|
|
/* 027D7610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D7610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7614 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7614 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D7614 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7614 */ goto L_027D7618;
|
|
L_027D7618: ; // 0x27d7618
|
|
/* 027D7618 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D761C @ 0x27d761c
|
|
void Gambit_fn_027D761C(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_027D761C: ; // 0x27d761c
|
|
/* 027D761C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7620 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7620 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D7620 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7620 */ goto L_027D7624;
|
|
L_027D7624: ; // 0x27d7624
|
|
/* 027D7624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D7624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7628 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7628 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D7628 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7628 */ goto L_027D762C;
|
|
L_027D762C: ; // 0x27d762c
|
|
/* 027D762C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D7630 @ 0x27d7630
|
|
void Gambit_fn_027D7630(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D7630: ; // 0x27d7630
|
|
/* 027D7630 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027D7630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D7634 */ return;
|
|
}
|
|
|
|
// fn_027D7638 @ 0x27d7638
|
|
void Gambit_fn_027D7638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027D7638: ; // 0x27d7638
|
|
/* 027D7638 */ cpu->r[0] = cpu->lr;
|
|
/* 027D763C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D763C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D763C */ cpu->r[1] = _t0;
|
|
/* 027D7640 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7640 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D7644 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D7644 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D7648 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027D7648 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027D764C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D764C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7650 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7650 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D7654 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7654 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D7654 */ if (_t6) goto L_027D7658; else goto L_027D7668;
|
|
L_027D7658: ; // 0x27d7658
|
|
/* 027D7658 */ cpu->r[3] = 0x00000020u;
|
|
/* 027D765C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7660 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7664 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7664 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D7664 */ if (_t8) goto L_027D7734; else goto L_027D7668;
|
|
L_027D7668: ; // 0x27d7668
|
|
/* 027D7668 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 027D7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D766C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D7670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7670 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D7670 */ if (_t10) goto L_027D7674; else goto L_027D7684;
|
|
L_027D7674: ; // 0x27d7674
|
|
/* 027D7674 */ cpu->r[3] = 0x00000018u;
|
|
/* 027D7678 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D767C */ cpu->r[29] = cpu->r[3];
|
|
/* 027D767C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7680 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7680 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D7680 */ if (_t12) goto L_027D76D4; else goto L_027D7684;
|
|
L_027D7684: ; // 0x27d7684
|
|
/* 027D7684 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D7688 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7688 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 027D768C */ cpu->r[10] = cpu->r[10] + 0xFFFFE48Cu;
|
|
/* 027D7690 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 027D7690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7694 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027D7694 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027D7698 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7698 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D7698 */ if (_t16) goto L_027D769C; else goto L_027D76AC;
|
|
L_027D769C: ; // 0x27d769c
|
|
/* 027D769C */ cpu->r[3] = 0x00000010u;
|
|
/* 027D76A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D76A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D76A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D76A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D76A8 */ if (_t18) goto L_027D76C8; else goto L_027D76AC;
|
|
L_027D76AC: ; // 0x27d76ac
|
|
/* 027D76AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D76B0 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D76B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027D76B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE474u;
|
|
/* 027D76B8 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D76B8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 027D76BC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 027D76BC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027D76C0 */ _t22 = cpu->r[3] + 0x0000000Au;
|
|
/* 027D76C0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
/* 027D76C4 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D76C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_027D76C8: ; // 0x27d76c8
|
|
/* 027D76C8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D76CC */ cpu->r[8] = cpu->r[8] + 0xFFFFE4A4u;
|
|
/* 027D76D0 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 027D76D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
L_027D76D4: ; // 0x27d76d4
|
|
/* 027D76D4 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D76D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D76DC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D76E0 */ cpu->r[9] = cpu->r[9] + 0xFFFFE45Cu;
|
|
/* 027D76E4 */ _t25 = cpu->r[12] + 0xFFFF964Cu;
|
|
/* 027D76E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D76E8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE4BCu;
|
|
/* 027D76EC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D76EC */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 027D76F0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027D76F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027D76F4 */ _t28 = cpu->r[12] + 0x00000160u;
|
|
/* 027D76F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D76F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D76FC */ cpu->r[5] = 0x00000000u;
|
|
/* 027D7700 */ Gambit_fn_027D90F4(cpu);
|
|
/* 027D7704 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7704 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 027D7708 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D770C */ cpu->r[11] = 0x027D0000u;
|
|
/* 027D7710 */ _t30 = cpu->r[31] + 0x00000010u;
|
|
/* 027D7710 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 027D7714 */ cpu->r[11] = cpu->r[11] + 0x00007808u;
|
|
/* 027D7718 */ _t31 = cpu->r[31] + 0x00000014u;
|
|
/* 027D7718 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[0]);
|
|
/* 027D771C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D7720 */ _t32 = cpu->r[31] + 0x00000018u;
|
|
/* 027D7720 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027D7724 */ cpu->r[8] = 0x00000001u;
|
|
/* 027D7728 */ _t33 = cpu->r[31] + 0x00000016u;
|
|
/* 027D7728 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[12]);
|
|
/* 027D772C */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 027D772C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[8]);
|
|
/* 027D7730 */ _t35 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D7730 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[8]);
|
|
L_027D7734: ; // 0x27d7734
|
|
/* 027D7734 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D7738 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027D773C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7740 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 027D7740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D7744 */ cpu->lr = cpu->r[0];
|
|
/* 027D7748 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D7748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D774C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D7750 */ return;
|
|
}
|
|
|
|
// fn_027D763C @ 0x27d763c
|
|
void Gambit_fn_027D763C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027D763C: ; // 0x27d763c
|
|
/* 027D763C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D763C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D763C */ cpu->r[1] = _t0;
|
|
/* 027D7640 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7640 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D7644 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D7644 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D7648 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027D7648 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027D764C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D764C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7650 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7650 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D7654 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7654 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D7654 */ if (_t6) goto L_027D7658; else goto L_027D7668;
|
|
L_027D7658: ; // 0x27d7658
|
|
/* 027D7658 */ cpu->r[3] = 0x00000020u;
|
|
/* 027D765C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7660 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7664 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7664 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D7664 */ if (_t8) goto L_027D7734; else goto L_027D7668;
|
|
L_027D7668: ; // 0x27d7668
|
|
/* 027D7668 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 027D7668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D766C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D7670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7670 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D7670 */ if (_t10) goto L_027D7674; else goto L_027D7684;
|
|
L_027D7674: ; // 0x27d7674
|
|
/* 027D7674 */ cpu->r[3] = 0x00000018u;
|
|
/* 027D7678 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D767C */ cpu->r[29] = cpu->r[3];
|
|
/* 027D767C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7680 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7680 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D7680 */ if (_t12) goto L_027D76D4; else goto L_027D7684;
|
|
L_027D7684: ; // 0x27d7684
|
|
/* 027D7684 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D7688 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7688 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 027D768C */ cpu->r[10] = cpu->r[10] + 0xFFFFE48Cu;
|
|
/* 027D7690 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 027D7690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7694 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027D7694 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027D7698 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7698 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D7698 */ if (_t16) goto L_027D769C; else goto L_027D76AC;
|
|
L_027D769C: ; // 0x27d769c
|
|
/* 027D769C */ cpu->r[3] = 0x00000010u;
|
|
/* 027D76A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D76A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D76A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D76A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D76A8 */ if (_t18) goto L_027D76C8; else goto L_027D76AC;
|
|
L_027D76AC: ; // 0x27d76ac
|
|
/* 027D76AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D76B0 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D76B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027D76B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE474u;
|
|
/* 027D76B8 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D76B8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[30]);
|
|
/* 027D76BC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 027D76BC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027D76C0 */ _t22 = cpu->r[3] + 0x0000000Au;
|
|
/* 027D76C0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[30]);
|
|
/* 027D76C4 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D76C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_027D76C8: ; // 0x27d76c8
|
|
/* 027D76C8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027D76CC */ cpu->r[8] = cpu->r[8] + 0xFFFFE4A4u;
|
|
/* 027D76D0 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 027D76D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
L_027D76D4: ; // 0x27d76d4
|
|
/* 027D76D4 */ cpu->r[9] = 0x10110000u;
|
|
/* 027D76D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D76DC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D76E0 */ cpu->r[9] = cpu->r[9] + 0xFFFFE45Cu;
|
|
/* 027D76E4 */ _t25 = cpu->r[12] + 0xFFFF964Cu;
|
|
/* 027D76E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D76E8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE4BCu;
|
|
/* 027D76EC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D76EC */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 027D76F0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027D76F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027D76F4 */ _t28 = cpu->r[12] + 0x00000160u;
|
|
/* 027D76F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D76F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D76FC */ cpu->r[5] = 0x00000000u;
|
|
/* 027D7700 */ Gambit_fn_027D90F4(cpu);
|
|
/* 027D7704 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7704 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 027D7708 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D770C */ cpu->r[11] = 0x027D0000u;
|
|
/* 027D7710 */ _t30 = cpu->r[31] + 0x00000010u;
|
|
/* 027D7710 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 027D7714 */ cpu->r[11] = cpu->r[11] + 0x00007808u;
|
|
/* 027D7718 */ _t31 = cpu->r[31] + 0x00000014u;
|
|
/* 027D7718 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[0]);
|
|
/* 027D771C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D7720 */ _t32 = cpu->r[31] + 0x00000018u;
|
|
/* 027D7720 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027D7724 */ cpu->r[8] = 0x00000001u;
|
|
/* 027D7728 */ _t33 = cpu->r[31] + 0x00000016u;
|
|
/* 027D7728 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[12]);
|
|
/* 027D772C */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 027D772C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[8]);
|
|
/* 027D7730 */ _t35 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D7730 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[8]);
|
|
L_027D7734: ; // 0x27d7734
|
|
/* 027D7734 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D7738 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027D773C */ cpu->r[3] = cpu->r[31];
|
|
/* 027D7740 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 027D7740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D7744 */ cpu->lr = cpu->r[0];
|
|
/* 027D7748 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D7748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D774C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D7750 */ return;
|
|
}
|
|
|
|
// fn_027D7754 @ 0x27d7754
|
|
void Gambit_fn_027D7754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D7754: ; // 0x27d7754
|
|
/* 027D7754 */ cpu->r[0] = cpu->lr;
|
|
/* 027D7758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7758 */ cpu->r[1] = _t0;
|
|
/* 027D775C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D775C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7760 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7760 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D7764 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7768 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7768 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D776C */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D776C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027D7770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7774 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D7774 */ if (_t6) goto L_027D77B8; else goto L_027D7778;
|
|
L_027D7778: ; // 0x27d7778
|
|
/* 027D7778 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027D7778 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027D777C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D7780 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7780 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7780 */ if (_t9) goto L_027D77B8; else goto L_027D7784;
|
|
L_027D7784: ; // 0x27d7784
|
|
/* 027D7784 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7788 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027D778C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027D778C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[6]);
|
|
/* 027D7790 */ _t11 = cpu->r[30] + 0xFFFF964Cu;
|
|
/* 027D7790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D7794 */ _t12 = cpu->r[12] + 0x00000160u;
|
|
/* 027D7794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D7798 */ cpu->r[5] = cpu->r[31] + 0x00000004u;
|
|
/* 027D779C */ cpu->r[4] = cpu->r[31];
|
|
/* 027D77A0 */ Gambit_fn_027D9210(cpu);
|
|
/* 027D77A4 */ _t13 = cpu->r[30] + 0xFFFF964Cu;
|
|
/* 027D77A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D77A8 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 027D77A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D77AC */ _t15 = cpu->r[11] + 0x00000160u;
|
|
/* 027D77AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D77B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027D77B4 */ Gambit_fn_027D9290(cpu);
|
|
L_027D77B8: ; // 0x27d77b8
|
|
/* 027D77B8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D77BC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027D77BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D77C0 */ cpu->lr = cpu->r[0];
|
|
/* 027D77C4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D77C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D77CC */ return;
|
|
}
|
|
|
|
// fn_027D7758 @ 0x27d7758
|
|
void Gambit_fn_027D7758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D7758: ; // 0x27d7758
|
|
/* 027D7758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7758 */ cpu->r[1] = _t0;
|
|
/* 027D775C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D775C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7760 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7760 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D7764 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D7768 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7768 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D776C */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D776C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027D7770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7774 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7774 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D7774 */ if (_t6) goto L_027D77B8; else goto L_027D7778;
|
|
L_027D7778: ; // 0x27d7778
|
|
/* 027D7778 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027D7778 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027D777C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D7780 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7780 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7780 */ if (_t9) goto L_027D77B8; else goto L_027D7784;
|
|
L_027D7784: ; // 0x27d7784
|
|
/* 027D7784 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7788 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027D778C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027D778C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[6]);
|
|
/* 027D7790 */ _t11 = cpu->r[30] + 0xFFFF964Cu;
|
|
/* 027D7790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D7794 */ _t12 = cpu->r[12] + 0x00000160u;
|
|
/* 027D7794 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D7798 */ cpu->r[5] = cpu->r[31] + 0x00000004u;
|
|
/* 027D779C */ cpu->r[4] = cpu->r[31];
|
|
/* 027D77A0 */ Gambit_fn_027D9210(cpu);
|
|
/* 027D77A4 */ _t13 = cpu->r[30] + 0xFFFF964Cu;
|
|
/* 027D77A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D77A8 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 027D77A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D77AC */ _t15 = cpu->r[11] + 0x00000160u;
|
|
/* 027D77AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D77B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027D77B4 */ Gambit_fn_027D9290(cpu);
|
|
L_027D77B8: ; // 0x27d77b8
|
|
/* 027D77B8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D77BC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027D77BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D77C0 */ cpu->lr = cpu->r[0];
|
|
/* 027D77C4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D77C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D77CC */ return;
|
|
}
|
|
|
|
// fn_027D77D0 @ 0x27d77d0
|
|
void Gambit_fn_027D77D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D77D0: ; // 0x27d77d0
|
|
/* 027D77D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D77D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D77D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D77D4 */ cpu->r[1] = _t0;
|
|
/* 027D77D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D77DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D77E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
L_027D77E4: ; // 0x27d77e4
|
|
/* 027D77E4 */ _t3 = cpu->r[31] + 0xFFFFA708u;
|
|
/* 027D77E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D77E8 */ Gambit_fn_0299BD10(cpu);
|
|
/* 027D77EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D77F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D77F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D77F0 */ if (_t5) goto L_027D77F4; else goto L_027D77E4;
|
|
L_027D77F4: ; // 0x27d77f4
|
|
/* 027D77F4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D77F8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D77FC */ cpu->lr = cpu->r[0];
|
|
/* 027D7800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7804 */ return;
|
|
}
|
|
|
|
// fn_027D77D4 @ 0x27d77d4
|
|
void Gambit_fn_027D77D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D77D4: ; // 0x27d77d4
|
|
/* 027D77D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D77D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D77D4 */ cpu->r[1] = _t0;
|
|
/* 027D77D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D77DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D77E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
L_027D77E4: ; // 0x27d77e4
|
|
/* 027D77E4 */ _t3 = cpu->r[31] + 0xFFFFA708u;
|
|
/* 027D77E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D77E8 */ Gambit_fn_0299BD10(cpu);
|
|
/* 027D77EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D77F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D77F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D77F0 */ if (_t5) goto L_027D77F4; else goto L_027D77E4;
|
|
L_027D77F4: ; // 0x27d77f4
|
|
/* 027D77F4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D77F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D77F8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D77F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D77FC */ cpu->lr = cpu->r[0];
|
|
/* 027D7800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7804 */ return;
|
|
}
|
|
|
|
// fn_027D7814 @ 0x27d7814
|
|
void Gambit_fn_027D7814(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_027D7814: ; // 0x27d7814
|
|
/* 027D7814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7818 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7818 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D7818 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7818 */ goto L_027D781C;
|
|
L_027D781C: ; // 0x27d781c
|
|
/* 027D781C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D781C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7820 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7820 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D7820 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7820 */ goto L_027D7824;
|
|
L_027D7824: ; // 0x27d7824
|
|
/* 027D7824 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D7828 @ 0x27d7828
|
|
void Gambit_fn_027D7828(CPUState* cpu) {
|
|
L_027D7828: ; // 0x27d7828
|
|
/* 027D7828 */ return;
|
|
}
|
|
|
|
// fn_027D782C @ 0x27d782c
|
|
void Gambit_fn_027D782C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D782C: ; // 0x27d782c
|
|
/* 027D782C */ cpu->r[0] = cpu->lr;
|
|
/* 027D7830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7830 */ cpu->r[1] = _t0;
|
|
/* 027D7834 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7834 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7838 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7838 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D783C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027D783C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D7840 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027D7840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D7844 */ cpu->ctr = cpu->r[0];
|
|
/* 027D7848 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D784C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7850 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D7854 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7854 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027D7858 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D785C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D785C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D7860 */ cpu->lr = cpu->r[0];
|
|
/* 027D7864 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7868 */ return;
|
|
}
|
|
|
|
// fn_027D7830 @ 0x27d7830
|
|
void Gambit_fn_027D7830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D7830: ; // 0x27d7830
|
|
/* 027D7830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D7830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7830 */ cpu->r[1] = _t0;
|
|
/* 027D7834 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7834 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D7838 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7838 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D783C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027D783C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D7840 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027D7840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D7844 */ cpu->ctr = cpu->r[0];
|
|
/* 027D7848 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D784C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7850 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D7854 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027D7854 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027D7858 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D7858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D785C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D785C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D7860 */ cpu->lr = cpu->r[0];
|
|
/* 027D7864 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D7868 */ return;
|
|
}
|
|
|
|
// fn_027D786C @ 0x27d786c
|
|
void Gambit_fn_027D786C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D786C: ; // 0x27d786c
|
|
/* 027D786C */ cpu->r[12] = cpu->r[3];
|
|
/* 027D7870 */ _t0 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D7870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D7874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D7878 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7878 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D7878 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7878 */ goto L_027D787C;
|
|
L_027D787C: ; // 0x27d787c
|
|
/* 027D787C */ _t3 = cpu->r[12] + 0x00000012u;
|
|
/* 027D787C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027D7880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7884 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7884 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D7884 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D7884 */ goto L_027D7888;
|
|
L_027D7888: ; // 0x27d7888
|
|
/* 027D7888 */ _t6 = cpu->r[12] + 0x00000010u;
|
|
/* 027D7888 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027D788C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D7890 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027D7894 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7894 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D7894 */ if (_t8) goto L_027D7898; else goto L_027D78A4;
|
|
L_027D7898: ; // 0x27d7898
|
|
/* 027D7898 */ _t9 = cpu->r[12] + 0x00000014u;
|
|
/* 027D7898 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D789C */ cpu->ctr = cpu->r[11];
|
|
/* 027D78A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D78A4: ; // 0x27d78a4
|
|
/* 027D78A4 */ _t10 = cpu->r[12] + 0x00000016u;
|
|
/* 027D78A4 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027D78A8 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 027D78A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D78AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D78B0 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 027D78B4 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027D78B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D78B8 */ cpu->ctr = cpu->r[11];
|
|
/* 027D78BC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D78C0 @ 0x27d78c0
|
|
void Gambit_fn_027D78C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D78C0: ; // 0x27d78c0
|
|
/* 027D78C0 */ cpu->r[12] = cpu->r[3];
|
|
/* 027D78C4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027D78C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D78C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D78CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D78CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D78CC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D78CC */ goto L_027D78D0;
|
|
L_027D78D0: ; // 0x27d78d0
|
|
/* 027D78D0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027D78D0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027D78D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D78D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D78D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D78D8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D78D8 */ goto L_027D78DC;
|
|
L_027D78DC: ; // 0x27d78dc
|
|
/* 027D78DC */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027D78DC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027D78E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D78E4 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027D78E8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D78E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D78E8 */ if (_t8) goto L_027D78EC; else goto L_027D78F8;
|
|
L_027D78EC: ; // 0x27d78ec
|
|
/* 027D78EC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D78EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D78F0 */ cpu->ctr = cpu->r[11];
|
|
/* 027D78F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D78F8: ; // 0x27d78f8
|
|
/* 027D78F8 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027D78F8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027D78FC */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 027D78FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D7900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D7904 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 027D7908 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 027D7908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D790C */ cpu->ctr = cpu->r[11];
|
|
/* 027D7910 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D7914 @ 0x27d7914
|
|
void Gambit_fn_027D7914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D7914: ; // 0x27d7914
|
|
/* 027D7914 */ cpu->r[0] = cpu->lr;
|
|
/* 027D7918 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027D7918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7918 */ cpu->r[1] = _t0;
|
|
/* 027D791C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027D791C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D7920 */ /* nop */
|
|
/* 027D7924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D7924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7928 */ cpu->r[28] = cpu->r[4];
|
|
/* 027D792C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D792C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D792C */ if (_t3) goto L_027D7930; else goto L_027D7940;
|
|
L_027D7930: ; // 0x27d7930
|
|
/* 027D7930 */ cpu->r[3] = 0x00000174u;
|
|
/* 027D7934 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7938 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D7938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D793C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D793C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D793C */ if (_t5) goto L_027D7CA0; else goto L_027D7940;
|
|
L_027D7940: ; // 0x27d7940
|
|
/* 027D7940 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7944 */ cpu->r[26] = 0x00000000u;
|
|
/* 027D7948 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7948 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D7948 */ if (_t7) goto L_027D794C; else goto L_027D795C;
|
|
L_027D794C: ; // 0x27d794c
|
|
/* 027D794C */ cpu->r[3] = 0x00000008u;
|
|
/* 027D7950 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7958 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7958 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7958 */ if (_t9) goto L_027D7964; else goto L_027D795C;
|
|
L_027D795C: ; // 0x27d795c
|
|
/* 027D795C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027D795C */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 027D7960 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7960 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
L_027D7964: ; // 0x27d7964
|
|
/* 027D7964 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 027D7964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7968 */ cpu->r[24] = 0x10110000u;
|
|
/* 027D796C */ cpu->r[25] = 0x10110000u;
|
|
/* 027D7970 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D7974 */ cpu->r[27] = 0x10110000u;
|
|
/* 027D7978 */ cpu->r[23] = cpu->r[29];
|
|
/* 027D797C */ cpu->r[31] = cpu->r[31] + 0xFFFFE4D0u;
|
|
/* 027D7980 */ cpu->r[25] = cpu->r[25] + 0xFFFFE518u;
|
|
/* 027D7984 */ cpu->r[27] = cpu->r[27] + 0xFFFFE500u;
|
|
/* 027D7988 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7988 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D7988 */ if (_t13) goto L_027D798C; else goto L_027D799C;
|
|
L_027D798C: ; // 0x27d798c
|
|
/* 027D798C */ cpu->r[3] = 0x00000134u;
|
|
/* 027D7990 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7994 */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7998 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7998 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D7998 */ if (_t15) goto L_027D7A94; else goto L_027D799C;
|
|
L_027D799C: ; // 0x27d799c
|
|
/* 027D799C */ cpu->r[21] = cpu->r[23] + 0x00000004u;
|
|
/* 027D799C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027D79A0 */ _t16 = cpu->r[23] + 0x00000000u;
|
|
/* 027D79A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 027D79A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D79A4 */ if (_t18) goto L_027D79A8; else goto L_027D79EC;
|
|
L_027D79A8: ; // 0x27d79a8
|
|
/* 027D79A8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D79AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D79B0 */ cpu->r[21] = cpu->r[3];
|
|
/* 027D79B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027D79B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D79B4 */ if (_t20) goto L_027D79B8; else goto L_027D79EC;
|
|
L_027D79B8: ; // 0x27d79b8
|
|
/* 027D79B8 */ _t21 = cpu->r[23] + 0x0000012Cu;
|
|
/* 027D79B8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[26]);
|
|
/* 027D79BC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D79C0 */ _t22 = cpu->r[23] + 0x00000118u;
|
|
/* 027D79C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[26]);
|
|
/* 027D79C4 */ cpu->r[8] = 0x00000100u;
|
|
/* 027D79C8 */ _t23 = cpu->r[23] + 0x00000120u;
|
|
/* 027D79C8 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 027D79CC */ _t24 = cpu->r[23] + 0x00000130u;
|
|
/* 027D79CC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027D79D0 */ _t25 = cpu->r[23] + 0x00000110u;
|
|
/* 027D79D0 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 027D79D4 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D79D8 */ _t26 = cpu->r[23] + 0x00000128u;
|
|
/* 027D79D8 */ rbrew_write32(cpu->mem, _t26, cpu->r[26]);
|
|
/* 027D79DC */ _t27 = cpu->r[23] + 0x0000011Cu;
|
|
/* 027D79DC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
|
|
/* 027D79E0 */ _t28 = cpu->r[23] + 0x00000114u;
|
|
/* 027D79E0 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[9]);
|
|
/* 027D79E4 */ _t29 = cpu->r[23] + 0x00000124u;
|
|
/* 027D79E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027D79E8 */ goto L_027D7A94;
|
|
L_027D79EC: ; // 0x27d79ec
|
|
/* 027D79EC */ cpu->r[22] = cpu->r[21];
|
|
/* 027D79EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027D79F0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79F0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D79F0 */ if (_t31) goto L_027D79F4; else goto L_027D7A04;
|
|
L_027D79F4: ; // 0x27d79f4
|
|
/* 027D79F4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D79F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D79FC */ cpu->r[22] = cpu->r[3];
|
|
/* 027D79FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027D7A00 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A00 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D7A00 */ if (_t33) goto L_027D7A60; else goto L_027D7A04;
|
|
L_027D7A04: ; // 0x27d7a04
|
|
/* 027D7A04 */ cpu->r[3] = cpu->r[22];
|
|
/* 027D7A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7A08 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A08 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D7A08 */ if (_t35) goto L_027D7A0C; else goto L_027D7A30;
|
|
L_027D7A0C: ; // 0x27d7a0c
|
|
/* 027D7A0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D7A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7A18 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A18 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D7A18 */ if (_t37) goto L_027D7A1C; else goto L_027D7A30;
|
|
L_027D7A1C: ; // 0x27d7a1c
|
|
/* 027D7A1C */ _t38 = cpu->r[22] + 0x00000000u;
|
|
/* 027D7A1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D7A20 */ _t39 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7A20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 027D7A24 */ _t40 = cpu->r[22] + 0x00000004u;
|
|
/* 027D7A24 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 027D7A28 */ _t41 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7A28 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 027D7A2C */ goto L_027D7A60;
|
|
L_027D7A30: ; // 0x27d7a30
|
|
/* 027D7A30 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7A34 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 027D7A38 */ cpu->r[12] = cpu->r[12] + 0xFFFFE4E8u;
|
|
/* 027D7A3C */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7A3C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027D7A40 */ cpu->r[4] = 0x00000100u;
|
|
/* 027D7A44 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 027D7A44 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 027D7A48 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7A48 */ rbrew_write32(cpu->mem, _t44, cpu->r[4]);
|
|
/* 027D7A4C */ _t45 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7A4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027D7A50 */ _t46 = cpu->r[22] + 0x00000004u;
|
|
/* 027D7A50 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 027D7A54 */ _t47 = cpu->r[22] + 0x00000000u;
|
|
/* 027D7A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D7A58 */ _t48 = cpu->r[22] + 0x0000010Bu;
|
|
/* 027D7A58 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 027D7A5C */ _t49 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7A5C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
L_027D7A60: ; // 0x27d7a60
|
|
/* 027D7A60 */ _t50 = cpu->r[21] + 0x00000004u;
|
|
/* 027D7A60 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]);
|
|
/* 027D7A64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D7A68 */ _t51 = cpu->r[23] + 0x00000118u;
|
|
/* 027D7A68 */ rbrew_write32(cpu->mem, _t51, cpu->r[26]);
|
|
/* 027D7A6C */ cpu->r[8] = 0x00000100u;
|
|
/* 027D7A70 */ _t52 = cpu->r[23] + 0x00000120u;
|
|
/* 027D7A70 */ rbrew_write32(cpu->mem, _t52, cpu->r[26]);
|
|
/* 027D7A74 */ _t53 = cpu->r[23] + 0x00000130u;
|
|
/* 027D7A74 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027D7A78 */ _t54 = cpu->r[23] + 0x00000110u;
|
|
/* 027D7A78 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 027D7A7C */ cpu->r[9] = 0x00000001u;
|
|
/* 027D7A80 */ _t55 = cpu->r[23] + 0x00000128u;
|
|
/* 027D7A80 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
/* 027D7A84 */ _t56 = cpu->r[23] + 0x0000011Cu;
|
|
/* 027D7A84 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[9]);
|
|
/* 027D7A88 */ _t57 = cpu->r[23] + 0x0000012Cu;
|
|
/* 027D7A88 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[26]);
|
|
/* 027D7A8C */ _t58 = cpu->r[23] + 0x00000124u;
|
|
/* 027D7A8C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027D7A90 */ _t59 = cpu->r[23] + 0x00000114u;
|
|
/* 027D7A90 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[9]);
|
|
L_027D7A94: ; // 0x27d7a94
|
|
/* 027D7A94 */ cpu->r[23] = cpu->r[30] + 0x00000158u;
|
|
/* 027D7A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7A98 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A98 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027D7A98 */ if (_t61) goto L_027D7A9C; else goto L_027D7AAC;
|
|
L_027D7A9C: ; // 0x27d7a9c
|
|
/* 027D7A9C */ cpu->r[3] = 0x0000001Cu;
|
|
/* 027D7AA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7AA4 */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7AA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027D7AA8 */ if (_t63) goto L_027D7B00; else goto L_027D7AAC;
|
|
L_027D7AAC: ; // 0x27d7aac
|
|
/* 027D7AAC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AB0 */ _t64 = cpu->r[23] + 0x00000000u;
|
|
/* 027D7AB0 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[26]);
|
|
/* 027D7AB4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE530u;
|
|
/* 027D7AB8 */ cpu->r[3] = cpu->r[23] + 0x00000008u;
|
|
/* 027D7AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7ABC */ _t65 = cpu->r[23] + 0x00000004u;
|
|
/* 027D7ABC */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 027D7AC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AC0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027D7AC0 */ if (_t67) goto L_027D7AC4; else goto L_027D7AD4;
|
|
L_027D7AC4: ; // 0x27d7ac4
|
|
/* 027D7AC4 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D7AC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7AD0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AD0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027D7AD0 */ if (_t69) goto L_027D7AF0; else goto L_027D7AD4;
|
|
L_027D7AD4: ; // 0x27d7ad4
|
|
/* 027D7AD4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AD8 */ _t70 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D7AD8 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 027D7ADC */ cpu->r[0] = cpu->r[0] + 0xFFFFE548u;
|
|
/* 027D7AE0 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7AE0 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[26]);
|
|
/* 027D7AE4 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7AE4 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027D7AE8 */ _t73 = cpu->r[3] + 0x0000000Au;
|
|
/* 027D7AE8 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[26]);
|
|
/* 027D7AEC */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 027D7AEC */ rbrew_write32(cpu->mem, _t74, cpu->r[26]);
|
|
L_027D7AF0: ; // 0x27d7af0
|
|
/* 027D7AF0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AF4 */ _t75 = cpu->r[23] + 0x00000018u;
|
|
/* 027D7AF4 */ rbrew_write32(cpu->mem, _t75, cpu->r[26]);
|
|
/* 027D7AF8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE560u;
|
|
/* 027D7AFC */ _t76 = cpu->r[23] + 0x00000008u;
|
|
/* 027D7AFC */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
L_027D7B00: ; // 0x27d7b00
|
|
/* 027D7B00 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7B04 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D7B08 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7B08 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
/* 027D7B0C */ cpu->r[0] = cpu->r[0] + 0xFFFFE578u;
|
|
/* 027D7B10 */ _t78 = cpu->r[12] + 0xFFFF964Cu;
|
|
/* 027D7B10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027D7B14 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7B14 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 027D7B18 */ _t80 = cpu->r[12] + 0x00000160u;
|
|
/* 027D7B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027D7B1C */ cpu->r[5] = 0x00000000u;
|
|
/* 027D7B20 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D7B24 */ Gambit_fn_027D90F4(cpu);
|
|
/* 027D7B28 */ _t81 = cpu->r[30] + 0x00000164u;
|
|
/* 027D7B28 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
/* 027D7B2C */ cpu->r[7] = 0x027E0000u;
|
|
/* 027D7B30 */ _t82 = cpu->r[30] + 0x00000170u;
|
|
/* 027D7B30 */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
/* 027D7B34 */ cpu->r[7] = cpu->r[7] + 0xFFFF8050u;
|
|
/* 027D7B38 */ _t83 = cpu->r[30] + 0x00000150u;
|
|
/* 027D7B38 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
/* 027D7B3C */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7B40 */ _t84 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D7B40 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 027D7B44 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 027D7B48 */ _t85 = cpu->r[30] + 0x00000168u;
|
|
/* 027D7B48 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[0]);
|
|
/* 027D7B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D7B50 */ _t86 = cpu->r[30] + 0x0000016Au;
|
|
/* 027D7B50 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[8]);
|
|
/* 027D7B54 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7B54 */ _t88 = _t87 & 0x00000001u;
|
|
/* 027D7B54 */ if (_t88) goto L_027D7B58; else goto L_027D7C84;
|
|
L_027D7B58: ; // 0x27d7b58
|
|
/* 027D7B58 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D7B5C */ _t89 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027D7B5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027D7B60 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D7B64 */ _t90 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D7B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027D7B68 */ _t91 = cpu->r[8] + 0x00000034u;
|
|
/* 027D7B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027D7B6C */ cpu->ctr = cpu->r[0];
|
|
/* 027D7B70 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D7B74 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000138u);
|
|
/* 027D7B78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7B7C */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D7B84 */ cpu->r[31] = cpu->r[28];
|
|
/* 027D7B88 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7B8C */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7B8C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027D7B8C */ if (_t93) goto L_027D7B94; else goto L_027D7B90;
|
|
L_027D7B90: ; // 0x27d7b90
|
|
/* 027D7B90 */ cpu->r[31] = 0x00000001u;
|
|
L_027D7B94: ; // 0x27d7b94
|
|
/* 027D7B94 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000138u);
|
|
/* 027D7B98 */ _t94 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7B98 */ cpu->r[20] = rbrew_read8(cpu->mem, _t94);
|
|
/* 027D7B9C */ cpu->r[24] = 0x00000100u;
|
|
/* 027D7BA0 */ cpu->r[22] = 0x00000001u;
|
|
/* 027D7BA4 */ cpu->r[21] = 0xFFFFFFFFu;
|
|
/* 027D7BA8 */ cpu->r[26] = 0x00000000u;
|
|
L_027D7BAC: ; // 0x27d7bac
|
|
/* 027D7BAC */ cpu->r[29] = cpu->r[23] + cpu->r[19];
|
|
/* 027D7BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BB0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BB0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027D7BB0 */ if (_t96) goto L_027D7C68; else goto L_027D7BB4;
|
|
L_027D7BB4: ; // 0x27d7bb4
|
|
/* 027D7BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BB8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BB8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027D7BB8 */ if (_t98) goto L_027D7BBC; else goto L_027D7BCC;
|
|
L_027D7BBC: ; // 0x27d7bbc
|
|
/* 027D7BBC */ cpu->r[3] = 0x00000134u;
|
|
/* 027D7BC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BC4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D7BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BC8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BC8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027D7BC8 */ if (_t100) goto L_027D7C68; else goto L_027D7BCC;
|
|
L_027D7BCC: ; // 0x27d7bcc
|
|
/* 027D7BCC */ cpu->r[17] = cpu->r[29] + 0x00000004u;
|
|
/* 027D7BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 027D7BD0 */ _t101 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7BD0 */ rbrew_write32(cpu->mem, _t101, cpu->r[26]);
|
|
/* 027D7BD4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BD4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 027D7BD4 */ if (_t103) goto L_027D7BD8; else goto L_027D7BE8;
|
|
L_027D7BD8: ; // 0x27d7bd8
|
|
/* 027D7BD8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D7BDC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BE0 */ cpu->r[17] = cpu->r[3];
|
|
/* 027D7BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 027D7BE4 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BE4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027D7BE4 */ if (_t105) goto L_027D7C44; else goto L_027D7BE8;
|
|
L_027D7BE8: ; // 0x27d7be8
|
|
/* 027D7BE8 */ cpu->r[18] = cpu->r[17];
|
|
/* 027D7BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 027D7BEC */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BEC */ _t107 = _t106 & 0x00000001u;
|
|
/* 027D7BEC */ if (_t107) goto L_027D7BF0; else goto L_027D7C00;
|
|
L_027D7BF0: ; // 0x27d7bf0
|
|
/* 027D7BF0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D7BF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BF8 */ cpu->r[18] = cpu->r[3];
|
|
/* 027D7BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 027D7BFC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BFC */ _t109 = _t108 & 0x00000001u;
|
|
/* 027D7BFC */ if (_t109) goto L_027D7C40; else goto L_027D7C00;
|
|
L_027D7C00: ; // 0x27d7c00
|
|
/* 027D7C00 */ cpu->r[7] = cpu->r[18];
|
|
/* 027D7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D7C04 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C04 */ _t111 = _t110 & 0x00000001u;
|
|
/* 027D7C04 */ if (_t111) goto L_027D7C08; else goto L_027D7C18;
|
|
L_027D7C08: ; // 0x27d7c08
|
|
/* 027D7C08 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D7C0C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7C10 */ cpu->r[7] = cpu->r[3];
|
|
/* 027D7C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D7C14 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C14 */ _t113 = _t112 & 0x00000001u;
|
|
/* 027D7C14 */ if (_t113) goto L_027D7C34; else goto L_027D7C18;
|
|
L_027D7C18: ; // 0x27d7c18
|
|
/* 027D7C18 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7C1C */ _t114 = cpu->r[7] + 0x00000008u;
|
|
/* 027D7C1C */ rbrew_write32(cpu->mem, _t114, cpu->r[24]);
|
|
/* 027D7C20 */ cpu->r[11] = cpu->r[18] + 0x0000000Cu;
|
|
/* 027D7C24 */ cpu->r[0] = cpu->r[0] + 0xFFFFE4E8u;
|
|
/* 027D7C28 */ _t115 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7C28 */ rbrew_write32(cpu->mem, _t115, cpu->r[11]);
|
|
/* 027D7C2C */ _t116 = cpu->r[7] + 0x00000004u;
|
|
/* 027D7C2C */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 027D7C30 */ _t117 = cpu->r[18] + 0x0000010Bu;
|
|
/* 027D7C30 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[20]);
|
|
L_027D7C34: ; // 0x27d7c34
|
|
/* 027D7C34 */ _t118 = cpu->r[18] + 0x00000000u;
|
|
/* 027D7C34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027D7C38 */ _t119 = cpu->r[18] + 0x00000004u;
|
|
/* 027D7C38 */ rbrew_write32(cpu->mem, _t119, cpu->r[27]);
|
|
/* 027D7C3C */ _t120 = cpu->r[5] + 0x00000000u;
|
|
/* 027D7C3C */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[20]);
|
|
L_027D7C40: ; // 0x27d7c40
|
|
/* 027D7C40 */ _t121 = cpu->r[17] + 0x00000004u;
|
|
/* 027D7C40 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
|
|
L_027D7C44: ; // 0x27d7c44
|
|
/* 027D7C44 */ _t122 = cpu->r[29] + 0x00000128u;
|
|
/* 027D7C44 */ rbrew_write32(cpu->mem, _t122, cpu->r[26]);
|
|
/* 027D7C48 */ _t123 = cpu->r[29] + 0x00000124u;
|
|
/* 027D7C48 */ rbrew_write32(cpu->mem, _t123, cpu->r[21]);
|
|
/* 027D7C4C */ _t124 = cpu->r[29] + 0x00000110u;
|
|
/* 027D7C4C */ rbrew_write32(cpu->mem, _t124, cpu->r[24]);
|
|
/* 027D7C50 */ _t125 = cpu->r[29] + 0x00000114u;
|
|
/* 027D7C50 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[22]);
|
|
/* 027D7C54 */ _t126 = cpu->r[29] + 0x0000012Cu;
|
|
/* 027D7C54 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[26]);
|
|
/* 027D7C58 */ _t127 = cpu->r[29] + 0x00000130u;
|
|
/* 027D7C58 */ rbrew_write32(cpu->mem, _t127, cpu->r[21]);
|
|
/* 027D7C5C */ _t128 = cpu->r[29] + 0x00000120u;
|
|
/* 027D7C5C */ rbrew_write32(cpu->mem, _t128, cpu->r[26]);
|
|
/* 027D7C60 */ _t129 = cpu->r[29] + 0x0000011Cu;
|
|
/* 027D7C60 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[22]);
|
|
/* 027D7C64 */ _t130 = cpu->r[29] + 0x00000118u;
|
|
/* 027D7C64 */ rbrew_write32(cpu->mem, _t130, cpu->r[26]);
|
|
L_027D7C68: ; // 0x27d7c68
|
|
/* 027D7C68 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027D7C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7C6C */ cpu->r[19] = cpu->r[19] + 0x00000138u;
|
|
/* 027D7C70 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C70 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027D7C70 */ if (_t132) goto L_027D7C74; else goto L_027D7BAC;
|
|
L_027D7C74: ; // 0x27d7c74
|
|
/* 027D7C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7C78 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C78 */ _t134 = _t133 & 0x00000001u;
|
|
/* 027D7C78 */ if (_t134) goto L_027D7C84; else goto L_027D7C7C;
|
|
L_027D7C7C: ; // 0x27d7c7c
|
|
/* 027D7C7C */ _t135 = cpu->r[30] + 0x00000004u;
|
|
/* 027D7C7C */ rbrew_write32(cpu->mem, _t135, cpu->r[23]);
|
|
/* 027D7C80 */ _t136 = cpu->r[30] + 0x00000000u;
|
|
/* 027D7C80 */ rbrew_write32(cpu->mem, _t136, cpu->r[28]);
|
|
L_027D7C84: ; // 0x27d7c84
|
|
/* 027D7C84 */ _t137 = cpu->r[30] + 0x00000148u;
|
|
/* 027D7C84 */ rbrew_write32(cpu->mem, _t137, cpu->r[26]);
|
|
/* 027D7C88 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D7C8C */ _t138 = cpu->r[30] + 0x00000154u;
|
|
/* 027D7C8C */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]);
|
|
/* 027D7C90 */ _t139 = cpu->r[30] + 0x00000158u;
|
|
/* 027D7C90 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[6]);
|
|
/* 027D7C94 */ _t140 = cpu->r[30] + 0x0000014Cu;
|
|
/* 027D7C94 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]);
|
|
/* 027D7C98 */ _t141 = cpu->r[30] + 0x00000140u;
|
|
/* 027D7C98 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[26]);
|
|
/* 027D7C9C */ _t142 = cpu->r[30] + 0x00000144u;
|
|
/* 027D7C9C */ rbrew_write32(cpu->mem, _t142, cpu->r[26]);
|
|
L_027D7CA0: ; // 0x27d7ca0
|
|
/* 027D7CA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7CA4 */ /* nop */
|
|
/* 027D7CA8 */ _t143 = cpu->r[1] + 0x00000054u;
|
|
/* 027D7CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027D7CAC */ cpu->lr = cpu->r[0];
|
|
/* 027D7CB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027D7CB4 */ return;
|
|
}
|
|
|
|
// fn_027D7918 @ 0x27d7918
|
|
void Gambit_fn_027D7918(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D7918: ; // 0x27d7918
|
|
/* 027D7918 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027D7918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7918 */ cpu->r[1] = _t0;
|
|
/* 027D791C */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027D791C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D7920 */ /* nop */
|
|
/* 027D7924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D7924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D7928 */ cpu->r[28] = cpu->r[4];
|
|
/* 027D792C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D792C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D792C */ if (_t3) goto L_027D7930; else goto L_027D7940;
|
|
L_027D7930: ; // 0x27d7930
|
|
/* 027D7930 */ cpu->r[3] = 0x00000174u;
|
|
/* 027D7934 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7938 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D7938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D793C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D793C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D793C */ if (_t5) goto L_027D7CA0; else goto L_027D7940;
|
|
L_027D7940: ; // 0x27d7940
|
|
/* 027D7940 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7944 */ cpu->r[26] = 0x00000000u;
|
|
/* 027D7948 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7948 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D7948 */ if (_t7) goto L_027D794C; else goto L_027D795C;
|
|
L_027D794C: ; // 0x27d794c
|
|
/* 027D794C */ cpu->r[3] = 0x00000008u;
|
|
/* 027D7950 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7958 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7958 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7958 */ if (_t9) goto L_027D7964; else goto L_027D795C;
|
|
L_027D795C: ; // 0x27d795c
|
|
/* 027D795C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027D795C */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 027D7960 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7960 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
L_027D7964: ; // 0x27d7964
|
|
/* 027D7964 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 027D7964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7968 */ cpu->r[24] = 0x10110000u;
|
|
/* 027D796C */ cpu->r[25] = 0x10110000u;
|
|
/* 027D7970 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D7974 */ cpu->r[27] = 0x10110000u;
|
|
/* 027D7978 */ cpu->r[23] = cpu->r[29];
|
|
/* 027D797C */ cpu->r[31] = cpu->r[31] + 0xFFFFE4D0u;
|
|
/* 027D7980 */ cpu->r[25] = cpu->r[25] + 0xFFFFE518u;
|
|
/* 027D7984 */ cpu->r[27] = cpu->r[27] + 0xFFFFE500u;
|
|
/* 027D7988 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7988 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D7988 */ if (_t13) goto L_027D798C; else goto L_027D799C;
|
|
L_027D798C: ; // 0x27d798c
|
|
/* 027D798C */ cpu->r[3] = 0x00000134u;
|
|
/* 027D7990 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7994 */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7998 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7998 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D7998 */ if (_t15) goto L_027D7A94; else goto L_027D799C;
|
|
L_027D799C: ; // 0x27d799c
|
|
/* 027D799C */ cpu->r[21] = cpu->r[23] + 0x00000004u;
|
|
/* 027D799C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027D79A0 */ _t16 = cpu->r[23] + 0x00000000u;
|
|
/* 027D79A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 027D79A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D79A4 */ if (_t18) goto L_027D79A8; else goto L_027D79EC;
|
|
L_027D79A8: ; // 0x27d79a8
|
|
/* 027D79A8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D79AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D79B0 */ cpu->r[21] = cpu->r[3];
|
|
/* 027D79B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027D79B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D79B4 */ if (_t20) goto L_027D79B8; else goto L_027D79EC;
|
|
L_027D79B8: ; // 0x27d79b8
|
|
/* 027D79B8 */ _t21 = cpu->r[23] + 0x0000012Cu;
|
|
/* 027D79B8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[26]);
|
|
/* 027D79BC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D79C0 */ _t22 = cpu->r[23] + 0x00000118u;
|
|
/* 027D79C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[26]);
|
|
/* 027D79C4 */ cpu->r[8] = 0x00000100u;
|
|
/* 027D79C8 */ _t23 = cpu->r[23] + 0x00000120u;
|
|
/* 027D79C8 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 027D79CC */ _t24 = cpu->r[23] + 0x00000130u;
|
|
/* 027D79CC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027D79D0 */ _t25 = cpu->r[23] + 0x00000110u;
|
|
/* 027D79D0 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 027D79D4 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D79D8 */ _t26 = cpu->r[23] + 0x00000128u;
|
|
/* 027D79D8 */ rbrew_write32(cpu->mem, _t26, cpu->r[26]);
|
|
/* 027D79DC */ _t27 = cpu->r[23] + 0x0000011Cu;
|
|
/* 027D79DC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[9]);
|
|
/* 027D79E0 */ _t28 = cpu->r[23] + 0x00000114u;
|
|
/* 027D79E0 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[9]);
|
|
/* 027D79E4 */ _t29 = cpu->r[23] + 0x00000124u;
|
|
/* 027D79E4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027D79E8 */ goto L_027D7A94;
|
|
L_027D79EC: ; // 0x27d79ec
|
|
/* 027D79EC */ cpu->r[22] = cpu->r[21];
|
|
/* 027D79EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027D79F0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D79F0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D79F0 */ if (_t31) goto L_027D79F4; else goto L_027D7A04;
|
|
L_027D79F4: ; // 0x27d79f4
|
|
/* 027D79F4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D79F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D79FC */ cpu->r[22] = cpu->r[3];
|
|
/* 027D79FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027D7A00 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A00 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D7A00 */ if (_t33) goto L_027D7A60; else goto L_027D7A04;
|
|
L_027D7A04: ; // 0x27d7a04
|
|
/* 027D7A04 */ cpu->r[3] = cpu->r[22];
|
|
/* 027D7A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7A08 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A08 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D7A08 */ if (_t35) goto L_027D7A0C; else goto L_027D7A30;
|
|
L_027D7A0C: ; // 0x27d7a0c
|
|
/* 027D7A0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D7A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7A18 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A18 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D7A18 */ if (_t37) goto L_027D7A1C; else goto L_027D7A30;
|
|
L_027D7A1C: ; // 0x27d7a1c
|
|
/* 027D7A1C */ _t38 = cpu->r[22] + 0x00000000u;
|
|
/* 027D7A1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D7A20 */ _t39 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7A20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 027D7A24 */ _t40 = cpu->r[22] + 0x00000004u;
|
|
/* 027D7A24 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 027D7A28 */ _t41 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7A28 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 027D7A2C */ goto L_027D7A60;
|
|
L_027D7A30: ; // 0x27d7a30
|
|
/* 027D7A30 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D7A34 */ cpu->r[0] = cpu->r[22] + 0x0000000Cu;
|
|
/* 027D7A38 */ cpu->r[12] = cpu->r[12] + 0xFFFFE4E8u;
|
|
/* 027D7A3C */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7A3C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027D7A40 */ cpu->r[4] = 0x00000100u;
|
|
/* 027D7A44 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 027D7A44 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 027D7A48 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7A48 */ rbrew_write32(cpu->mem, _t44, cpu->r[4]);
|
|
/* 027D7A4C */ _t45 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7A4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027D7A50 */ _t46 = cpu->r[22] + 0x00000004u;
|
|
/* 027D7A50 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 027D7A54 */ _t47 = cpu->r[22] + 0x00000000u;
|
|
/* 027D7A54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D7A58 */ _t48 = cpu->r[22] + 0x0000010Bu;
|
|
/* 027D7A58 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 027D7A5C */ _t49 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7A5C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[0]);
|
|
L_027D7A60: ; // 0x27d7a60
|
|
/* 027D7A60 */ _t50 = cpu->r[21] + 0x00000004u;
|
|
/* 027D7A60 */ rbrew_write32(cpu->mem, _t50, cpu->r[25]);
|
|
/* 027D7A64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D7A68 */ _t51 = cpu->r[23] + 0x00000118u;
|
|
/* 027D7A68 */ rbrew_write32(cpu->mem, _t51, cpu->r[26]);
|
|
/* 027D7A6C */ cpu->r[8] = 0x00000100u;
|
|
/* 027D7A70 */ _t52 = cpu->r[23] + 0x00000120u;
|
|
/* 027D7A70 */ rbrew_write32(cpu->mem, _t52, cpu->r[26]);
|
|
/* 027D7A74 */ _t53 = cpu->r[23] + 0x00000130u;
|
|
/* 027D7A74 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027D7A78 */ _t54 = cpu->r[23] + 0x00000110u;
|
|
/* 027D7A78 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 027D7A7C */ cpu->r[9] = 0x00000001u;
|
|
/* 027D7A80 */ _t55 = cpu->r[23] + 0x00000128u;
|
|
/* 027D7A80 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
/* 027D7A84 */ _t56 = cpu->r[23] + 0x0000011Cu;
|
|
/* 027D7A84 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[9]);
|
|
/* 027D7A88 */ _t57 = cpu->r[23] + 0x0000012Cu;
|
|
/* 027D7A88 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[26]);
|
|
/* 027D7A8C */ _t58 = cpu->r[23] + 0x00000124u;
|
|
/* 027D7A8C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027D7A90 */ _t59 = cpu->r[23] + 0x00000114u;
|
|
/* 027D7A90 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[9]);
|
|
L_027D7A94: ; // 0x27d7a94
|
|
/* 027D7A94 */ cpu->r[23] = cpu->r[30] + 0x00000158u;
|
|
/* 027D7A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7A98 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7A98 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027D7A98 */ if (_t61) goto L_027D7A9C; else goto L_027D7AAC;
|
|
L_027D7A9C: ; // 0x27d7a9c
|
|
/* 027D7A9C */ cpu->r[3] = 0x0000001Cu;
|
|
/* 027D7AA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7AA4 */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7AA8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AA8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027D7AA8 */ if (_t63) goto L_027D7B00; else goto L_027D7AAC;
|
|
L_027D7AAC: ; // 0x27d7aac
|
|
/* 027D7AAC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AB0 */ _t64 = cpu->r[23] + 0x00000000u;
|
|
/* 027D7AB0 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[26]);
|
|
/* 027D7AB4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE530u;
|
|
/* 027D7AB8 */ cpu->r[3] = cpu->r[23] + 0x00000008u;
|
|
/* 027D7AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7ABC */ _t65 = cpu->r[23] + 0x00000004u;
|
|
/* 027D7ABC */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 027D7AC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AC0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027D7AC0 */ if (_t67) goto L_027D7AC4; else goto L_027D7AD4;
|
|
L_027D7AC4: ; // 0x27d7ac4
|
|
/* 027D7AC4 */ cpu->r[3] = 0x00000010u;
|
|
/* 027D7AC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D7AD0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7AD0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027D7AD0 */ if (_t69) goto L_027D7AF0; else goto L_027D7AD4;
|
|
L_027D7AD4: ; // 0x27d7ad4
|
|
/* 027D7AD4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AD8 */ _t70 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D7AD8 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 027D7ADC */ cpu->r[0] = cpu->r[0] + 0xFFFFE548u;
|
|
/* 027D7AE0 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 027D7AE0 */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[26]);
|
|
/* 027D7AE4 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 027D7AE4 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027D7AE8 */ _t73 = cpu->r[3] + 0x0000000Au;
|
|
/* 027D7AE8 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[26]);
|
|
/* 027D7AEC */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 027D7AEC */ rbrew_write32(cpu->mem, _t74, cpu->r[26]);
|
|
L_027D7AF0: ; // 0x27d7af0
|
|
/* 027D7AF0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7AF4 */ _t75 = cpu->r[23] + 0x00000018u;
|
|
/* 027D7AF4 */ rbrew_write32(cpu->mem, _t75, cpu->r[26]);
|
|
/* 027D7AF8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE560u;
|
|
/* 027D7AFC */ _t76 = cpu->r[23] + 0x00000008u;
|
|
/* 027D7AFC */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
L_027D7B00: ; // 0x27d7b00
|
|
/* 027D7B00 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7B04 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D7B08 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D7B08 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
/* 027D7B0C */ cpu->r[0] = cpu->r[0] + 0xFFFFE578u;
|
|
/* 027D7B10 */ _t78 = cpu->r[12] + 0xFFFF964Cu;
|
|
/* 027D7B10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027D7B14 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 027D7B14 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 027D7B18 */ _t80 = cpu->r[12] + 0x00000160u;
|
|
/* 027D7B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027D7B1C */ cpu->r[5] = 0x00000000u;
|
|
/* 027D7B20 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D7B24 */ Gambit_fn_027D90F4(cpu);
|
|
/* 027D7B28 */ _t81 = cpu->r[30] + 0x00000164u;
|
|
/* 027D7B28 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
/* 027D7B2C */ cpu->r[7] = 0x027E0000u;
|
|
/* 027D7B30 */ _t82 = cpu->r[30] + 0x00000170u;
|
|
/* 027D7B30 */ rbrew_write32(cpu->mem, _t82, cpu->r[29]);
|
|
/* 027D7B34 */ cpu->r[7] = cpu->r[7] + 0xFFFF8050u;
|
|
/* 027D7B38 */ _t83 = cpu->r[30] + 0x00000150u;
|
|
/* 027D7B38 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
/* 027D7B3C */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7B40 */ _t84 = cpu->r[30] + 0x0000016Cu;
|
|
/* 027D7B40 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 027D7B44 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 027D7B48 */ _t85 = cpu->r[30] + 0x00000168u;
|
|
/* 027D7B48 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[0]);
|
|
/* 027D7B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D7B50 */ _t86 = cpu->r[30] + 0x0000016Au;
|
|
/* 027D7B50 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[8]);
|
|
/* 027D7B54 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7B54 */ _t88 = _t87 & 0x00000001u;
|
|
/* 027D7B54 */ if (_t88) goto L_027D7B58; else goto L_027D7C84;
|
|
L_027D7B58: ; // 0x27d7b58
|
|
/* 027D7B58 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D7B5C */ _t89 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027D7B5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027D7B60 */ Gambit_fn_02826F20(cpu);
|
|
/* 027D7B64 */ _t90 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D7B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027D7B68 */ _t91 = cpu->r[8] + 0x00000034u;
|
|
/* 027D7B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027D7B6C */ cpu->ctr = cpu->r[0];
|
|
/* 027D7B70 */ cpu->r[5] = 0x00000004u;
|
|
/* 027D7B74 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000138u);
|
|
/* 027D7B78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7B7C */ cpu->r[23] = cpu->r[3];
|
|
/* 027D7B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027D7B84 */ cpu->r[31] = cpu->r[28];
|
|
/* 027D7B88 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D7B8C */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7B8C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027D7B8C */ if (_t93) goto L_027D7B94; else goto L_027D7B90;
|
|
L_027D7B90: ; // 0x27d7b90
|
|
/* 027D7B90 */ cpu->r[31] = 0x00000001u;
|
|
L_027D7B94: ; // 0x27d7b94
|
|
/* 027D7B94 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000138u);
|
|
/* 027D7B98 */ _t94 = cpu->r[24] + 0x00007399u;
|
|
/* 027D7B98 */ cpu->r[20] = rbrew_read8(cpu->mem, _t94);
|
|
/* 027D7B9C */ cpu->r[24] = 0x00000100u;
|
|
/* 027D7BA0 */ cpu->r[22] = 0x00000001u;
|
|
/* 027D7BA4 */ cpu->r[21] = 0xFFFFFFFFu;
|
|
/* 027D7BA8 */ cpu->r[26] = 0x00000000u;
|
|
L_027D7BAC: ; // 0x27d7bac
|
|
/* 027D7BAC */ cpu->r[29] = cpu->r[23] + cpu->r[19];
|
|
/* 027D7BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BB0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BB0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027D7BB0 */ if (_t96) goto L_027D7C68; else goto L_027D7BB4;
|
|
L_027D7BB4: ; // 0x27d7bb4
|
|
/* 027D7BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BB8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BB8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027D7BB8 */ if (_t98) goto L_027D7BBC; else goto L_027D7BCC;
|
|
L_027D7BBC: ; // 0x27d7bbc
|
|
/* 027D7BBC */ cpu->r[3] = 0x00000134u;
|
|
/* 027D7BC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BC4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D7BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D7BC8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BC8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027D7BC8 */ if (_t100) goto L_027D7C68; else goto L_027D7BCC;
|
|
L_027D7BCC: ; // 0x27d7bcc
|
|
/* 027D7BCC */ cpu->r[17] = cpu->r[29] + 0x00000004u;
|
|
/* 027D7BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 027D7BD0 */ _t101 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7BD0 */ rbrew_write32(cpu->mem, _t101, cpu->r[26]);
|
|
/* 027D7BD4 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BD4 */ _t103 = _t102 & 0x00000001u;
|
|
/* 027D7BD4 */ if (_t103) goto L_027D7BD8; else goto L_027D7BE8;
|
|
L_027D7BD8: ; // 0x27d7bd8
|
|
/* 027D7BD8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D7BDC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BE0 */ cpu->r[17] = cpu->r[3];
|
|
/* 027D7BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 027D7BE4 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BE4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027D7BE4 */ if (_t105) goto L_027D7C44; else goto L_027D7BE8;
|
|
L_027D7BE8: ; // 0x27d7be8
|
|
/* 027D7BE8 */ cpu->r[18] = cpu->r[17];
|
|
/* 027D7BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 027D7BEC */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BEC */ _t107 = _t106 & 0x00000001u;
|
|
/* 027D7BEC */ if (_t107) goto L_027D7BF0; else goto L_027D7C00;
|
|
L_027D7BF0: ; // 0x27d7bf0
|
|
/* 027D7BF0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027D7BF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7BF8 */ cpu->r[18] = cpu->r[3];
|
|
/* 027D7BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 027D7BFC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7BFC */ _t109 = _t108 & 0x00000001u;
|
|
/* 027D7BFC */ if (_t109) goto L_027D7C40; else goto L_027D7C00;
|
|
L_027D7C00: ; // 0x27d7c00
|
|
/* 027D7C00 */ cpu->r[7] = cpu->r[18];
|
|
/* 027D7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D7C04 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C04 */ _t111 = _t110 & 0x00000001u;
|
|
/* 027D7C04 */ if (_t111) goto L_027D7C08; else goto L_027D7C18;
|
|
L_027D7C08: ; // 0x27d7c08
|
|
/* 027D7C08 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D7C0C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D7C10 */ cpu->r[7] = cpu->r[3];
|
|
/* 027D7C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D7C14 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C14 */ _t113 = _t112 & 0x00000001u;
|
|
/* 027D7C14 */ if (_t113) goto L_027D7C34; else goto L_027D7C18;
|
|
L_027D7C18: ; // 0x27d7c18
|
|
/* 027D7C18 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D7C1C */ _t114 = cpu->r[7] + 0x00000008u;
|
|
/* 027D7C1C */ rbrew_write32(cpu->mem, _t114, cpu->r[24]);
|
|
/* 027D7C20 */ cpu->r[11] = cpu->r[18] + 0x0000000Cu;
|
|
/* 027D7C24 */ cpu->r[0] = cpu->r[0] + 0xFFFFE4E8u;
|
|
/* 027D7C28 */ _t115 = cpu->r[7] + 0x00000000u;
|
|
/* 027D7C28 */ rbrew_write32(cpu->mem, _t115, cpu->r[11]);
|
|
/* 027D7C2C */ _t116 = cpu->r[7] + 0x00000004u;
|
|
/* 027D7C2C */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 027D7C30 */ _t117 = cpu->r[18] + 0x0000010Bu;
|
|
/* 027D7C30 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[20]);
|
|
L_027D7C34: ; // 0x27d7c34
|
|
/* 027D7C34 */ _t118 = cpu->r[18] + 0x00000000u;
|
|
/* 027D7C34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027D7C38 */ _t119 = cpu->r[18] + 0x00000004u;
|
|
/* 027D7C38 */ rbrew_write32(cpu->mem, _t119, cpu->r[27]);
|
|
/* 027D7C3C */ _t120 = cpu->r[5] + 0x00000000u;
|
|
/* 027D7C3C */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[20]);
|
|
L_027D7C40: ; // 0x27d7c40
|
|
/* 027D7C40 */ _t121 = cpu->r[17] + 0x00000004u;
|
|
/* 027D7C40 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
|
|
L_027D7C44: ; // 0x27d7c44
|
|
/* 027D7C44 */ _t122 = cpu->r[29] + 0x00000128u;
|
|
/* 027D7C44 */ rbrew_write32(cpu->mem, _t122, cpu->r[26]);
|
|
/* 027D7C48 */ _t123 = cpu->r[29] + 0x00000124u;
|
|
/* 027D7C48 */ rbrew_write32(cpu->mem, _t123, cpu->r[21]);
|
|
/* 027D7C4C */ _t124 = cpu->r[29] + 0x00000110u;
|
|
/* 027D7C4C */ rbrew_write32(cpu->mem, _t124, cpu->r[24]);
|
|
/* 027D7C50 */ _t125 = cpu->r[29] + 0x00000114u;
|
|
/* 027D7C50 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[22]);
|
|
/* 027D7C54 */ _t126 = cpu->r[29] + 0x0000012Cu;
|
|
/* 027D7C54 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[26]);
|
|
/* 027D7C58 */ _t127 = cpu->r[29] + 0x00000130u;
|
|
/* 027D7C58 */ rbrew_write32(cpu->mem, _t127, cpu->r[21]);
|
|
/* 027D7C5C */ _t128 = cpu->r[29] + 0x00000120u;
|
|
/* 027D7C5C */ rbrew_write32(cpu->mem, _t128, cpu->r[26]);
|
|
/* 027D7C60 */ _t129 = cpu->r[29] + 0x0000011Cu;
|
|
/* 027D7C60 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[22]);
|
|
/* 027D7C64 */ _t130 = cpu->r[29] + 0x00000118u;
|
|
/* 027D7C64 */ rbrew_write32(cpu->mem, _t130, cpu->r[26]);
|
|
L_027D7C68: ; // 0x27d7c68
|
|
/* 027D7C68 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027D7C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D7C6C */ cpu->r[19] = cpu->r[19] + 0x00000138u;
|
|
/* 027D7C70 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C70 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027D7C70 */ if (_t132) goto L_027D7C74; else goto L_027D7BAC;
|
|
L_027D7C74: ; // 0x27d7c74
|
|
/* 027D7C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D7C78 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7C78 */ _t134 = _t133 & 0x00000001u;
|
|
/* 027D7C78 */ if (_t134) goto L_027D7C84; else goto L_027D7C7C;
|
|
L_027D7C7C: ; // 0x27d7c7c
|
|
/* 027D7C7C */ _t135 = cpu->r[30] + 0x00000004u;
|
|
/* 027D7C7C */ rbrew_write32(cpu->mem, _t135, cpu->r[23]);
|
|
/* 027D7C80 */ _t136 = cpu->r[30] + 0x00000000u;
|
|
/* 027D7C80 */ rbrew_write32(cpu->mem, _t136, cpu->r[28]);
|
|
L_027D7C84: ; // 0x27d7c84
|
|
/* 027D7C84 */ _t137 = cpu->r[30] + 0x00000148u;
|
|
/* 027D7C84 */ rbrew_write32(cpu->mem, _t137, cpu->r[26]);
|
|
/* 027D7C88 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D7C8C */ _t138 = cpu->r[30] + 0x00000154u;
|
|
/* 027D7C8C */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]);
|
|
/* 027D7C90 */ _t139 = cpu->r[30] + 0x00000158u;
|
|
/* 027D7C90 */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[6]);
|
|
/* 027D7C94 */ _t140 = cpu->r[30] + 0x0000014Cu;
|
|
/* 027D7C94 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]);
|
|
/* 027D7C98 */ _t141 = cpu->r[30] + 0x00000140u;
|
|
/* 027D7C98 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[26]);
|
|
/* 027D7C9C */ _t142 = cpu->r[30] + 0x00000144u;
|
|
/* 027D7C9C */ rbrew_write32(cpu->mem, _t142, cpu->r[26]);
|
|
L_027D7CA0: ; // 0x27d7ca0
|
|
/* 027D7CA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D7CA4 */ /* nop */
|
|
/* 027D7CA8 */ _t143 = cpu->r[1] + 0x00000054u;
|
|
/* 027D7CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027D7CAC */ cpu->lr = cpu->r[0];
|
|
/* 027D7CB0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027D7CB4 */ return;
|
|
}
|
|
|
|
// fn_027D7CB8 @ 0x27d7cb8
|
|
void Gambit_fn_027D7CB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85;
|
|
|
|
L_027D7CB8: ; // 0x27d7cb8
|
|
/* 027D7CB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D7CB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7CB8 */ cpu->r[1] = _t0;
|
|
/* 027D7CBC */ /* nop */
|
|
/* 027D7CC0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D7CC4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7CC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D7CC8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D7CCC */ _t2 = cpu->r[28] + 0x00000154u;
|
|
/* 027D7CCC */ cpu->r[6] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D7CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D7CD4 */ cpu->r[27] = 0x00000000u;
|
|
/* 027D7CD8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7CD8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D7CD8 */ if (_t4) goto L_027D7CEC; else goto L_027D7CDC;
|
|
L_027D7CDC: ; // 0x27d7cdc
|
|
/* 027D7CDC */ _t5 = cpu->r[28] + 0x00000158u;
|
|
/* 027D7CDC */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027D7CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D7CE4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7CE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D7CE4 */ if (_t7) goto L_027D7D00; else goto L_027D7CE8;
|
|
L_027D7CE8: ; // 0x27d7ce8
|
|
/* 027D7CE8 */ _t8 = cpu->r[28] + 0x00000154u;
|
|
/* 027D7CE8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[27]);
|
|
L_027D7CEC: ; // 0x27d7cec
|
|
/* 027D7CEC */ _t9 = cpu->r[28] + 0x0000014Cu;
|
|
/* 027D7CEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D7CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D7CF4 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7CF4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D7CF4 */ if (_t11) goto L_027D7CF8; else goto L_027D7D00;
|
|
L_027D7CF8: ; // 0x27d7cf8
|
|
/* 027D7CF8 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027D7CFC */ _t12 = cpu->r[28] + 0x0000014Cu;
|
|
/* 027D7CFC */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
L_027D7D00: ; // 0x27d7d00
|
|
/* 027D7D00 */ _t13 = cpu->r[28] + 0x00000140u;
|
|
/* 027D7D00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
|
|
/* 027D7D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027D7D08 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7D08 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D7D08 */ if (_t15) goto L_027D7EA8; else goto L_027D7D0C;
|
|
L_027D7D0C: ; // 0x27d7d0c
|
|
/* 027D7D0C */ _t16 = cpu->r[28] + 0x00000154u;
|
|
/* 027D7D0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027D7D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027D7D14 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7D14 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D7D14 */ if (_t18) goto L_027D7D18; else goto L_027D7EA8;
|
|
L_027D7D18: ; // 0x27d7d18
|
|
/* 027D7D18 */ _t19 = cpu->r[28] + 0x00000148u;
|
|
/* 027D7D18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D7D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D7D20 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7D20 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D7D20 */ if (_t21) goto L_027D7D24; else goto L_027D7EA8;
|
|
L_027D7D24: ; // 0x27d7d24
|
|
/* 027D7D24 */ _t22 = cpu->r[28] + 0x0000014Cu;
|
|
/* 027D7D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D7D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D7D2C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7D2C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D7D2C */ if (_t24) goto L_027D7D30; else goto L_027D7EA8;
|
|
L_027D7D30: ; // 0x27d7d30
|
|
/* 027D7D30 */ _t25 = cpu->r[28] + 0x00000144u;
|
|
/* 027D7D30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D7D34 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 027D7D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D7D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 027D7D3C */ _t27 = cpu->r[28] + 0x00000004u;
|
|
/* 027D7D3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D7D40 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7D40 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027D7D40 */ if (_t29) goto L_027D7D44; else goto L_027D7D4C;
|
|
L_027D7D44: ; // 0x27d7d44
|
|
/* 027D7D44 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000138u);
|
|
/* 027D7D48 */ cpu->r[29] = cpu->r[29] + cpu->r[6];
|
|
L_027D7D4C: ; // 0x27d7d4c
|
|
/* 027D7D4C */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7D4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D7D50 */ _t31 = cpu->r[28] + 0x00000008u;
|
|
/* 027D7D50 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 027D7D54 */ _t32 = cpu->r[29] + 0x00000008u;
|
|
/* 027D7D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D7D58 */ _t33 = cpu->r[8] + 0x00000014u;
|
|
/* 027D7D58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D7D5C */ cpu->ctr = cpu->r[9];
|
|
/* 027D7D60 */ _t34 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D7D60 */ cpu->r[26] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D7D64 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 027D7D68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7D6C */ _t35 = cpu->r[29] + 0x00000004u;
|
|
/* 027D7D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027D7D70 */ cpu->r[30] = 0x10110000u;
|
|
/* 027D7D74 */ _t36 = cpu->r[30] + 0x00007399u;
|
|
/* 027D7D74 */ cpu->r[30] = rbrew_read8(cpu->mem, _t36);
|
|
/* 027D7D78 */ _t37 = cpu->r[9] + 0x00000000u;
|
|
/* 027D7D78 */ cpu->r[10] = rbrew_read8(cpu->mem, _t37);
|
|
/* 027D7D7C */ cpu->r[31] = 0x00000000u;
|
|
/* 027D7D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 027D7D84 */ cpu->r[10] = 0x00080000u;
|
|
/* 027D7D88 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7D88 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D7D88 */ if (_t39) goto L_027D7DB0; else goto L_027D7D8C;
|
|
L_027D7D8C: ; // 0x27d7d8c
|
|
/* 027D7D8C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027D7D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 027D7D94 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027D7D98 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7D98 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027D7D98 */ if (_t41) goto L_027D7DAC; else goto L_027D7D9C;
|
|
L_027D7D9C: ; // 0x27d7d9c
|
|
/* 027D7D9C */ _t42 = cpu->r[9] + 0x00000000u;
|
|
/* 027D7D9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 027D7DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027D7DA4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7DA4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027D7DA4 */ if (_t44) goto L_027D7DA8; else goto L_027D7D8C;
|
|
L_027D7DA8: ; // 0x27d7da8
|
|
/* 027D7DA8 */ goto L_027D7DB0;
|
|
L_027D7DAC: ; // 0x27d7dac
|
|
/* 027D7DAC */ cpu->r[31] = 0x00000000u;
|
|
L_027D7DB0: ; // 0x27d7db0
|
|
/* 027D7DB0 */ _t45 = cpu->r[28] + 0x00000014u;
|
|
/* 027D7DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D7DB4 */ _t46 = cpu->r[29] + 0x00000008u;
|
|
/* 027D7DB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027D7DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027D7DBC */ _t47 = cpu->r[12] + 0x00000014u;
|
|
/* 027D7DBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D7DC0 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7DC0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027D7DC0 */ if (_t49) goto L_027D7DC8; else goto L_027D7DC4;
|
|
L_027D7DC4: ; // 0x27d7dc4
|
|
/* 027D7DC4 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_027D7DC8: ; // 0x27d7dc8
|
|
/* 027D7DC8 */ cpu->ctr = cpu->r[6];
|
|
/* 027D7DCC */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 027D7DD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7DD4 */ _t50 = cpu->r[29] + 0x00000004u;
|
|
/* 027D7DD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D7DD8 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D7DDC */ cpu->r[5] = cpu->r[31];
|
|
/* 027D7DE0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7DE4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027D7DE8 */ _t51 = cpu->r[26] + cpu->r[31];
|
|
/* 027D7DE8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
/* 027D7DEC */ _t52 = cpu->r[28] + 0x00000144u;
|
|
/* 027D7DEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D7DF0 */ _t53 = cpu->r[29] + 0x00000110u;
|
|
/* 027D7DF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D7DF4 */ cpu->r[5] = cpu->r[12] + 0x00000001u;
|
|
/* 027D7DF8 */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 027D7DF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D7DFC */ _t55 = cpu->r[28] + 0x00000118u;
|
|
/* 027D7DFC */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 027D7E00 */ _t56 = cpu->r[29] + 0x00000114u;
|
|
/* 027D7E00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t56);
|
|
/* 027D7E04 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[6]);
|
|
/* 027D7E08 */ _t57 = cpu->r[28] + 0x0000011Cu;
|
|
/* 027D7E08 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[8]);
|
|
/* 027D7E0C */ _t58 = cpu->r[29] + 0x00000118u;
|
|
/* 027D7E0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027D7E10 */ _t59 = cpu->r[28] + 0x00000120u;
|
|
/* 027D7E10 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 027D7E14 */ _t60 = cpu->r[29] + 0x0000011Cu;
|
|
/* 027D7E14 */ cpu->r[10] = rbrew_read8(cpu->mem, _t60);
|
|
/* 027D7E18 */ _t61 = cpu->r[28] + 0x00000124u;
|
|
/* 027D7E18 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[10]);
|
|
/* 027D7E1C */ _t62 = cpu->r[29] + 0x00000120u;
|
|
/* 027D7E1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D7E20 */ _t63 = cpu->r[28] + 0x00000128u;
|
|
/* 027D7E20 */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 027D7E24 */ _t64 = cpu->r[29] + 0x00000124u;
|
|
/* 027D7E24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027D7E28 */ _t65 = cpu->r[28] + 0x0000012Cu;
|
|
/* 027D7E28 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 027D7E2C */ _t66 = cpu->r[29] + 0x00000128u;
|
|
/* 027D7E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027D7E30 */ _t67 = cpu->r[28] + 0x00000130u;
|
|
/* 027D7E30 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027D7E34 */ _t68 = cpu->r[29] + 0x0000012Cu;
|
|
/* 027D7E34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 027D7E38 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[6]);
|
|
/* 027D7E3C */ _t69 = cpu->r[28] + 0x00000134u;
|
|
/* 027D7E3C */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[0]);
|
|
/* 027D7E40 */ _t70 = cpu->r[29] + 0x00000130u;
|
|
/* 027D7E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027D7E44 */ _t71 = cpu->r[28] + 0x00000148u;
|
|
/* 027D7E44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027D7E48 */ _t72 = cpu->r[28] + 0x00000138u;
|
|
/* 027D7E48 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027D7E4C */ _t73 = cpu->r[29] + 0x00000134u;
|
|
/* 027D7E4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027D7E50 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027D7E54 */ _t74 = cpu->r[28] + 0x00000158u;
|
|
/* 027D7E54 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[27]);
|
|
/* 027D7E58 */ cpu->r[0] = 0x00000002u;
|
|
/* 027D7E5C */ _t75 = cpu->r[28] + 0x00000148u;
|
|
/* 027D7E5C */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
|
|
/* 027D7E60 */ cpu->r[30] = 0x00000001u;
|
|
/* 027D7E64 */ _t76 = cpu->r[28] + 0x0000013Cu;
|
|
/* 027D7E64 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 027D7E68 */ cpu->r[6] = cpu->r[5] - cpu->r[7];
|
|
/* 027D7E6C */ _t77 = cpu->r[28] + 0x00000154u;
|
|
/* 027D7E6C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
|
|
/* 027D7E70 */ _t78 = cpu->r[28] + 0x0000014Cu;
|
|
/* 027D7E70 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 027D7E74 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D7E78 */ _t79 = cpu->r[28] + 0x00000144u;
|
|
/* 027D7E78 */ rbrew_write32(cpu->mem, _t79, cpu->r[6]);
|
|
/* 027D7E7C */ _t80 = cpu->r[31] + 0xFFFF964Cu;
|
|
/* 027D7E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027D7E80 */ cpu->r[5] = cpu->r[28] + 0x00000158u;
|
|
/* 027D7E84 */ _t81 = cpu->r[12] + 0x00000160u;
|
|
/* 027D7E84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027D7E88 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7E8C */ cpu->r[4] = cpu->r[28] + 0x00000150u;
|
|
/* 027D7E90 */ Gambit_fn_027D9210(cpu);
|
|
/* 027D7E94 */ _t82 = cpu->r[31] + 0xFFFF964Cu;
|
|
/* 027D7E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027D7E98 */ _t83 = cpu->r[28] + 0x00000150u;
|
|
/* 027D7E98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027D7E9C */ _t84 = cpu->r[8] + 0x00000160u;
|
|
/* 027D7E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027D7EA0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027D7EA4 */ Gambit_fn_027D9290(cpu);
|
|
L_027D7EA8: ; // 0x27d7ea8
|
|
/* 027D7EA8 */ /* nop */
|
|
/* 027D7EAC */ _t85 = cpu->r[1] + 0x00000024u;
|
|
/* 027D7EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027D7EB0 */ cpu->lr = cpu->r[0];
|
|
/* 027D7EB4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D7EB8 */ return;
|
|
}
|
|
|
|
// fn_027D7EBC @ 0x27d7ebc
|
|
void Gambit_fn_027D7EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_027D7EBC: ; // 0x27d7ebc
|
|
/* 027D7EBC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027D7EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D7EBC */ cpu->r[1] = _t0;
|
|
/* 027D7EC0 */ /* nop */
|
|
/* 027D7EC4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D7EC8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D7EC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D7ECC */ cpu->r[28] = cpu->r[3];
|
|
/* 027D7ED0 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 027D7ED0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D7ED4 */ _t3 = cpu->r[28] + 0x00000148u;
|
|
/* 027D7ED4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D7ED8 */ cpu->r[25] = cpu->r[4];
|
|
/* 027D7EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 027D7EE0 */ cpu->r[27] = cpu->r[5];
|
|
/* 027D7EE4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7EE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D7EE4 */ if (_t5) goto L_027D7EE8; else goto L_027D8038;
|
|
L_027D7EE8: ; // 0x27d7ee8
|
|
/* 027D7EE8 */ _t6 = cpu->r[28] + 0x00000144u;
|
|
/* 027D7EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D7EEC */ cpu->r[10] = cpu->r[11] + cpu->r[6];
|
|
/* 027D7EF0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[7]);
|
|
/* 027D7EF4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[7]);
|
|
/* 027D7EF8 */ cpu->r[26] = cpu->r[10] - cpu->r[12];
|
|
/* 027D7EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[7]);
|
|
/* 027D7F00 */ _t7 = cpu->r[28] + 0x00000004u;
|
|
/* 027D7F00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D7F04 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7F04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D7F04 */ if (_t9) goto L_027D7F08; else goto L_027D7F10;
|
|
L_027D7F08: ; // 0x27d7f08
|
|
/* 027D7F08 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000138u);
|
|
/* 027D7F0C */ cpu->r[29] = cpu->r[29] + cpu->r[0];
|
|
L_027D7F10: ; // 0x27d7f10
|
|
/* 027D7F10 */ _t10 = cpu->r[25] + 0x00000000u;
|
|
/* 027D7F10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D7F14 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 027D7F14 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 027D7F18 */ _t12 = cpu->r[25] + 0x00000008u;
|
|
/* 027D7F18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D7F1C */ _t13 = cpu->r[7] + 0x00000014u;
|
|
/* 027D7F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D7F20 */ cpu->ctr = cpu->r[0];
|
|
/* 027D7F24 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027D7F24 */ cpu->r[24] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D7F28 */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 027D7F2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7F30 */ _t15 = cpu->r[25] + 0x00000004u;
|
|
/* 027D7F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D7F34 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D7F38 */ _t16 = cpu->r[31] + 0x00007399u;
|
|
/* 027D7F38 */ cpu->r[31] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027D7F3C */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 027D7F3C */ cpu->r[9] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027D7F40 */ cpu->r[30] = 0x00000000u;
|
|
/* 027D7F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027D7F48 */ cpu->r[0] = 0x00080000u;
|
|
/* 027D7F4C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7F4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D7F4C */ if (_t19) goto L_027D7F74; else goto L_027D7F50;
|
|
L_027D7F50: ; // 0x27d7f50
|
|
/* 027D7F50 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027D7F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 027D7F58 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D7F5C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D7F5C */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D7F5C */ if (_t21) goto L_027D7F70; else goto L_027D7F60;
|
|
L_027D7F60: ; // 0x27d7f60
|
|
/* 027D7F60 */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 027D7F60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027D7F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027D7F68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D7F68 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D7F68 */ if (_t24) goto L_027D7F6C; else goto L_027D7F50;
|
|
L_027D7F6C: ; // 0x27d7f6c
|
|
/* 027D7F6C */ goto L_027D7F74;
|
|
L_027D7F70: ; // 0x27d7f70
|
|
/* 027D7F70 */ cpu->r[30] = 0x00000000u;
|
|
L_027D7F74: ; // 0x27d7f74
|
|
/* 027D7F74 */ _t25 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D7F74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D7F78 */ _t26 = cpu->r[25] + 0x00000008u;
|
|
/* 027D7F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D7F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 027D7F80 */ _t27 = cpu->r[12] + 0x00000014u;
|
|
/* 027D7F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D7F84 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D7F84 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027D7F84 */ if (_t29) goto L_027D7F8C; else goto L_027D7F88;
|
|
L_027D7F88: ; // 0x27d7f88
|
|
/* 027D7F88 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_027D7F8C: ; // 0x27d7f8c
|
|
/* 027D7F8C */ cpu->ctr = cpu->r[0];
|
|
/* 027D7F90 */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 027D7F94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D7F98 */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 027D7F98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D7F9C */ cpu->r[6] = 0x00000000u;
|
|
/* 027D7FA0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027D7FA4 */ cpu->r[3] = cpu->r[24];
|
|
/* 027D7FA8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027D7FAC */ _t31 = cpu->r[24] + cpu->r[30];
|
|
/* 027D7FAC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 027D7FB0 */ _t32 = cpu->r[25] + 0x00000110u;
|
|
/* 027D7FB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D7FB4 */ _t33 = cpu->r[29] + 0x00000110u;
|
|
/* 027D7FB4 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 027D7FB8 */ _t34 = cpu->r[25] + 0x00000114u;
|
|
/* 027D7FB8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027D7FBC */ _t35 = cpu->r[29] + 0x00000114u;
|
|
/* 027D7FBC */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[7]);
|
|
/* 027D7FC0 */ _t36 = cpu->r[25] + 0x00000118u;
|
|
/* 027D7FC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027D7FC4 */ _t37 = cpu->r[29] + 0x00000118u;
|
|
/* 027D7FC4 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 027D7FC8 */ _t38 = cpu->r[25] + 0x0000011Cu;
|
|
/* 027D7FC8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t38);
|
|
/* 027D7FCC */ _t39 = cpu->r[29] + 0x0000011Cu;
|
|
/* 027D7FCC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[9]);
|
|
/* 027D7FD0 */ _t40 = cpu->r[25] + 0x00000120u;
|
|
/* 027D7FD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D7FD4 */ _t41 = cpu->r[29] + 0x00000120u;
|
|
/* 027D7FD4 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 027D7FD8 */ _t42 = cpu->r[25] + 0x00000124u;
|
|
/* 027D7FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D7FDC */ _t43 = cpu->r[29] + 0x00000124u;
|
|
/* 027D7FDC */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 027D7FE0 */ _t44 = cpu->r[25] + 0x00000128u;
|
|
/* 027D7FE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D7FE4 */ _t45 = cpu->r[29] + 0x00000128u;
|
|
/* 027D7FE4 */ rbrew_write32(cpu->mem, _t45, cpu->r[6]);
|
|
/* 027D7FE8 */ _t46 = cpu->r[25] + 0x0000012Cu;
|
|
/* 027D7FE8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027D7FEC */ _t47 = cpu->r[29] + 0x0000012Cu;
|
|
/* 027D7FEC */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[8]);
|
|
/* 027D7FF0 */ _t48 = cpu->r[25] + 0x00000130u;
|
|
/* 027D7FF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D7FF4 */ _t49 = cpu->r[29] + 0x00000130u;
|
|
/* 027D7FF4 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 027D7FF8 */ _t50 = cpu->r[28] + 0x00000000u;
|
|
/* 027D7FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D7FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 027D8000 */ _t51 = cpu->r[28] + 0x00000004u;
|
|
/* 027D8000 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D8004 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8004 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027D8004 */ if (_t53) goto L_027D8008; else goto L_027D8010;
|
|
L_027D8008: ; // 0x27d8008
|
|
/* 027D8008 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000138u);
|
|
/* 027D800C */ cpu->r[12] = cpu->r[12] + cpu->r[8];
|
|
L_027D8010: ; // 0x27d8010
|
|
/* 027D8010 */ _t54 = cpu->r[12] + 0x00000134u;
|
|
/* 027D8010 */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 027D8014 */ _t55 = cpu->r[28] + 0x00000148u;
|
|
/* 027D8014 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D8018 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027D801C */ _t56 = cpu->r[28] + 0x00000148u;
|
|
/* 027D801C */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 027D8020 */ /* nop */
|
|
/* 027D8024 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027D8028 */ cpu->lr = cpu->r[0];
|
|
/* 027D802C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027D8030 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D8034 */ return;
|
|
L_027D8038: ; // 0x27d8038
|
|
/* 027D8038 */ /* nop */
|
|
/* 027D803C */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D803C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027D8040 */ cpu->lr = cpu->r[0];
|
|
/* 027D8044 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027D8048 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D804C */ return;
|
|
}
|
|
|
|
// fn_027D8054 @ 0x27d8054
|
|
void Gambit_fn_027D8054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D8054: ; // 0x27d8054
|
|
/* 027D8054 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8054 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8054 */ cpu->r[1] = _t0;
|
|
/* 027D8058 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8058 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D805C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D805C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8060 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D8064 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8064 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8068 */ _t4 = cpu->r[31] + 0xFFFF94D4u;
|
|
/* 027D8068 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D806C */ cpu->r[0] = 0x00000001u;
|
|
/* 027D8070 */ _t5 = cpu->r[31] + 0x00000754u;
|
|
/* 027D8070 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027D8074 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8078 */ _t6 = cpu->r[31] + 0x00000754u;
|
|
/* 027D8078 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 027D807C */ Gambit_fn_027CE108(cpu);
|
|
/* 027D8080 */ _t7 = cpu->r[31] + 0x00000754u;
|
|
/* 027D8080 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027D8084 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8088 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8088 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D808C */ cpu->lr = cpu->r[0];
|
|
/* 027D8090 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8094 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8098 */ return;
|
|
}
|
|
|
|
// fn_027D809C @ 0x27d809c
|
|
void Gambit_fn_027D809C(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_027D809C: ; // 0x27d809c
|
|
/* 027D809C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D80A0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D80A0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80A0 */ goto L_027D80A4;
|
|
L_027D80A4: ; // 0x27d80a4
|
|
/* 027D80A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D80A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D80A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D80A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80A8 */ goto L_027D80AC;
|
|
L_027D80AC: ; // 0x27d80ac
|
|
/* 027D80AC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D80B0 @ 0x27d80b0
|
|
void Gambit_fn_027D80B0(CPUState* cpu) {
|
|
L_027D80B0: ; // 0x27d80b0
|
|
/* 027D80B0 */ return;
|
|
}
|
|
|
|
// fn_027D80B4 @ 0x27d80b4
|
|
void Gambit_fn_027D80B4(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_027D80B4: ; // 0x27d80b4
|
|
/* 027D80B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D80B8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D80B8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80B8 */ goto L_027D80BC;
|
|
L_027D80BC: ; // 0x27d80bc
|
|
/* 027D80BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D80BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D80C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D80C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80C0 */ goto L_027D80C4;
|
|
L_027D80C4: ; // 0x27d80c4
|
|
/* 027D80C4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D80C8 @ 0x27d80c8
|
|
void Gambit_fn_027D80C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027D80C8: ; // 0x27d80c8
|
|
/* 027D80C8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027D80C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D80CC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027D80CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D80D0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027D80D4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D80D8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027D80D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D80DC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027D80DC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027D80E0 */ return;
|
|
}
|
|
|
|
// fn_027D80E4 @ 0x27d80e4
|
|
void Gambit_fn_027D80E4(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_027D80E4: ; // 0x27d80e4
|
|
/* 027D80E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D80E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D80E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80E8 */ goto L_027D80EC;
|
|
L_027D80EC: ; // 0x27d80ec
|
|
/* 027D80EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D80EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D80F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D80F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80F0 */ goto L_027D80F4;
|
|
L_027D80F4: ; // 0x27d80f4
|
|
/* 027D80F4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D80F8 @ 0x27d80f8
|
|
void Gambit_fn_027D80F8(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_027D80F8: ; // 0x27d80f8
|
|
/* 027D80F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D80FC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D80FC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D80FC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D80FC */ goto L_027D8100;
|
|
L_027D8100: ; // 0x27d8100
|
|
/* 027D8100 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8104 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8104 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D8104 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D8104 */ goto L_027D8108;
|
|
L_027D8108: ; // 0x27d8108
|
|
/* 027D8108 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D810C @ 0x27d810c
|
|
void Gambit_fn_027D810C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D810C: ; // 0x27d810c
|
|
/* 027D810C */ cpu->r[0] = cpu->lr;
|
|
/* 027D8110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8110 */ cpu->r[1] = _t0;
|
|
/* 027D8114 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8114 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8118 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8118 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D811C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027D811C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D8120 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027D8120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8124 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8128 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D812C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8130 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D8134 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8134 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027D8138 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D813C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D813C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8140 */ cpu->lr = cpu->r[0];
|
|
/* 027D8144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8148 */ return;
|
|
}
|
|
|
|
// fn_027D8110 @ 0x27d8110
|
|
void Gambit_fn_027D8110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D8110: ; // 0x27d8110
|
|
/* 027D8110 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8110 */ cpu->r[1] = _t0;
|
|
/* 027D8114 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8114 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8118 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8118 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D811C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027D811C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D8120 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027D8120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8124 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8128 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D812C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8130 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D8134 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8134 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027D8138 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D813C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D813C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8140 */ cpu->lr = cpu->r[0];
|
|
/* 027D8144 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8148 */ return;
|
|
}
|
|
|
|
// fn_027D814C @ 0x27d814c
|
|
void Gambit_fn_027D814C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027D814C: ; // 0x27d814c
|
|
/* 027D814C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D814C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D8150 */ _t1 = cpu->r[3] + 0x00000018u;
|
|
/* 027D8150 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D8154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8158 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8158 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D8158 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D8158 */ goto L_027D815C;
|
|
L_027D815C: ; // 0x27d815c
|
|
/* 027D815C */ _t4 = cpu->r[3] + 0x00000012u;
|
|
/* 027D815C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 027D8160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8164 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8164 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8164 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D8164 */ goto L_027D8168;
|
|
L_027D8168: ; // 0x27d8168
|
|
/* 027D8168 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 027D8168 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 027D816C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8170 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
/* 027D8174 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8174 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8174 */ if (_t9) goto L_027D8178; else goto L_027D8188;
|
|
L_027D8178: ; // 0x27d8178
|
|
/* 027D8178 */ _t10 = cpu->r[3] + 0x00000014u;
|
|
/* 027D8178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D817C */ cpu->ctr = cpu->r[0];
|
|
/* 027D8180 */ cpu->r[3] = cpu->r[12];
|
|
/* 027D8184 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027D8188: ; // 0x27d8188
|
|
/* 027D8188 */ _t11 = cpu->r[3] + 0x00000016u;
|
|
/* 027D8188 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 027D818C */ _t12 = cpu->r[12] + cpu->r[11];
|
|
/* 027D818C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D8190 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027D8194 */ cpu->r[8] = cpu->r[10] + cpu->r[8];
|
|
/* 027D8198 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 027D8198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D819C */ cpu->ctr = cpu->r[0];
|
|
/* 027D81A0 */ cpu->r[3] = cpu->r[12];
|
|
/* 027D81A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D81A8 @ 0x27d81a8
|
|
void Gambit_fn_027D81A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_027D81A8: ; // 0x27d81a8
|
|
/* 027D81A8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D81AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D81AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D81AC */ cpu->r[1] = _t0;
|
|
/* 027D81B0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D81B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D81B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81B8 */ /* nop */
|
|
/* 027D81BC */ cpu->r[29] = cpu->r[4];
|
|
/* 027D81C0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D81C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D81C4 */ if (_t3) goto L_027D81C8; else goto L_027D81D8;
|
|
L_027D81C8: ; // 0x27d81c8
|
|
/* 027D81C8 */ cpu->r[3] = 0x00000014u;
|
|
/* 027D81CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D81D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D81D4 */ if (_t5) goto L_027D81E4; else goto L_027D81D8;
|
|
L_027D81D8: ; // 0x27d81d8
|
|
/* 027D81D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D81DC */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 027D81DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D81E0 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 027D81E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_027D81E4: ; // 0x27d81e4
|
|
/* 027D81E4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D81E8 */ _t8 = cpu->r[3] + 0xFFFF9648u;
|
|
/* 027D81E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D81EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D81F0 */ if (_t10) goto L_027D8214; else goto L_027D81F4;
|
|
L_027D81F4: ; // 0x27d81f4
|
|
/* 027D81F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027D81F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D81F8 */ _t12 = cpu->r[5] + 0x0000001Cu;
|
|
/* 027D81F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D81FC */ cpu->ctr = cpu->r[6];
|
|
/* 027D8200 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D8204 */ cpu->r[4] = cpu->r[29];
|
|
/* 027D8208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D820C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8210 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8210 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D8210 */ if (_t14) goto L_027D8214; else goto L_027D8314;
|
|
L_027D8214: ; // 0x27d8214
|
|
/* 027D8214 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D8218 */ cpu->r[22] = 0x00080000u;
|
|
/* 027D821C */ cpu->r[26] = 0x101D0000u;
|
|
/* 027D8220 */ cpu->r[25] = 0x10110000u;
|
|
/* 027D8224 */ _t15 = cpu->r[31] + 0x00007399u;
|
|
/* 027D8224 */ cpu->r[31] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027D8228 */ cpu->r[23] = 0x00000000u;
|
|
/* 027D822C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027D8230 */ cpu->r[25] = cpu->r[25] + 0xFFFFE588u;
|
|
/* 027D8234 */ cpu->r[26] = cpu->r[26] + 0xFFFF9588u;
|
|
/* 027D8238 */ cpu->r[30] = 0x00000008u;
|
|
L_027D823C: ; // 0x27d823c
|
|
/* 027D823C */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 027D823C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8240 */ _t17 = cpu->r[26] + cpu->r[23];
|
|
/* 027D8240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8244 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8244 */ rbrew_write32(cpu->mem, _t18, cpu->r[25]);
|
|
/* 027D8248 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8248 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 027D824C */ _t20 = cpu->r[7] + 0x00000014u;
|
|
/* 027D824C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D8250 */ cpu->ctr = cpu->r[8];
|
|
/* 027D8254 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8258 */ cpu->r[24] = cpu->r[26] + cpu->r[23];
|
|
/* 027D825C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8260 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027D8260 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D8264 */ _t22 = cpu->r[9] + 0x00000014u;
|
|
/* 027D8264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8268 */ cpu->ctr = cpu->r[0];
|
|
/* 027D826C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8270 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8274 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8278 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 027D8278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D827C */ cpu->ctr = cpu->r[10];
|
|
/* 027D8280 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 027D8280 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8284 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8288 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D828C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027D828C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D8290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 027D8294 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8294 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8294 */ if (_t28) goto L_027D82CC; else goto L_027D8298;
|
|
L_027D8298: ; // 0x27d8298
|
|
/* 027D8298 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 027D8298 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D829C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D829C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D82A0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027D82A4 */ cpu->ctr = cpu->r[22];
|
|
/* 027D82A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027D82AC: ; // 0x27d82ac
|
|
/* 027D82AC */ _t31 = cpu->r[4] + 0x00000001u;
|
|
/* 027D82AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027D82AC */ cpu->r[4] = _t31;
|
|
/* 027D82B0 */ _t32 = cpu->r[12] + 0x00000001u;
|
|
/* 027D82B0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32);
|
|
/* 027D82B0 */ cpu->r[12] = _t32;
|
|
/* 027D82B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 027D82B8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D82B8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027D82B8 */ if (_t34) goto L_027D82BC; else goto L_027D8308;
|
|
L_027D82BC: ; // 0x27d82bc
|
|
/* 027D82BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027D82C0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D82C0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D82C0 */ if (_t36) goto L_027D82CC; else goto L_027D82C4;
|
|
L_027D82C4: ; // 0x27d82c4
|
|
/* 027D82C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D82C4 */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D82C4 */ _t38 = _t37 >> (0x00000002u & 31u);
|
|
/* 027D82C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D82C4 */ if (_t39) goto L_027D82AC; else goto L_027D82C8;
|
|
L_027D82C8: ; // 0x27d82c8
|
|
/* 027D82C8 */ goto L_027D8308;
|
|
L_027D82CC: ; // 0x27d82cc
|
|
/* 027D82CC */ _t40 = cpu->r[24] + 0x00000004u;
|
|
/* 027D82CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D82D0 */ _t41 = cpu->r[28] + 0x00000000u;
|
|
/* 027D82D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 027D82D4 */ _t42 = cpu->r[24] + 0x00000008u;
|
|
/* 027D82D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D82D8 */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 027D82D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
|
|
/* 027D82DC */ _t44 = cpu->r[24] + 0x0000000Cu;
|
|
/* 027D82DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D82E0 */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 027D82E0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 027D82E4 */ _t46 = cpu->r[24] + 0x00000010u;
|
|
/* 027D82E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027D82E8 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D82E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 027D82EC */ _t48 = cpu->r[24] + 0x00000014u;
|
|
/* 027D82EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D82F0 */ _t49 = cpu->r[28] + 0x00000010u;
|
|
/* 027D82F0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027D82F4 */ /* nop */
|
|
/* 027D82F8 */ _t50 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D82F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D82FC */ cpu->lr = cpu->r[0];
|
|
/* 027D8300 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8304 */ return;
|
|
L_027D8308: ; // 0x27d8308
|
|
/* 027D8308 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027D8308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D830C */ cpu->r[23] = cpu->r[23] + 0x00000018u;
|
|
/* 027D8310 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8310 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027D8310 */ if (_t52) goto L_027D8314; else goto L_027D823C;
|
|
L_027D8314: ; // 0x27d8314
|
|
/* 027D8314 */ /* nop */
|
|
/* 027D8318 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D8318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D831C */ cpu->lr = cpu->r[0];
|
|
/* 027D8320 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8324 */ return;
|
|
}
|
|
|
|
// fn_027D81AC @ 0x27d81ac
|
|
void Gambit_fn_027D81AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_027D81AC: ; // 0x27d81ac
|
|
/* 027D81AC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D81AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D81AC */ cpu->r[1] = _t0;
|
|
/* 027D81B0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D81B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D81B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81B8 */ /* nop */
|
|
/* 027D81BC */ cpu->r[29] = cpu->r[4];
|
|
/* 027D81C0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D81C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D81C4 */ if (_t3) goto L_027D81C8; else goto L_027D81D8;
|
|
L_027D81C8: ; // 0x27d81c8
|
|
/* 027D81C8 */ cpu->r[3] = 0x00000014u;
|
|
/* 027D81CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D81D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D81D4 */ if (_t5) goto L_027D81E4; else goto L_027D81D8;
|
|
L_027D81D8: ; // 0x27d81d8
|
|
/* 027D81D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D81DC */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 027D81DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D81E0 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 027D81E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_027D81E4: ; // 0x27d81e4
|
|
/* 027D81E4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027D81E8 */ _t8 = cpu->r[3] + 0xFFFF9648u;
|
|
/* 027D81E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D81EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D81F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D81F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D81F0 */ if (_t10) goto L_027D8214; else goto L_027D81F4;
|
|
L_027D81F4: ; // 0x27d81f4
|
|
/* 027D81F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027D81F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D81F8 */ _t12 = cpu->r[5] + 0x0000001Cu;
|
|
/* 027D81F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D81FC */ cpu->ctr = cpu->r[6];
|
|
/* 027D8200 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D8204 */ cpu->r[4] = cpu->r[29];
|
|
/* 027D8208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D820C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8210 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8210 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D8210 */ if (_t14) goto L_027D8214; else goto L_027D8314;
|
|
L_027D8214: ; // 0x27d8214
|
|
/* 027D8214 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D8218 */ cpu->r[22] = 0x00080000u;
|
|
/* 027D821C */ cpu->r[26] = 0x101D0000u;
|
|
/* 027D8220 */ cpu->r[25] = 0x10110000u;
|
|
/* 027D8224 */ _t15 = cpu->r[31] + 0x00007399u;
|
|
/* 027D8224 */ cpu->r[31] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027D8228 */ cpu->r[23] = 0x00000000u;
|
|
/* 027D822C */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027D8230 */ cpu->r[25] = cpu->r[25] + 0xFFFFE588u;
|
|
/* 027D8234 */ cpu->r[26] = cpu->r[26] + 0xFFFF9588u;
|
|
/* 027D8238 */ cpu->r[30] = 0x00000008u;
|
|
L_027D823C: ; // 0x27d823c
|
|
/* 027D823C */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 027D823C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8240 */ _t17 = cpu->r[26] + cpu->r[23];
|
|
/* 027D8240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8244 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8244 */ rbrew_write32(cpu->mem, _t18, cpu->r[25]);
|
|
/* 027D8248 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8248 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 027D824C */ _t20 = cpu->r[7] + 0x00000014u;
|
|
/* 027D824C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D8250 */ cpu->ctr = cpu->r[8];
|
|
/* 027D8254 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8258 */ cpu->r[24] = cpu->r[26] + cpu->r[23];
|
|
/* 027D825C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8260 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027D8260 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D8264 */ _t22 = cpu->r[9] + 0x00000014u;
|
|
/* 027D8264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8268 */ cpu->ctr = cpu->r[0];
|
|
/* 027D826C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8270 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8274 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8274 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8278 */ _t24 = cpu->r[11] + 0x00000014u;
|
|
/* 027D8278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D827C */ cpu->ctr = cpu->r[10];
|
|
/* 027D8280 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 027D8280 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8284 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8288 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D828C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027D828C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D8290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 027D8294 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8294 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8294 */ if (_t28) goto L_027D82CC; else goto L_027D8298;
|
|
L_027D8298: ; // 0x27d8298
|
|
/* 027D8298 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 027D8298 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D829C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D829C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D82A0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027D82A4 */ cpu->ctr = cpu->r[22];
|
|
/* 027D82A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027D82AC: ; // 0x27d82ac
|
|
/* 027D82AC */ _t31 = cpu->r[4] + 0x00000001u;
|
|
/* 027D82AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027D82AC */ cpu->r[4] = _t31;
|
|
/* 027D82B0 */ _t32 = cpu->r[12] + 0x00000001u;
|
|
/* 027D82B0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32);
|
|
/* 027D82B0 */ cpu->r[12] = _t32;
|
|
/* 027D82B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 027D82B8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D82B8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027D82B8 */ if (_t34) goto L_027D82BC; else goto L_027D8308;
|
|
L_027D82BC: ; // 0x27d82bc
|
|
/* 027D82BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027D82C0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D82C0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D82C0 */ if (_t36) goto L_027D82CC; else goto L_027D82C4;
|
|
L_027D82C4: ; // 0x27d82c4
|
|
/* 027D82C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D82C4 */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D82C4 */ _t38 = _t37 >> (0x00000002u & 31u);
|
|
/* 027D82C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027D82C4 */ if (_t39) goto L_027D82AC; else goto L_027D82C8;
|
|
L_027D82C8: ; // 0x27d82c8
|
|
/* 027D82C8 */ goto L_027D8308;
|
|
L_027D82CC: ; // 0x27d82cc
|
|
/* 027D82CC */ _t40 = cpu->r[24] + 0x00000004u;
|
|
/* 027D82CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D82D0 */ _t41 = cpu->r[28] + 0x00000000u;
|
|
/* 027D82D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 027D82D4 */ _t42 = cpu->r[24] + 0x00000008u;
|
|
/* 027D82D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D82D8 */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 027D82D8 */ rbrew_write32(cpu->mem, _t43, cpu->r[7]);
|
|
/* 027D82DC */ _t44 = cpu->r[24] + 0x0000000Cu;
|
|
/* 027D82DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D82E0 */ _t45 = cpu->r[28] + 0x00000008u;
|
|
/* 027D82E0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 027D82E4 */ _t46 = cpu->r[24] + 0x00000010u;
|
|
/* 027D82E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027D82E8 */ _t47 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027D82E8 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 027D82EC */ _t48 = cpu->r[24] + 0x00000014u;
|
|
/* 027D82EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D82F0 */ _t49 = cpu->r[28] + 0x00000010u;
|
|
/* 027D82F0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027D82F4 */ /* nop */
|
|
/* 027D82F8 */ _t50 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D82F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D82FC */ cpu->lr = cpu->r[0];
|
|
/* 027D8300 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8304 */ return;
|
|
L_027D8308: ; // 0x27d8308
|
|
/* 027D8308 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027D8308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D830C */ cpu->r[23] = cpu->r[23] + 0x00000018u;
|
|
/* 027D8310 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8310 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027D8310 */ if (_t52) goto L_027D8314; else goto L_027D823C;
|
|
L_027D8314: ; // 0x27d8314
|
|
/* 027D8314 */ /* nop */
|
|
/* 027D8318 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D8318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D831C */ cpu->lr = cpu->r[0];
|
|
/* 027D8320 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8324 */ return;
|
|
}
|
|
|
|
// fn_027D8328 @ 0x27d8328
|
|
void Gambit_fn_027D8328(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D8328: ; // 0x27d8328
|
|
/* 027D8328 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D832C */ cpu->r[12] = 0x00000001u;
|
|
/* 027D8330 */ cpu->r[11] = cpu->r[11] + 0xFFFF9588u;
|
|
/* 027D8334 */ _t0 = cpu->r[11] + 0x00000008u;
|
|
/* 027D8334 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 027D8338 */ _t1 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027D8338 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027D833C */ _t2 = cpu->r[11] + 0x00000020u;
|
|
/* 027D833C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 027D8340 */ cpu->r[10] = 0x00000002u;
|
|
/* 027D8344 */ _t3 = cpu->r[11] + 0x00000024u;
|
|
/* 027D8344 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 027D8348 */ _t4 = cpu->r[11] + 0x00000038u;
|
|
/* 027D8348 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027D834C */ _t5 = cpu->r[11] + 0x0000003Cu;
|
|
/* 027D834C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027D8350 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8354 */ _t6 = cpu->r[11] + 0x00000050u;
|
|
/* 027D8354 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D8358 */ _t7 = cpu->r[11] + 0x00000054u;
|
|
/* 027D8358 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D835C */ _t8 = cpu->r[11] + 0x00000068u;
|
|
/* 027D835C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027D8360 */ _t9 = cpu->r[11] + 0x0000006Cu;
|
|
/* 027D8360 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D8364 */ _t10 = cpu->r[11] + 0x00000080u;
|
|
/* 027D8364 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027D8368 */ _t11 = cpu->r[11] + 0x00000084u;
|
|
/* 027D8368 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027D836C */ _t12 = cpu->r[11] + 0x00000098u;
|
|
/* 027D836C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027D8370 */ _t13 = cpu->r[11] + 0x0000009Cu;
|
|
/* 027D8370 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 027D8374 */ _t14 = cpu->r[11] + 0x000000B0u;
|
|
/* 027D8374 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027D8378 */ _t15 = cpu->r[11] + 0x000000B4u;
|
|
/* 027D8378 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 027D837C */ return;
|
|
}
|
|
|
|
// fn_027D8380 @ 0x27d8380
|
|
void Gambit_fn_027D8380(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_027D8380: ; // 0x27d8380
|
|
/* 027D8380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8384 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8384 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D8384 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D8384 */ goto L_027D8388;
|
|
L_027D8388: ; // 0x27d8388
|
|
/* 027D8388 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D838C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D838C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D838C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D838C */ goto L_027D8390;
|
|
L_027D8390: ; // 0x27d8390
|
|
/* 027D8390 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D8394 @ 0x27d8394
|
|
void Gambit_fn_027D8394(CPUState* cpu) {
|
|
L_027D8394: ; // 0x27d8394
|
|
/* 027D8394 */ return;
|
|
}
|
|
|
|
// fn_027D8398 @ 0x27d8398
|
|
void Gambit_fn_027D8398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D8398: ; // 0x27d8398
|
|
/* 027D8398 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D839C */ goto L_027D8508;
|
|
L_027D8508: ; // 0x27d8508
|
|
/* 027D8508 */ cpu->r[0] = cpu->lr;
|
|
/* 027D850C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D850C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D850C */ cpu->r[1] = _t0;
|
|
/* 027D8510 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8510 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8514 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8514 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8518 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D851C */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8520 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8520 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8524 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8524 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8524 */ if (_t5) goto L_027D8568; else goto L_027D8528;
|
|
L_027D8528: ; // 0x27d8528
|
|
/* 027D8528 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D852C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D8530 */ cpu->r[0] = cpu->r[0] + 0xFFFFE640u;
|
|
/* 027D8534 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8538 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D8538 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D853C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D8540 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D8544 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8548 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D854C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8550 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8554 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D8558 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D855C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D855C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D855C */ if (_t8) goto L_027D8568; else goto L_027D8560;
|
|
L_027D8560: ; // 0x27d8560
|
|
/* 027D8560 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8564 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D8568: ; // 0x27d8568
|
|
/* 027D8568 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D856C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D856C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8570 */ cpu->lr = cpu->r[0];
|
|
/* 027D8574 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8578 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D857C */ return;
|
|
}
|
|
|
|
// fn_027D83A0 @ 0x27d83a0
|
|
void Gambit_fn_027D83A0(CPUState* cpu) {
|
|
uint32_t _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_027D83A0: ; // 0x27d83a0
|
|
/* 027D83A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D83A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D83A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D83A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D83A4 */ goto L_027D83A8;
|
|
L_027D83A8: ; // 0x27d83a8
|
|
/* 027D83A8 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027D83A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027D83AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D83B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D83B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D83B0 */ if (_t4) goto L_027D83C0; else goto L_027D83B4;
|
|
L_027D83B4: ; // 0x27d83b4
|
|
/* 027D83B4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D83B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D83BC */ _t5 = cpu->r[12] + 0xFFFF964Cu;
|
|
/* 027D83BC */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
L_027D83C0: ; // 0x27d83c0
|
|
/* 027D83C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D83C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D83C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D83C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D83C4 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D83C4 */ goto L_027D83C8;
|
|
L_027D83C8: ; // 0x27d83c8
|
|
/* 027D83C8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t8 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t8, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t8;
|
|
/* 02801B38 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02801B48 */ _t11 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B50 */ if (_t13) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801B60 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 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 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02801B74 */ if (_t17) 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 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02801B84 */ if (_t19) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t20 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02801B8C */ _t21 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02801BA0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D83CC @ 0x27d83cc
|
|
void Gambit_fn_027D83CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D83CC: ; // 0x27d83cc
|
|
/* 027D83CC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027D83D0 */ goto L_027D8580;
|
|
L_027D8580: ; // 0x27d8580
|
|
/* 027D8580 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8584 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8584 */ cpu->r[1] = _t0;
|
|
/* 027D8588 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D858C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D858C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8590 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8594 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8598 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D859C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D859C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D859C */ if (_t5) goto L_027D860C; else goto L_027D85A0;
|
|
L_027D85A0: ; // 0x27d85a0
|
|
/* 027D85A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D85A4 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D85A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFE660u;
|
|
/* 027D85AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85B0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D85B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE670u;
|
|
/* 027D85B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85BC */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D85BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D85C0 */ Gambit_fn_027D83A0(cpu);
|
|
/* 027D85C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D85C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D85C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D85C8 */ if (_t9) goto L_027D85FC; else goto L_027D85CC;
|
|
L_027D85CC: ; // 0x27d85cc
|
|
/* 027D85CC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85D0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D85D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE640u;
|
|
/* 027D85D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85DC */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85DC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D85E0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85E4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D85E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85EC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D85F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D85F8 */ Gambit_fn_028136EC(cpu);
|
|
L_027D85FC: ; // 0x27d85fc
|
|
/* 027D85FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D85FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8600 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8600 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D8600 */ if (_t12) goto L_027D860C; else goto L_027D8604;
|
|
L_027D8604: ; // 0x27d8604
|
|
/* 027D8604 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8608 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D860C: ; // 0x27d860c
|
|
/* 027D860C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D860C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8610 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D8614 */ cpu->lr = cpu->r[0];
|
|
/* 027D8618 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D861C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8620 */ return;
|
|
}
|
|
|
|
// fn_027D83F4 @ 0x27d83f4
|
|
void Gambit_fn_027D83F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027D83F4: ; // 0x27d83f4
|
|
/* 027D83F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D83F8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D83F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D83F8 */ cpu->r[1] = _t0;
|
|
/* 027D83FC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027D83FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D8400 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027D8400 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8404 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8408 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D840C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D840C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8410 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8410 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8410 */ if (_t5) goto L_027D8414; else goto L_027D8424;
|
|
L_027D8414: ; // 0x27d8414
|
|
/* 027D8414 */ cpu->r[3] = 0x00000164u;
|
|
/* 027D8418 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D841C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8420 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8420 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8420 */ if (_t7) goto L_027D84EC; else goto L_027D8424;
|
|
L_027D8424: ; // 0x27d8424
|
|
/* 027D8424 */ cpu->r[5] = 0x10110000u;
|
|
/* 027D8428 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D842C */ cpu->r[5] = cpu->r[5] + 0xFFFFE748u;
|
|
/* 027D8430 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8434 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027D8438 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027D8438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D843C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8440 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8440 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8440 */ if (_t9) goto L_027D8444; else goto L_027D8454;
|
|
L_027D8444: ; // 0x27d8444
|
|
/* 027D8444 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D8448 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8450 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8450 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8450 */ if (_t11) goto L_027D8464; else goto L_027D8454;
|
|
L_027D8454: ; // 0x27d8454
|
|
/* 027D8454 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D8458 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8458 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027D845C */ cpu->r[10] = cpu->r[10] + 0xFFFFE630u;
|
|
/* 027D8460 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8460 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_027D8464: ; // 0x27d8464
|
|
/* 027D8464 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D8468 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D846C */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 027D846C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 027D8470 */ cpu->r[11] = cpu->r[11] + 0xFFFFE680u;
|
|
/* 027D8474 */ cpu->r[12] = cpu->r[12] + 0xFFFFE660u;
|
|
/* 027D8478 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D847C */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 027D847C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 027D8480 */ cpu->r[0] = cpu->r[0] + 0xFFFFE670u;
|
|
/* 027D8484 */ _t16 = cpu->r[31] + 0x00000020u;
|
|
/* 027D8484 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027D8488 */ cpu->r[3] = 0x00000070u;
|
|
/* 027D848C */ _t17 = cpu->r[31] + 0x00000154u;
|
|
/* 027D848C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D8490 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8494 */ cpu->r[0] = cpu->r[3];
|
|
/* 027D8494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8498 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8498 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D8498 */ if (_t19) goto L_027D84A8; else goto L_027D849C;
|
|
L_027D849C: ; // 0x27d849c
|
|
/* 027D849C */ cpu->r[3] = cpu->r[0];
|
|
/* 027D84A0 */ Gambit_fn_02829234(cpu);
|
|
/* 027D84A4 */ cpu->r[0] = cpu->r[3];
|
|
L_027D84A8: ; // 0x27d84a8
|
|
/* 027D84A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D84AC */ _t20 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D84AC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 027D84B0 */ Gambit_fn_02829EF8(cpu);
|
|
/* 027D84B4 */ _t21 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D84B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D84B8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027D84B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D84BC */ _t23 = cpu->r[10] + 0x0000001Cu;
|
|
/* 027D84BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D84C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D84C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D84C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D84CC */ cpu->r[3] = 0x00000000u;
|
|
/* 027D84D0 */ Gambit_fn_027D8AB0(cpu);
|
|
/* 027D84D4 */ _t24 = cpu->r[31] + 0x00000160u;
|
|
/* 027D84D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 027D84D8 */ cpu->r[12] = 0x00000010u;
|
|
/* 027D84DC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027D84DC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 027D84E0 */ _t26 = cpu->r[31] + 0x00000160u;
|
|
/* 027D84E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D84E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D84E8 */ Gambit_fn_027D8D10(cpu);
|
|
L_027D84EC: ; // 0x27d84ec
|
|
/* 027D84EC */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D84EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D84F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D84F4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 027D84F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D84F8 */ cpu->lr = cpu->r[0];
|
|
/* 027D84FC */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 027D84FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D8500 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8504 */ return;
|
|
}
|
|
|
|
// fn_027D83F8 @ 0x27d83f8
|
|
void Gambit_fn_027D83F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027D83F8: ; // 0x27d83f8
|
|
/* 027D83F8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D83F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D83F8 */ cpu->r[1] = _t0;
|
|
/* 027D83FC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027D83FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D8400 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027D8400 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8404 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8408 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D840C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D840C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8410 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8410 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8410 */ if (_t5) goto L_027D8414; else goto L_027D8424;
|
|
L_027D8414: ; // 0x27d8414
|
|
/* 027D8414 */ cpu->r[3] = 0x00000164u;
|
|
/* 027D8418 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D841C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8420 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8420 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8420 */ if (_t7) goto L_027D84EC; else goto L_027D8424;
|
|
L_027D8424: ; // 0x27d8424
|
|
/* 027D8424 */ cpu->r[5] = 0x10110000u;
|
|
/* 027D8428 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D842C */ cpu->r[5] = cpu->r[5] + 0xFFFFE748u;
|
|
/* 027D8430 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8434 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027D8438 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027D8438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D843C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8440 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8440 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8440 */ if (_t9) goto L_027D8444; else goto L_027D8454;
|
|
L_027D8444: ; // 0x27d8444
|
|
/* 027D8444 */ cpu->r[3] = 0x00000008u;
|
|
/* 027D8448 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8450 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8450 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8450 */ if (_t11) goto L_027D8464; else goto L_027D8454;
|
|
L_027D8454: ; // 0x27d8454
|
|
/* 027D8454 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D8458 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8458 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027D845C */ cpu->r[10] = cpu->r[10] + 0xFFFFE630u;
|
|
/* 027D8460 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8460 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_027D8464: ; // 0x27d8464
|
|
/* 027D8464 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D8468 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D846C */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 027D846C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 027D8470 */ cpu->r[11] = cpu->r[11] + 0xFFFFE680u;
|
|
/* 027D8474 */ cpu->r[12] = cpu->r[12] + 0xFFFFE660u;
|
|
/* 027D8478 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D847C */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 027D847C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 027D8480 */ cpu->r[0] = cpu->r[0] + 0xFFFFE670u;
|
|
/* 027D8484 */ _t16 = cpu->r[31] + 0x00000020u;
|
|
/* 027D8484 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027D8488 */ cpu->r[3] = 0x00000070u;
|
|
/* 027D848C */ _t17 = cpu->r[31] + 0x00000154u;
|
|
/* 027D848C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D8490 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8494 */ cpu->r[0] = cpu->r[3];
|
|
/* 027D8494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8498 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8498 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D8498 */ if (_t19) goto L_027D84A8; else goto L_027D849C;
|
|
L_027D849C: ; // 0x27d849c
|
|
/* 027D849C */ cpu->r[3] = cpu->r[0];
|
|
/* 027D84A0 */ Gambit_fn_02829234(cpu);
|
|
/* 027D84A4 */ cpu->r[0] = cpu->r[3];
|
|
L_027D84A8: ; // 0x27d84a8
|
|
/* 027D84A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D84AC */ _t20 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D84AC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 027D84B0 */ Gambit_fn_02829EF8(cpu);
|
|
/* 027D84B4 */ _t21 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027D84B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D84B8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027D84B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D84BC */ _t23 = cpu->r[10] + 0x0000001Cu;
|
|
/* 027D84BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D84C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D84C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D84C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D84CC */ cpu->r[3] = 0x00000000u;
|
|
/* 027D84D0 */ Gambit_fn_027D8AB0(cpu);
|
|
/* 027D84D4 */ _t24 = cpu->r[31] + 0x00000160u;
|
|
/* 027D84D4 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 027D84D8 */ cpu->r[12] = 0x00000010u;
|
|
/* 027D84DC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027D84DC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 027D84E0 */ _t26 = cpu->r[31] + 0x00000160u;
|
|
/* 027D84E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D84E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D84E8 */ Gambit_fn_027D8D10(cpu);
|
|
L_027D84EC: ; // 0x27d84ec
|
|
/* 027D84EC */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D84EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D84F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D84F4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 027D84F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D84F8 */ cpu->lr = cpu->r[0];
|
|
/* 027D84FC */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 027D84FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D8500 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D8504 */ return;
|
|
}
|
|
|
|
// fn_027D850C @ 0x27d850c
|
|
void Gambit_fn_027D850C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D850C: ; // 0x27d850c
|
|
/* 027D850C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D850C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D850C */ cpu->r[1] = _t0;
|
|
/* 027D8510 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8510 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8514 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8514 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8518 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D851C */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8520 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8520 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8524 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8524 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8524 */ if (_t5) goto L_027D8568; else goto L_027D8528;
|
|
L_027D8528: ; // 0x27d8528
|
|
/* 027D8528 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D852C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D8530 */ cpu->r[0] = cpu->r[0] + 0xFFFFE640u;
|
|
/* 027D8534 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8538 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D8538 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D853C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D8540 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D8544 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8548 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D854C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8550 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8554 */ Gambit_fn_028136EC(cpu);
|
|
/* 027D8558 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D855C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D855C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D855C */ if (_t8) goto L_027D8568; else goto L_027D8560;
|
|
L_027D8560: ; // 0x27d8560
|
|
/* 027D8560 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8564 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D8568: ; // 0x27d8568
|
|
/* 027D8568 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D856C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D856C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8570 */ cpu->lr = cpu->r[0];
|
|
/* 027D8574 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8578 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D857C */ return;
|
|
}
|
|
|
|
// fn_027D8580 @ 0x27d8580
|
|
void Gambit_fn_027D8580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D8580: ; // 0x27d8580
|
|
/* 027D8580 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8584 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8584 */ cpu->r[1] = _t0;
|
|
/* 027D8588 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D858C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D858C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8590 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8594 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8598 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D859C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D859C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D859C */ if (_t5) goto L_027D860C; else goto L_027D85A0;
|
|
L_027D85A0: ; // 0x27d85a0
|
|
/* 027D85A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D85A4 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D85A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFE660u;
|
|
/* 027D85AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85B0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D85B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE670u;
|
|
/* 027D85B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85BC */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D85BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D85C0 */ Gambit_fn_027D83A0(cpu);
|
|
/* 027D85C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D85C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D85C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D85C8 */ if (_t9) goto L_027D85FC; else goto L_027D85CC;
|
|
L_027D85CC: ; // 0x27d85cc
|
|
/* 027D85CC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85D0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D85D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE640u;
|
|
/* 027D85D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85DC */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85DC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D85E0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85E4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D85E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85EC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D85F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D85F8 */ Gambit_fn_028136EC(cpu);
|
|
L_027D85FC: ; // 0x27d85fc
|
|
/* 027D85FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D85FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8600 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8600 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D8600 */ if (_t12) goto L_027D860C; else goto L_027D8604;
|
|
L_027D8604: ; // 0x27d8604
|
|
/* 027D8604 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8608 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D860C: ; // 0x27d860c
|
|
/* 027D860C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D860C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8610 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D8614 */ cpu->lr = cpu->r[0];
|
|
/* 027D8618 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D861C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8620 */ return;
|
|
}
|
|
|
|
// fn_027D8584 @ 0x27d8584
|
|
void Gambit_fn_027D8584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D8584: ; // 0x27d8584
|
|
/* 027D8584 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8584 */ cpu->r[1] = _t0;
|
|
/* 027D8588 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D858C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D858C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8590 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8594 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8598 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D859C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D859C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D859C */ if (_t5) goto L_027D860C; else goto L_027D85A0;
|
|
L_027D85A0: ; // 0x27d85a0
|
|
/* 027D85A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D85A4 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027D85A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFE660u;
|
|
/* 027D85AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85B0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027D85B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE670u;
|
|
/* 027D85B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85BC */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027D85BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D85C0 */ Gambit_fn_027D83A0(cpu);
|
|
/* 027D85C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D85C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D85C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D85C8 */ if (_t9) goto L_027D85FC; else goto L_027D85CC;
|
|
L_027D85CC: ; // 0x27d85cc
|
|
/* 027D85CC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D85D0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027D85D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE640u;
|
|
/* 027D85D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85DC */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027D85DC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D85E0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85E4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027D85E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D85EC */ Gambit_fn_02928E8C(cpu);
|
|
/* 027D85F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D85F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D85F8 */ Gambit_fn_028136EC(cpu);
|
|
L_027D85FC: ; // 0x27d85fc
|
|
/* 027D85FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D85FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8600 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8600 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D8600 */ if (_t12) goto L_027D860C; else goto L_027D8604;
|
|
L_027D8604: ; // 0x27d8604
|
|
/* 027D8604 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8608 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D860C: ; // 0x27d860c
|
|
/* 027D860C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027D860C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8610 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D8614 */ cpu->lr = cpu->r[0];
|
|
/* 027D8618 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D861C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8620 */ return;
|
|
}
|
|
|
|
// fn_027D8624 @ 0x27d8624
|
|
void Gambit_fn_027D8624(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027D8624: ; // 0x27d8624
|
|
/* 027D8624 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D8628 */ _t0 = cpu->r[12] + 0xFFFFDAE4u;
|
|
/* 027D8628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D862C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D8630 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D8634 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027D8638 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8638 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D8638 */ if (_t2) goto L_027D863C; else goto L_027D8654;
|
|
L_027D863C: ; // 0x27d863c
|
|
/* 027D863C */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8640 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D8644 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D8648 */ cpu->r[0] = cpu->r[0] + 0xFFFFE650u;
|
|
/* 027D864C */ _t3 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 027D864C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027D8650 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027D8650 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_027D8654: ; // 0x27d8654
|
|
/* 027D8654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D8658 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8658 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8658 */ if (_t6) goto L_027D865C; else goto L_027D8664;
|
|
L_027D865C: ; // 0x27d865c
|
|
/* 027D865C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D8660 */ return;
|
|
L_027D8664: ; // 0x27d8664
|
|
/* 027D8664 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D8668 */ _t7 = cpu->r[11] + 0xFFFFD868u;
|
|
/* 027D8668 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8668 */ cpu->r[11] = _t7;
|
|
/* 027D866C */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D8670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D8674 */ cpu->r[10] = cpu->r[10] + 0xFFFFDD70u;
|
|
/* 027D8678 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8678 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8678 */ if (_t9) goto L_027D867C; else goto L_027D8690;
|
|
L_027D867C: ; // 0x27d867c
|
|
/* 027D867C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D8680 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D8684 */ cpu->r[12] = cpu->r[12] + 0xFFFFE620u;
|
|
/* 027D8688 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 027D8688 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D868C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 027D868C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_027D8690: ; // 0x27d8690
|
|
/* 027D8690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027D8694 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8694 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D8694 */ if (_t13) goto L_027D8698; else goto L_027D86A0;
|
|
L_027D8698: ; // 0x27d8698
|
|
/* 027D8698 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D869C */ goto L_027D86D8;
|
|
L_027D86A0: ; // 0x27d86a0
|
|
/* 027D86A0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027D86A4 */ _t14 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 027D86A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D86A4 */ cpu->r[8] = _t14;
|
|
/* 027D86A8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D86AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D86B0 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 027D86B4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D86B4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D86B4 */ if (_t16) goto L_027D86B8; else goto L_027D86CC;
|
|
L_027D86B8: ; // 0x27d86b8
|
|
/* 027D86B8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027D86BC */ cpu->r[9] = 0x00000001u;
|
|
/* 027D86C0 */ cpu->r[10] = cpu->r[10] + 0xFFFFE610u;
|
|
/* 027D86C4 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 027D86C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027D86C8 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027D86C8 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_027D86CC: ; // 0x27d86cc
|
|
/* 027D86CC */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027D86D0 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027D86D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027D86D8: ; // 0x27d86d8
|
|
/* 027D86D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D86DC */ return;
|
|
}
|
|
|
|
// fn_027D86E0 @ 0x27d86e0
|
|
void Gambit_fn_027D86E0(CPUState* cpu) {
|
|
L_027D86E0: ; // 0x27d86e0
|
|
/* 027D86E0 */ return;
|
|
}
|
|
|
|
// fn_027D86E4 @ 0x27d86e4
|
|
void Gambit_fn_027D86E4(CPUState* cpu) {
|
|
L_027D86E4: ; // 0x27d86e4
|
|
/* 027D86E4 */ return;
|
|
}
|
|
|
|
// fn_027D86E8 @ 0x27d86e8
|
|
void Gambit_fn_027D86E8(CPUState* cpu) {
|
|
L_027D86E8: ; // 0x27d86e8
|
|
/* 027D86E8 */ return;
|
|
}
|
|
|
|
// fn_027D86EC @ 0x27d86ec
|
|
void Gambit_fn_027D86EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027D86EC: ; // 0x27d86ec
|
|
/* 027D86EC */ cpu->r[0] = cpu->lr;
|
|
/* 027D86F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D86F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D86F0 */ cpu->r[1] = _t0;
|
|
/* 027D86F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D86F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D86F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D86F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D86FC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D86FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8700 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D8704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8708 */ if (_t5) goto L_027D870C; else goto L_027D871C;
|
|
L_027D870C: ; // 0x27d870c
|
|
/* 027D870C */ cpu->r[3] = 0x000000E4u;
|
|
/* 027D8710 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8714 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8718 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8718 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8718 */ if (_t7) goto L_027D87BC; else goto L_027D871C;
|
|
L_027D871C: ; // 0x27d871c
|
|
/* 027D871C */ _t8 = cpu->r[30] + 0x00000014u;
|
|
/* 027D871C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8720 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8724 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D8724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8728 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D872C */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 027D872C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8730 */ cpu->r[8] = 0x80000000u;
|
|
/* 027D8734 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 027D8734 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8738 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027D873C */ cpu->r[7] = 0x00000000u;
|
|
/* 027D8740 */ Gambit_fn_02837758(cpu);
|
|
/* 027D8744 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8748 */ cpu->r[0] = cpu->r[0] + 0xFFFFE768u;
|
|
/* 027D874C */ cpu->r[3] = cpu->r[31] + 0x00000098u;
|
|
/* 027D874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8750 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D8750 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027D8754 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8754 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D8754 */ if (_t14) goto L_027D8758; else goto L_027D8768;
|
|
L_027D8758: ; // 0x27d8758
|
|
/* 027D8758 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D875C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8764 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8764 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D8764 */ if (_t16) goto L_027D8790; else goto L_027D8768;
|
|
L_027D8768: ; // 0x27d8768
|
|
/* 027D8768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D876C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D876C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D876C */ if (_t18) goto L_027D8770; else goto L_027D8780;
|
|
L_027D8770: ; // 0x27d8770
|
|
/* 027D8770 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8774 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D877C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D877C */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D877C */ if (_t20) goto L_027D8790; else goto L_027D8780;
|
|
L_027D8780: ; // 0x27d8780
|
|
/* 027D8780 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D8784 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8784 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 027D8788 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8788 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 027D878C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D878C */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
L_027D8790: ; // 0x27d8790
|
|
/* 027D8790 */ _t24 = cpu->r[30] + 0x00000010u;
|
|
/* 027D8790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8794 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 027D8798 */ _t25 = cpu->r[31] + 0x000000A4u;
|
|
/* 027D8798 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027D879C */ Gambit_fn_02836EBC(cpu);
|
|
/* 027D87A0 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D87A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D87A4 */ cpu->r[6] = 0x00000004u;
|
|
/* 027D87A8 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 027D87A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D87AC */ cpu->r[3] = cpu->r[31] + 0x00000098u;
|
|
/* 027D87B0 */ Gambit_fn_028023CC(cpu);
|
|
/* 027D87B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D87B8 */ Gambit_fn_02837B34(cpu);
|
|
L_027D87BC: ; // 0x27d87bc
|
|
/* 027D87BC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027D87BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D87C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D87C4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D87C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D87C8 */ cpu->lr = cpu->r[0];
|
|
/* 027D87CC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D87CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D87D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D87D4 */ return;
|
|
}
|
|
|
|
// fn_027D86F0 @ 0x27d86f0
|
|
void Gambit_fn_027D86F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027D86F0: ; // 0x27d86f0
|
|
/* 027D86F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D86F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D86F0 */ cpu->r[1] = _t0;
|
|
/* 027D86F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D86F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D86F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D86F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D86FC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D86FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8700 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D8704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8708 */ if (_t5) goto L_027D870C; else goto L_027D871C;
|
|
L_027D870C: ; // 0x27d870c
|
|
/* 027D870C */ cpu->r[3] = 0x000000E4u;
|
|
/* 027D8710 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8714 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8718 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8718 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8718 */ if (_t7) goto L_027D87BC; else goto L_027D871C;
|
|
L_027D871C: ; // 0x27d871c
|
|
/* 027D871C */ _t8 = cpu->r[30] + 0x00000014u;
|
|
/* 027D871C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8720 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8724 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D8724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8728 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D872C */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 027D872C */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8730 */ cpu->r[8] = 0x80000000u;
|
|
/* 027D8734 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 027D8734 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8738 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027D873C */ cpu->r[7] = 0x00000000u;
|
|
/* 027D8740 */ Gambit_fn_02837758(cpu);
|
|
/* 027D8744 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8748 */ cpu->r[0] = cpu->r[0] + 0xFFFFE768u;
|
|
/* 027D874C */ cpu->r[3] = cpu->r[31] + 0x00000098u;
|
|
/* 027D874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8750 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D8750 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027D8754 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8754 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D8754 */ if (_t14) goto L_027D8758; else goto L_027D8768;
|
|
L_027D8758: ; // 0x27d8758
|
|
/* 027D8758 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D875C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8764 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8764 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D8764 */ if (_t16) goto L_027D8790; else goto L_027D8768;
|
|
L_027D8768: ; // 0x27d8768
|
|
/* 027D8768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D876C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D876C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D876C */ if (_t18) goto L_027D8770; else goto L_027D8780;
|
|
L_027D8770: ; // 0x27d8770
|
|
/* 027D8770 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8774 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D877C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D877C */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D877C */ if (_t20) goto L_027D8790; else goto L_027D8780;
|
|
L_027D8780: ; // 0x27d8780
|
|
/* 027D8780 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D8784 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8784 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 027D8788 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8788 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 027D878C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027D878C */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
L_027D8790: ; // 0x27d8790
|
|
/* 027D8790 */ _t24 = cpu->r[30] + 0x00000010u;
|
|
/* 027D8790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8794 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 027D8798 */ _t25 = cpu->r[31] + 0x000000A4u;
|
|
/* 027D8798 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027D879C */ Gambit_fn_02836EBC(cpu);
|
|
/* 027D87A0 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D87A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D87A4 */ cpu->r[6] = 0x00000004u;
|
|
/* 027D87A8 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 027D87A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D87AC */ cpu->r[3] = cpu->r[31] + 0x00000098u;
|
|
/* 027D87B0 */ Gambit_fn_028023CC(cpu);
|
|
/* 027D87B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D87B8 */ Gambit_fn_02837B34(cpu);
|
|
L_027D87BC: ; // 0x27d87bc
|
|
/* 027D87BC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027D87BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D87C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D87C4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D87C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D87C8 */ cpu->lr = cpu->r[0];
|
|
/* 027D87CC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027D87CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D87D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D87D4 */ return;
|
|
}
|
|
|
|
// fn_027D87D8 @ 0x27d87d8
|
|
void Gambit_fn_027D87D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027D87D8: ; // 0x27d87d8
|
|
/* 027D87D8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D87D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D87DC */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D87DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D87E0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D87E4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D87E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027D87EC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027D87F0 @ 0x27d87f0
|
|
void Gambit_fn_027D87F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D87F0: ; // 0x27d87f0
|
|
/* 027D87F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D87F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D87F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D87F4 */ cpu->r[1] = _t0;
|
|
/* 027D87F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D87F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D87FC */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8800 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8804 */ cpu->r[31] = cpu->r[30] + 0x000000A8u;
|
|
/* 027D8808 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D880C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D880C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8810 */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D8814 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8818 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D881C */ _t4 = cpu->r[30] + 0x00000098u;
|
|
/* 027D881C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8820 */ Gambit_fn_02837030(cpu);
|
|
/* 027D8824 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8828 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8828 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D882C */ cpu->lr = cpu->r[0];
|
|
/* 027D8830 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8834 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8838 */ return;
|
|
}
|
|
|
|
// fn_027D87F4 @ 0x27d87f4
|
|
void Gambit_fn_027D87F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027D87F4: ; // 0x27d87f4
|
|
/* 027D87F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D87F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D87F4 */ cpu->r[1] = _t0;
|
|
/* 027D87F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D87F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D87FC */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8800 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8804 */ cpu->r[31] = cpu->r[30] + 0x000000A8u;
|
|
/* 027D8808 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D880C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D880C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8810 */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D8814 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8818 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D881C */ _t4 = cpu->r[30] + 0x00000098u;
|
|
/* 027D881C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8820 */ Gambit_fn_02837030(cpu);
|
|
/* 027D8824 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8828 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8828 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D882C */ cpu->lr = cpu->r[0];
|
|
/* 027D8830 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8830 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8834 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8838 */ return;
|
|
}
|
|
|
|
// fn_027D883C @ 0x27d883c
|
|
void Gambit_fn_027D883C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027D883C: ; // 0x27d883c
|
|
/* 027D883C */ cpu->r[0] = cpu->lr;
|
|
/* 027D8840 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8840 */ cpu->r[1] = _t0;
|
|
/* 027D8844 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8844 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8848 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8848 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D884C */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D884C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D8850 */ _t4 = cpu->r[12] + 0x00000044u;
|
|
/* 027D8850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8854 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8858 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D885C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8860 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8864 */ Gambit_fn_027D87F0(cpu);
|
|
/* 027D8868 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D886C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D886C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D8870 */ cpu->lr = cpu->r[0];
|
|
/* 027D8874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8878 */ return;
|
|
}
|
|
|
|
// fn_027D8840 @ 0x27d8840
|
|
void Gambit_fn_027D8840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027D8840: ; // 0x27d8840
|
|
/* 027D8840 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8840 */ cpu->r[1] = _t0;
|
|
/* 027D8844 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8844 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8848 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8848 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D884C */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027D884C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D8850 */ _t4 = cpu->r[12] + 0x00000044u;
|
|
/* 027D8850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8854 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8858 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D885C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8860 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8864 */ Gambit_fn_027D87F0(cpu);
|
|
/* 027D8868 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D886C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D886C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D8870 */ cpu->lr = cpu->r[0];
|
|
/* 027D8874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8878 */ return;
|
|
}
|
|
|
|
// fn_027D887C @ 0x27d887c
|
|
void Gambit_fn_027D887C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D887C: ; // 0x27d887c
|
|
/* 027D887C */ cpu->r[0] = cpu->lr;
|
|
/* 027D8880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8880 */ cpu->r[1] = _t0;
|
|
/* 027D8884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8884 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8888 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8888 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D888C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D888C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D8890 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8890 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D8894 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8894 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D8898 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D889C */ cpu->r[28] = cpu->r[29] + 0x000000A8u;
|
|
/* 027D88A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 027D88A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D88A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D88AC */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D88B0 */ _t6 = cpu->r[29] + 0x00000098u;
|
|
/* 027D88B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D88B4 */ _t7 = cpu->r[29] + 0x0000009Cu;
|
|
/* 027D88B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D88B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D88BC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D88BC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D88BC */ if (_t9) goto L_027D88EC; else goto L_027D88C0;
|
|
L_027D88C0: ; // 0x27d88c0
|
|
/* 027D88C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D88C4 */ Gambit_fn_02837030(cpu);
|
|
/* 027D88C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D88C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D88CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D88CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D88D0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D88D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D88D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027D88D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D88D8 */ cpu->lr = cpu->r[0];
|
|
/* 027D88DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D88DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D88E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D88E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D88E8 */ return;
|
|
L_027D88EC: ; // 0x27d88ec
|
|
/* 027D88EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D88F0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D88F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D88F0 */ if (_t16) goto L_027D8914; else goto L_027D88F4;
|
|
L_027D88F4: ; // 0x27d88f4
|
|
/* 027D88F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D88F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027D88FC */ cpu->r[3] = cpu->r[29] + 0x00000098u;
|
|
/* 027D8900 */ Gambit_fn_028025B4(cpu);
|
|
/* 027D8904 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D8908 */ Gambit_fn_02837030(cpu);
|
|
/* 027D890C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D8910 */ goto L_027D8938;
|
|
L_027D8914: ; // 0x27d8914
|
|
/* 027D8914 */ _t17 = cpu->r[29] + 0x000000A0u;
|
|
/* 027D8914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8918 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D891C */ _t18 = cpu->r[12] + cpu->r[0];
|
|
/* 027D891C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 027D8920 */ _t19 = cpu->r[29] + 0x00000098u;
|
|
/* 027D8920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D8924 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027D8928 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D892C */ _t20 = cpu->r[29] + 0x00000098u;
|
|
/* 027D892C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 027D8930 */ Gambit_fn_02837030(cpu);
|
|
/* 027D8934 */ cpu->r[3] = 0x00000001u;
|
|
L_027D8938: ; // 0x27d8938
|
|
/* 027D8938 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8938 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D893C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D893C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8940 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8944 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8948 */ cpu->lr = cpu->r[0];
|
|
/* 027D894C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027D894C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8950 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8954 */ return;
|
|
}
|
|
|
|
// fn_027D8880 @ 0x27d8880
|
|
void Gambit_fn_027D8880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027D8880: ; // 0x27d8880
|
|
/* 027D8880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8880 */ cpu->r[1] = _t0;
|
|
/* 027D8884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8884 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8888 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8888 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D888C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027D888C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027D8890 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8890 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D8894 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8894 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D8898 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D889C */ cpu->r[28] = cpu->r[29] + 0x000000A8u;
|
|
/* 027D88A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 027D88A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D88A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D88AC */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D88B0 */ _t6 = cpu->r[29] + 0x00000098u;
|
|
/* 027D88B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D88B4 */ _t7 = cpu->r[29] + 0x0000009Cu;
|
|
/* 027D88B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D88B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D88BC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D88BC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D88BC */ if (_t9) goto L_027D88EC; else goto L_027D88C0;
|
|
L_027D88C0: ; // 0x27d88c0
|
|
/* 027D88C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D88C4 */ Gambit_fn_02837030(cpu);
|
|
/* 027D88C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D88C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D88CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D88CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D88D0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D88D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D88D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027D88D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D88D8 */ cpu->lr = cpu->r[0];
|
|
/* 027D88DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027D88DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D88E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D88E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D88E8 */ return;
|
|
L_027D88EC: ; // 0x27d88ec
|
|
/* 027D88EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D88F0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D88F0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D88F0 */ if (_t16) goto L_027D8914; else goto L_027D88F4;
|
|
L_027D88F4: ; // 0x27d88f4
|
|
/* 027D88F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D88F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027D88FC */ cpu->r[3] = cpu->r[29] + 0x00000098u;
|
|
/* 027D8900 */ Gambit_fn_028025B4(cpu);
|
|
/* 027D8904 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D8908 */ Gambit_fn_02837030(cpu);
|
|
/* 027D890C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D8910 */ goto L_027D8938;
|
|
L_027D8914: ; // 0x27d8914
|
|
/* 027D8914 */ _t17 = cpu->r[29] + 0x000000A0u;
|
|
/* 027D8914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8918 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D891C */ _t18 = cpu->r[12] + cpu->r[0];
|
|
/* 027D891C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 027D8920 */ _t19 = cpu->r[29] + 0x00000098u;
|
|
/* 027D8920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D8924 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027D8928 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D892C */ _t20 = cpu->r[29] + 0x00000098u;
|
|
/* 027D892C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 027D8930 */ Gambit_fn_02837030(cpu);
|
|
/* 027D8934 */ cpu->r[3] = 0x00000001u;
|
|
L_027D8938: ; // 0x27d8938
|
|
/* 027D8938 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8938 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D893C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D893C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8940 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8944 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8948 */ cpu->lr = cpu->r[0];
|
|
/* 027D894C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027D894C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8950 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8954 */ return;
|
|
}
|
|
|
|
// fn_027D8958 @ 0x27d8958
|
|
void Gambit_fn_027D8958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D8958: ; // 0x27d8958
|
|
/* 027D8958 */ cpu->r[0] = cpu->lr;
|
|
/* 027D895C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D895C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D895C */ cpu->r[1] = _t0;
|
|
/* 027D8960 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8960 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8964 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8964 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8968 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8968 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D896C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D896C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8970 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D8974 */ cpu->r[30] = cpu->r[29] + 0x000000A8u;
|
|
/* 027D8978 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D897C */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D8980 */ _t5 = cpu->r[29] + 0x00000098u;
|
|
/* 027D8980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8988 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8988 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8988 */ if (_t7) goto L_027D898C; else goto L_027D89C0;
|
|
L_027D898C: ; // 0x27d898c
|
|
/* 027D898C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D8990 */ _t8 = cpu->r[29] + 0x000000A0u;
|
|
/* 027D8990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8994 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 027D8998 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D899C */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 027D89A0 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 027D89A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D89A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027D89A8 */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 027D89A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D89AC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D89B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D89B4 */ _t11 = cpu->r[29] + 0x00000098u;
|
|
/* 027D89B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027D89B8 */ Gambit_fn_02837030(cpu);
|
|
/* 027D89BC */ goto L_027D89CC;
|
|
L_027D89C0: ; // 0x27d89c0
|
|
/* 027D89C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D89C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D89C8 */ Gambit_fn_02837030(cpu);
|
|
L_027D89CC: ; // 0x27d89cc
|
|
/* 027D89CC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D89CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D89D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D89D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D89D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D89D8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027D89D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D89DC */ cpu->lr = cpu->r[0];
|
|
/* 027D89E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027D89E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D89E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D89E8 */ return;
|
|
}
|
|
|
|
// fn_027D895C @ 0x27d895c
|
|
void Gambit_fn_027D895C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D895C: ; // 0x27d895c
|
|
/* 027D895C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D895C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D895C */ cpu->r[1] = _t0;
|
|
/* 027D8960 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8960 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8964 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8964 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8968 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8968 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D896C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D896C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8970 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D8974 */ cpu->r[30] = cpu->r[29] + 0x000000A8u;
|
|
/* 027D8978 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D897C */ Gambit_fn_02836FFC(cpu);
|
|
/* 027D8980 */ _t5 = cpu->r[29] + 0x00000098u;
|
|
/* 027D8980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8988 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8988 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8988 */ if (_t7) goto L_027D898C; else goto L_027D89C0;
|
|
L_027D898C: ; // 0x27d898c
|
|
/* 027D898C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D8990 */ _t8 = cpu->r[29] + 0x000000A0u;
|
|
/* 027D8990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8994 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 027D8998 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D899C */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 027D89A0 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 027D89A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D89A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027D89A8 */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 027D89A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D89AC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027D89B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D89B4 */ _t11 = cpu->r[29] + 0x00000098u;
|
|
/* 027D89B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027D89B8 */ Gambit_fn_02837030(cpu);
|
|
/* 027D89BC */ goto L_027D89CC;
|
|
L_027D89C0: ; // 0x27d89c0
|
|
/* 027D89C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D89C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D89C8 */ Gambit_fn_02837030(cpu);
|
|
L_027D89CC: ; // 0x27d89cc
|
|
/* 027D89CC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D89CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D89D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D89D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D89D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D89D8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027D89D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D89DC */ cpu->lr = cpu->r[0];
|
|
/* 027D89E0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027D89E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D89E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D89E8 */ return;
|
|
}
|
|
|
|
// fn_027D89EC @ 0x27d89ec
|
|
void Gambit_fn_027D89EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D89EC: ; // 0x27d89ec
|
|
/* 027D89EC */ cpu->r[0] = cpu->lr;
|
|
/* 027D89F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D89F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D89F0 */ cpu->r[1] = _t0;
|
|
/* 027D89F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D89F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D89F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D89FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D89FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D8A00 */ Gambit_fn_027D8958(cpu);
|
|
/* 027D8A04 */ cpu->r[11] = cpu->r[3];
|
|
/* 027D8A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8A08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D8A08 */ if (_t4) goto L_027D8A30; else goto L_027D8A0C;
|
|
L_027D8A0C: ; // 0x27d8a0c
|
|
/* 027D8A0C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 027D8A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8A10 */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D8A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D8A14 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8A18 */ cpu->r[3] = cpu->r[11];
|
|
/* 027D8A1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8A24 */ Gambit_fn_027D8958(cpu);
|
|
/* 027D8A28 */ cpu->r[11] = cpu->r[3];
|
|
/* 027D8A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8A2C */ if (_t8) goto L_027D8A30; else goto L_027D8A0C;
|
|
L_027D8A30: ; // 0x27d8a30
|
|
/* 027D8A30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8A34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8A38 */ cpu->lr = cpu->r[0];
|
|
/* 027D8A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8A40 */ return;
|
|
}
|
|
|
|
// fn_027D89F0 @ 0x27d89f0
|
|
void Gambit_fn_027D89F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D89F0: ; // 0x27d89f0
|
|
/* 027D89F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D89F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D89F0 */ cpu->r[1] = _t0;
|
|
/* 027D89F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D89F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D89F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D89FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D89FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D8A00 */ Gambit_fn_027D8958(cpu);
|
|
/* 027D8A04 */ cpu->r[11] = cpu->r[3];
|
|
/* 027D8A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8A08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D8A08 */ if (_t4) goto L_027D8A30; else goto L_027D8A0C;
|
|
L_027D8A0C: ; // 0x27d8a0c
|
|
/* 027D8A0C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 027D8A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8A10 */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027D8A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D8A14 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8A18 */ cpu->r[3] = cpu->r[11];
|
|
/* 027D8A1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8A24 */ Gambit_fn_027D8958(cpu);
|
|
/* 027D8A28 */ cpu->r[11] = cpu->r[3];
|
|
/* 027D8A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D8A2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8A2C */ if (_t8) goto L_027D8A30; else goto L_027D8A0C;
|
|
L_027D8A30: ; // 0x27d8a30
|
|
/* 027D8A30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8A34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8A38 */ cpu->lr = cpu->r[0];
|
|
/* 027D8A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8A40 */ return;
|
|
}
|
|
|
|
// fn_027D8A44 @ 0x27d8a44
|
|
void Gambit_fn_027D8A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D8A44: ; // 0x27d8a44
|
|
/* 027D8A44 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8A48 */ cpu->r[1] = _t0;
|
|
/* 027D8A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8A50 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8A54 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8A58 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8A5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8A60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8A60 */ if (_t5) goto L_027D8A98; else goto L_027D8A64;
|
|
L_027D8A64: ; // 0x27d8a64
|
|
/* 027D8A64 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8A68 */ cpu->r[3] = cpu->r[30] + 0x000000A8u;
|
|
/* 027D8A6C */ cpu->r[0] = cpu->r[0] + 0xFFFFE758u;
|
|
/* 027D8A70 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8A74 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 027D8A74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D8A78 */ Gambit_fn_02836FA8(cpu);
|
|
/* 027D8A7C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8A80 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8A84 */ Gambit_fn_028379A8(cpu);
|
|
/* 027D8A88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8A8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8A8C */ if (_t8) goto L_027D8A98; else goto L_027D8A90;
|
|
L_027D8A90: ; // 0x27d8a90
|
|
/* 027D8A90 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8A94 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D8A98: ; // 0x27d8a98
|
|
/* 027D8A98 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8A9C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8A9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8AA0 */ cpu->lr = cpu->r[0];
|
|
/* 027D8AA4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8AA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8AA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8AAC */ return;
|
|
}
|
|
|
|
// fn_027D8A48 @ 0x27d8a48
|
|
void Gambit_fn_027D8A48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D8A48: ; // 0x27d8a48
|
|
/* 027D8A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D8A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8A48 */ cpu->r[1] = _t0;
|
|
/* 027D8A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D8A50 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D8A54 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8A58 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8A5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D8A60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D8A60 */ if (_t5) goto L_027D8A98; else goto L_027D8A64;
|
|
L_027D8A64: ; // 0x27d8a64
|
|
/* 027D8A64 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8A68 */ cpu->r[3] = cpu->r[30] + 0x000000A8u;
|
|
/* 027D8A6C */ cpu->r[0] = cpu->r[0] + 0xFFFFE758u;
|
|
/* 027D8A70 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8A74 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 027D8A74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027D8A78 */ Gambit_fn_02836FA8(cpu);
|
|
/* 027D8A7C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8A80 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8A84 */ Gambit_fn_028379A8(cpu);
|
|
/* 027D8A88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8A8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8A8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8A8C */ if (_t8) goto L_027D8A98; else goto L_027D8A90;
|
|
L_027D8A90: ; // 0x27d8a90
|
|
/* 027D8A90 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8A94 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D8A98: ; // 0x27d8a98
|
|
/* 027D8A98 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8A9C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8A9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8AA0 */ cpu->lr = cpu->r[0];
|
|
/* 027D8AA4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8AA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8AA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D8AAC */ return;
|
|
}
|
|
|
|
// fn_027D8AB0 @ 0x27d8ab0
|
|
void Gambit_fn_027D8AB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D8AB0: ; // 0x27d8ab0
|
|
/* 027D8AB0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8AB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8AB4 */ cpu->r[1] = _t0;
|
|
/* 027D8AB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8ABC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8AC0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027D8AC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8AC8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8ACC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8ACC */ if (_t6) goto L_027D8AD0; else goto L_027D8AE0;
|
|
L_027D8AD0: ; // 0x27d8ad0
|
|
/* 027D8AD0 */ cpu->r[3] = 0x00000134u;
|
|
/* 027D8AD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8AD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8ADC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8ADC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8ADC */ if (_t8) goto L_027D8BF8; else goto L_027D8AE0;
|
|
L_027D8AE0: ; // 0x27d8ae0
|
|
/* 027D8AE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8AE4 */ Gambit_fn_02821D00(cpu);
|
|
/* 027D8AE8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8AEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 027D8AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8AF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE810u;
|
|
/* 027D8AF4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8AF8 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D8AF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D8AFC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8AFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8AFC */ if (_t11) goto L_027D8B00; else goto L_027D8B10;
|
|
L_027D8B00: ; // 0x27d8b00
|
|
/* 027D8B00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B04 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D8B0C */ if (_t13) goto L_027D8B34; else goto L_027D8B10;
|
|
L_027D8B10: ; // 0x27d8b10
|
|
/* 027D8B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D8B14 */ if (_t15) goto L_027D8B18; else goto L_027D8B28;
|
|
L_027D8B18: ; // 0x27d8b18
|
|
/* 027D8B18 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B1C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027D8B24 */ if (_t17) goto L_027D8B34; else goto L_027D8B28;
|
|
L_027D8B28: ; // 0x27d8b28
|
|
/* 027D8B28 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8B28 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 027D8B2C */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8B2C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027D8B30 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8B30 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027D8B34: ; // 0x27d8b34
|
|
/* 027D8B34 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D8B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8B38 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B38 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D8B38 */ if (_t22) goto L_027D8B3C; else goto L_027D8B4C;
|
|
L_027D8B3C: ; // 0x27d8b3c
|
|
/* 027D8B3C */ cpu->r[3] = 0x00000018u;
|
|
/* 027D8B40 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B44 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D8B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8B48 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B48 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D8B48 */ if (_t24) goto L_027D8B7C; else goto L_027D8B4C;
|
|
L_027D8B4C: ; // 0x27d8b4c
|
|
/* 027D8B4C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B50 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B50 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D8B50 */ if (_t26) goto L_027D8B54; else goto L_027D8B64;
|
|
L_027D8B54: ; // 0x27d8b54
|
|
/* 027D8B54 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B58 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B60 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8B60 */ if (_t28) goto L_027D8B70; else goto L_027D8B64;
|
|
L_027D8B64: ; // 0x27d8b64
|
|
/* 027D8B64 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8B64 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 027D8B68 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8B68 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027D8B6C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8B6C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_027D8B70: ; // 0x27d8b70
|
|
/* 027D8B70 */ _t32 = cpu->r[29] + 0x00000010u;
|
|
/* 027D8B70 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 027D8B74 */ _t33 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D8B74 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 027D8B78 */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 027D8B78 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
L_027D8B7C: ; // 0x27d8b7c
|
|
/* 027D8B7C */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 027D8B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B80 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B80 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D8B80 */ if (_t36) goto L_027D8B84; else goto L_027D8B94;
|
|
L_027D8B84: ; // 0x27d8b84
|
|
/* 027D8B84 */ cpu->r[3] = 0x000000FFu;
|
|
/* 027D8B88 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B90 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B90 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027D8B90 */ if (_t38) goto L_027D8BC4; else goto L_027D8B94;
|
|
L_027D8B94: ; // 0x27d8b94
|
|
/* 027D8B94 */ cpu->r[8] = 0x00000000u;
|
|
/* 027D8B98 */ goto L_027D8BA4;
|
|
L_027D8B9C: ; // 0x27d8b9c
|
|
/* 027D8B9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x000000FFu);
|
|
/* 027D8BA0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8BA0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D8BA0 */ if (_t40) goto L_027D8BA4; else goto L_027D8BB0;
|
|
L_027D8BA4: ; // 0x27d8ba4
|
|
/* 027D8BA4 */ cpu->r[11] = cpu->r[3] + cpu->r[8];
|
|
/* 027D8BA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8BAC */ goto L_027D8BB4;
|
|
L_027D8BB0: ; // 0x27d8bb0
|
|
/* 027D8BB0 */ cpu->r[11] = cpu->r[3];
|
|
L_027D8BB4: ; // 0x27d8bb4
|
|
/* 027D8BB4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027D8BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
|
|
/* 027D8BBC */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 027D8BBC */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 027D8BC0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8BC0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D8BC0 */ if (_t43) goto L_027D8B9C; else goto L_027D8BC4;
|
|
L_027D8BC4: ; // 0x27d8bc4
|
|
/* 027D8BC4 */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D8BC8 */ cpu->r[0] = 0x00000003u;
|
|
/* 027D8BCC */ cpu->r[12] = 0x00000000u;
|
|
/* 027D8BD0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D8BD4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8BD8 */ cpu->r[11] = cpu->r[10] + 0xFFFF9650u;
|
|
L_027D8BDC: ; // 0x27d8bdc
|
|
/* 027D8BDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 027D8BE0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8BE0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027D8BE0 */ if (_t45) goto L_027D8BE8; else goto L_027D8BE4;
|
|
L_027D8BE4: ; // 0x27d8be4
|
|
/* 027D8BE4 */ _t46 = cpu->r[11] + 0x00000000u;
|
|
/* 027D8BE4 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
L_027D8BE8: ; // 0x27d8be8
|
|
/* 027D8BE8 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 027D8BEC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D8BF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D8BF0 */ _t47 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D8BF0 */ _t48 = _t47 >> (0x00000002u & 31u);
|
|
/* 027D8BF0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027D8BF0 */ if (_t49) goto L_027D8BDC; else goto L_027D8BF4;
|
|
L_027D8BF4: ; // 0x27d8bf4
|
|
/* 027D8BF4 */ _t50 = cpu->r[10] + 0xFFFF9650u;
|
|
/* 027D8BF4 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
L_027D8BF8: ; // 0x27d8bf8
|
|
/* 027D8BF8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8BF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D8BFC */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D8C00 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8C04 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D8C08 */ cpu->lr = cpu->r[0];
|
|
/* 027D8C0C */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D8C10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8C14 */ return;
|
|
}
|
|
|
|
// fn_027D8AB4 @ 0x27d8ab4
|
|
void Gambit_fn_027D8AB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D8AB4: ; // 0x27d8ab4
|
|
/* 027D8AB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8AB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8AB4 */ cpu->r[1] = _t0;
|
|
/* 027D8AB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027D8ABC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8ABC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027D8AC0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027D8AC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8AC8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8ACC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8ACC */ if (_t6) goto L_027D8AD0; else goto L_027D8AE0;
|
|
L_027D8AD0: ; // 0x27d8ad0
|
|
/* 027D8AD0 */ cpu->r[3] = 0x00000134u;
|
|
/* 027D8AD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8AD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D8ADC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8ADC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D8ADC */ if (_t8) goto L_027D8BF8; else goto L_027D8AE0;
|
|
L_027D8AE0: ; // 0x27d8ae0
|
|
/* 027D8AE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8AE4 */ Gambit_fn_02821D00(cpu);
|
|
/* 027D8AE8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D8AEC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 027D8AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8AF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE810u;
|
|
/* 027D8AF4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8AF8 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027D8AF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D8AFC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8AFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8AFC */ if (_t11) goto L_027D8B00; else goto L_027D8B10;
|
|
L_027D8B00: ; // 0x27d8b00
|
|
/* 027D8B00 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B04 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D8B0C */ if (_t13) goto L_027D8B34; else goto L_027D8B10;
|
|
L_027D8B10: ; // 0x27d8b10
|
|
/* 027D8B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B14 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B14 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D8B14 */ if (_t15) goto L_027D8B18; else goto L_027D8B28;
|
|
L_027D8B18: ; // 0x27d8b18
|
|
/* 027D8B18 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B1C */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027D8B24 */ if (_t17) goto L_027D8B34; else goto L_027D8B28;
|
|
L_027D8B28: ; // 0x27d8b28
|
|
/* 027D8B28 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8B28 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 027D8B2C */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8B2C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027D8B30 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8B30 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027D8B34: ; // 0x27d8b34
|
|
/* 027D8B34 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
|
|
/* 027D8B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8B38 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B38 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D8B38 */ if (_t22) goto L_027D8B3C; else goto L_027D8B4C;
|
|
L_027D8B3C: ; // 0x27d8b3c
|
|
/* 027D8B3C */ cpu->r[3] = 0x00000018u;
|
|
/* 027D8B40 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B44 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D8B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8B48 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B48 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D8B48 */ if (_t24) goto L_027D8B7C; else goto L_027D8B4C;
|
|
L_027D8B4C: ; // 0x27d8b4c
|
|
/* 027D8B4C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B50 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B50 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D8B50 */ if (_t26) goto L_027D8B54; else goto L_027D8B64;
|
|
L_027D8B54: ; // 0x27d8b54
|
|
/* 027D8B54 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D8B58 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B60 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8B60 */ if (_t28) goto L_027D8B70; else goto L_027D8B64;
|
|
L_027D8B64: ; // 0x27d8b64
|
|
/* 027D8B64 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 027D8B64 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 027D8B68 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027D8B68 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027D8B6C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 027D8B6C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_027D8B70: ; // 0x27d8b70
|
|
/* 027D8B70 */ _t32 = cpu->r[29] + 0x00000010u;
|
|
/* 027D8B70 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 027D8B74 */ _t33 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D8B74 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 027D8B78 */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 027D8B78 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
L_027D8B7C: ; // 0x27d8b7c
|
|
/* 027D8B7C */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 027D8B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B80 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B80 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D8B80 */ if (_t36) goto L_027D8B84; else goto L_027D8B94;
|
|
L_027D8B84: ; // 0x27d8b84
|
|
/* 027D8B84 */ cpu->r[3] = 0x000000FFu;
|
|
/* 027D8B88 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D8B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8B90 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8B90 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027D8B90 */ if (_t38) goto L_027D8BC4; else goto L_027D8B94;
|
|
L_027D8B94: ; // 0x27d8b94
|
|
/* 027D8B94 */ cpu->r[8] = 0x00000000u;
|
|
/* 027D8B98 */ goto L_027D8BA4;
|
|
L_027D8B9C: ; // 0x27d8b9c
|
|
/* 027D8B9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x000000FFu);
|
|
/* 027D8BA0 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8BA0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D8BA0 */ if (_t40) goto L_027D8BA4; else goto L_027D8BB0;
|
|
L_027D8BA4: ; // 0x27d8ba4
|
|
/* 027D8BA4 */ cpu->r[11] = cpu->r[3] + cpu->r[8];
|
|
/* 027D8BA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8BAC */ goto L_027D8BB4;
|
|
L_027D8BB0: ; // 0x27d8bb0
|
|
/* 027D8BB0 */ cpu->r[11] = cpu->r[3];
|
|
L_027D8BB4: ; // 0x27d8bb4
|
|
/* 027D8BB4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027D8BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
|
|
/* 027D8BBC */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 027D8BBC */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 027D8BC0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8BC0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D8BC0 */ if (_t43) goto L_027D8B9C; else goto L_027D8BC4;
|
|
L_027D8BC4: ; // 0x27d8bc4
|
|
/* 027D8BC4 */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D8BC8 */ cpu->r[0] = 0x00000003u;
|
|
/* 027D8BCC */ cpu->r[12] = 0x00000000u;
|
|
/* 027D8BD0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027D8BD4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8BD8 */ cpu->r[11] = cpu->r[10] + 0xFFFF9650u;
|
|
L_027D8BDC: ; // 0x27d8bdc
|
|
/* 027D8BDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 027D8BE0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8BE0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027D8BE0 */ if (_t45) goto L_027D8BE8; else goto L_027D8BE4;
|
|
L_027D8BE4: ; // 0x27d8be4
|
|
/* 027D8BE4 */ _t46 = cpu->r[11] + 0x00000000u;
|
|
/* 027D8BE4 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
L_027D8BE8: ; // 0x27d8be8
|
|
/* 027D8BE8 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 027D8BEC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D8BF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D8BF0 */ _t47 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D8BF0 */ _t48 = _t47 >> (0x00000002u & 31u);
|
|
/* 027D8BF0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027D8BF0 */ if (_t49) goto L_027D8BDC; else goto L_027D8BF4;
|
|
L_027D8BF4: ; // 0x27d8bf4
|
|
/* 027D8BF4 */ _t50 = cpu->r[10] + 0xFFFF9650u;
|
|
/* 027D8BF4 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
L_027D8BF8: ; // 0x27d8bf8
|
|
/* 027D8BF8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8BF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027D8BFC */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D8C00 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8C04 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027D8C08 */ cpu->lr = cpu->r[0];
|
|
/* 027D8C0C */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D8C10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8C14 */ return;
|
|
}
|
|
|
|
// fn_027D8C18 @ 0x27d8c18
|
|
void Gambit_fn_027D8C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027D8C18: ; // 0x27d8c18
|
|
/* 027D8C18 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D8C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8C18 */ cpu->r[1] = _t0;
|
|
/* 027D8C1C */ cpu->r[0] = cpu->lr;
|
|
/* 027D8C20 */ /* nop */
|
|
/* 027D8C24 */ cpu->r[30] = cpu->r[3];
|
|
/* 027D8C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D8C28 */ cpu->r[27] = cpu->r[4];
|
|
/* 027D8C2C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D8C2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D8C30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8C30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D8C30 */ if (_t3) goto L_027D8CFC; else goto L_027D8C34;
|
|
L_027D8C34: ; // 0x27d8c34
|
|
/* 027D8C34 */ cpu->r[11] = 0x10110000u;
|
|
/* 027D8C38 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 027D8C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8C3C */ cpu->r[11] = cpu->r[11] + 0xFFFFE810u;
|
|
/* 027D8C40 */ cpu->r[0] = cpu->r[30] + 0xFFFFFF38u;
|
|
/* 027D8C44 */ cpu->r[12] = cpu->r[31] + 0xFFFFFF1Cu;
|
|
/* 027D8C48 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D8C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027D8C50 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027D8C50 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027D8C54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8C54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8C54 */ if (_t7) goto L_027D8C68; else goto L_027D8C58;
|
|
L_027D8C58: ; // 0x27d8c58
|
|
/* 027D8C58 */ _t8 = cpu->r[12] + 0x000000E8u;
|
|
/* 027D8C58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8C5C */ cpu->r[12] = cpu->r[5] + 0xFFFFFF1Cu;
|
|
/* 027D8C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027D8C64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8C64 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D8C64 */ if (_t10) goto L_027D8C68; else goto L_027D8C58;
|
|
L_027D8C68: ; // 0x27d8c68
|
|
/* 027D8C68 */ _t11 = cpu->r[29] + 0x00000010u;
|
|
/* 027D8C68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D8C70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8C70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D8C70 */ if (_t13) goto L_027D8CE0; else goto L_027D8C74;
|
|
L_027D8C74: ; // 0x27d8c74
|
|
/* 027D8C74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 027D8C78 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8C78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D8C78 */ if (_t15) goto L_027D8CC8; else goto L_027D8C7C;
|
|
L_027D8C7C: ; // 0x27d8c7c
|
|
/* 027D8C7C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 027D8C7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8C80 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D8C84 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D8C88 */ _t17 = cpu->r[29] + 0x00000008u;
|
|
/* 027D8C88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8C8C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027D8C90 */ _t18 = cpu->r[29] + 0x00000008u;
|
|
/* 027D8C90 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 027D8C94 */ _t19 = cpu->r[31] + 0xFFFFFF28u;
|
|
/* 027D8C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D8C98 */ _t20 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027D8C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D8C9C */ cpu->r[26] = cpu->r[31] + 0xFFFFFF1Cu;
|
|
/* 027D8CA0 */ cpu->ctr = cpu->r[9];
|
|
/* 027D8CA4 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D8CA8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D8CAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8CB0 */ _t21 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D8CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D8CB4 */ _t22 = cpu->r[31] + 0xFFFFFF1Cu;
|
|
/* 027D8CB4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 027D8CB8 */ cpu->r[31] = cpu->r[28];
|
|
/* 027D8CBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 027D8CC0 */ _t23 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D8CC0 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 027D8CC4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8CC4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D8CC4 */ if (_t25) goto L_027D8CC8; else goto L_027D8C7C;
|
|
L_027D8CC8: ; // 0x27d8cc8
|
|
/* 027D8CC8 */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 027D8CC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D8CCC */ Gambit_fn_02801BB4(cpu);
|
|
/* 027D8CD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8CD4 */ _t27 = cpu->r[29] + 0x00000014u;
|
|
/* 027D8CD4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027D8CD8 */ _t28 = cpu->r[29] + 0x00000010u;
|
|
/* 027D8CD8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027D8CDC */ _t29 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D8CDC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_027D8CE0: ; // 0x27d8ce0
|
|
/* 027D8CE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8CE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8CE8 */ Gambit_fn_02821E68(cpu);
|
|
/* 027D8CEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D8CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8CF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8CF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D8CF0 */ if (_t31) goto L_027D8CFC; else goto L_027D8CF4;
|
|
L_027D8CF4: ; // 0x27d8cf4
|
|
/* 027D8CF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8CF8 */ Gambit_fn_02801BB0(cpu);
|
|
L_027D8CFC: ; // 0x27d8cfc
|
|
/* 027D8CFC */ /* nop */
|
|
/* 027D8D00 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 027D8D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D8D04 */ cpu->lr = cpu->r[0];
|
|
/* 027D8D08 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D8D0C */ return;
|
|
}
|
|
|
|
// fn_027D8D10 @ 0x27d8d10
|
|
void Gambit_fn_027D8D10(CPUState* cpu) {
|
|
uint32_t _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_027D8D10: ; // 0x27d8d10
|
|
/* 027D8D10 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8D14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8D14 */ cpu->r[1] = _t0;
|
|
/* 027D8D18 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8D18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D8D1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027D8D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D8D24 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8D24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8D28 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 027D8D28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8D30 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8D34 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8D34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8D34 */ if (_t7) goto L_027D8D38; else goto L_027D8D90;
|
|
L_027D8D38: ; // 0x27d8d38
|
|
/* 027D8D38 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x000000ECu);
|
|
/* 027D8D3C */ cpu->r[5] = 0x00000004u;
|
|
/* 027D8D40 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8D48 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027D8D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8D50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8D50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8D50 */ if (_t9) goto L_027D8D90; else goto L_027D8D54;
|
|
L_027D8D54: ; // 0x27d8d54
|
|
/* 027D8D54 */ cpu->r[0] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027D8D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8D58 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 027D8D58 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 027D8D5C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8D5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D8D5C */ if (_t12) goto L_027D8D60; else goto L_027D8D7C;
|
|
L_027D8D60: ; // 0x27d8d60
|
|
/* 027D8D60 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8D64 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D8D68 */ cpu->r[11] = cpu->r[3] + 0x000000ECu;
|
|
L_027D8D6C: ; // 0x27d8d6c
|
|
/* 027D8D6C */ _t13 = cpu->r[3] + cpu->r[10];
|
|
/* 027D8D6C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027D8D70 */ cpu->r[10] = cpu->r[10] + 0x000000ECu;
|
|
/* 027D8D74 */ cpu->r[11] = cpu->r[11] + 0x000000ECu;
|
|
/* 027D8D78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D8D78 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D8D78 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 027D8D78 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D8D78 */ if (_t16) goto L_027D8D6C; else goto L_027D8D7C;
|
|
L_027D8D7C: ; // 0x27d8d7c
|
|
/* 027D8D7C */ cpu->r[12] = cpu->r[3] + cpu->r[30];
|
|
/* 027D8D80 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8D84 */ _t17 = cpu->r[12] + 0xFFFFFF14u;
|
|
/* 027D8D84 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D8D88 */ _t18 = cpu->r[31] + 0x00000030u;
|
|
/* 027D8D88 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 027D8D8C */ _t19 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D8D8C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_027D8D90: ; // 0x27d8d90
|
|
/* 027D8D90 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8D90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D8D94 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D8D98 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8D98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8D9C */ cpu->lr = cpu->r[0];
|
|
/* 027D8DA0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8DA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8DA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8DA8 */ return;
|
|
}
|
|
|
|
// fn_027D8D14 @ 0x27d8d14
|
|
void Gambit_fn_027D8D14(CPUState* cpu) {
|
|
uint32_t _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_027D8D14: ; // 0x27d8d14
|
|
/* 027D8D14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D8D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8D14 */ cpu->r[1] = _t0;
|
|
/* 027D8D18 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8D18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027D8D1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027D8D20 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027D8D24 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8D24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D8D28 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 027D8D28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D8D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D8D30 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D8D34 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8D34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D8D34 */ if (_t7) goto L_027D8D38; else goto L_027D8D90;
|
|
L_027D8D38: ; // 0x27d8d38
|
|
/* 027D8D38 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x000000ECu);
|
|
/* 027D8D3C */ cpu->r[5] = 0x00000004u;
|
|
/* 027D8D40 */ cpu->r[4] = 0x00000000u;
|
|
/* 027D8D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D8D48 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027D8D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8D50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8D50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8D50 */ if (_t9) goto L_027D8D90; else goto L_027D8D54;
|
|
L_027D8D54: ; // 0x27d8d54
|
|
/* 027D8D54 */ cpu->r[0] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027D8D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D8D58 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 027D8D58 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 027D8D5C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027D8D5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D8D5C */ if (_t12) goto L_027D8D60; else goto L_027D8D7C;
|
|
L_027D8D60: ; // 0x27d8d60
|
|
/* 027D8D60 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8D64 */ cpu->r[10] = 0x00000000u;
|
|
/* 027D8D68 */ cpu->r[11] = cpu->r[3] + 0x000000ECu;
|
|
L_027D8D6C: ; // 0x27d8d6c
|
|
/* 027D8D6C */ _t13 = cpu->r[3] + cpu->r[10];
|
|
/* 027D8D6C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027D8D70 */ cpu->r[10] = cpu->r[10] + 0x000000ECu;
|
|
/* 027D8D74 */ cpu->r[11] = cpu->r[11] + 0x000000ECu;
|
|
/* 027D8D78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D8D78 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D8D78 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 027D8D78 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027D8D78 */ if (_t16) goto L_027D8D6C; else goto L_027D8D7C;
|
|
L_027D8D7C: ; // 0x27d8d7c
|
|
/* 027D8D7C */ cpu->r[12] = cpu->r[3] + cpu->r[30];
|
|
/* 027D8D80 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D8D84 */ _t17 = cpu->r[12] + 0xFFFFFF14u;
|
|
/* 027D8D84 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D8D88 */ _t18 = cpu->r[31] + 0x00000030u;
|
|
/* 027D8D88 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 027D8D8C */ _t19 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D8D8C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_027D8D90: ; // 0x27d8d90
|
|
/* 027D8D90 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D8D90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D8D94 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D8D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D8D98 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027D8D98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8D9C */ cpu->lr = cpu->r[0];
|
|
/* 027D8DA0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027D8DA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D8DA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D8DA8 */ return;
|
|
}
|
|
|
|
// fn_027D8DAC @ 0x27d8dac
|
|
void Gambit_fn_027D8DAC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D8DAC: ; // 0x27d8dac
|
|
/* 027D8DAC */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 027D8DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D8DB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 027D8DB4 */ cpu->r[3] = cpu->r[4] | cpu->r[12];
|
|
/* 027D8DB8 */ return;
|
|
}
|
|
|
|
// fn_027D8DBC @ 0x27d8dbc
|
|
void Gambit_fn_027D8DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_027D8DBC: ; // 0x27d8dbc
|
|
/* 027D8DBC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027D8DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8DBC */ cpu->r[1] = _t0;
|
|
/* 027D8DC0 */ /* nop */
|
|
/* 027D8DC4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8DC8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D8DCC */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 027D8DCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D8DD0 */ cpu->r[27] = cpu->r[3] + 0xFFFFFF38u;
|
|
/* 027D8DD4 */ cpu->r[25] = cpu->r[11] + 0xFFFFFF1Cu;
|
|
/* 027D8DD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[27]);
|
|
/* 027D8DDC */ cpu->r[28] = cpu->r[4];
|
|
/* 027D8DE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8DE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D8DE0 */ if (_t4) goto L_027D8EA0; else goto L_027D8DE4;
|
|
L_027D8DE4: ; // 0x27d8de4
|
|
/* 027D8DE4 */ cpu->r[31] = 0x10110000u;
|
|
/* 027D8DE8 */ cpu->r[26] = 0x00080000u;
|
|
/* 027D8DEC */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027D8DEC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027D8DF0 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_027D8DF4: ; // 0x27d8df4
|
|
/* 027D8DF4 */ _t6 = cpu->r[25] + 0x00000014u;
|
|
/* 027D8DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D8DF8 */ cpu->r[29] = cpu->r[25] + 0x00000010u;
|
|
/* 027D8DFC */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 027D8DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D8E00 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8E04 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8E08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8E0C */ _t8 = cpu->r[25] + 0x00000014u;
|
|
/* 027D8E0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D8E10 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 027D8E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D8E14 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8E18 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D8E1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8E20 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 027D8E20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D8E24 */ _t11 = cpu->r[5] + 0x00000014u;
|
|
/* 027D8E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D8E28 */ cpu->ctr = cpu->r[0];
|
|
/* 027D8E2C */ _t12 = cpu->r[25] + 0x00000010u;
|
|
/* 027D8E2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D8E30 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D8E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D8E38 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 027D8E38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8E3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 027D8E40 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8E40 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D8E40 */ if (_t15) goto L_027D8E78; else goto L_027D8E44;
|
|
L_027D8E44: ; // 0x27d8e44
|
|
/* 027D8E44 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 027D8E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8E48 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 027D8E48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8E4C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027D8E50 */ cpu->ctr = cpu->r[26];
|
|
/* 027D8E54 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_027D8E58: ; // 0x27d8e58
|
|
/* 027D8E58 */ _t18 = cpu->r[12] + 0x00000001u;
|
|
/* 027D8E58 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 027D8E58 */ cpu->r[12] = _t18;
|
|
/* 027D8E5C */ _t19 = cpu->r[10] + 0x00000001u;
|
|
/* 027D8E5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 027D8E5C */ cpu->r[10] = _t19;
|
|
/* 027D8E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 027D8E64 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8E64 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D8E64 */ if (_t21) goto L_027D8E68; else goto L_027D8E90;
|
|
L_027D8E68: ; // 0x27d8e68
|
|
/* 027D8E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027D8E6C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8E6C */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D8E6C */ if (_t23) goto L_027D8E78; else goto L_027D8E70;
|
|
L_027D8E70: ; // 0x27d8e70
|
|
/* 027D8E70 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027D8E70 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027D8E70 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 027D8E70 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D8E70 */ if (_t26) goto L_027D8E58; else goto L_027D8E74;
|
|
L_027D8E74: ; // 0x27d8e74
|
|
/* 027D8E74 */ goto L_027D8E90;
|
|
L_027D8E78: ; // 0x27d8e78
|
|
/* 027D8E78 */ /* nop */
|
|
/* 027D8E7C */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D8E80 */ cpu->lr = cpu->r[0];
|
|
/* 027D8E84 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027D8E88 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D8E8C */ return;
|
|
L_027D8E90: ; // 0x27d8e90
|
|
/* 027D8E90 */ _t28 = cpu->r[25] + 0x000000E8u;
|
|
/* 027D8E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D8E94 */ cpu->r[25] = cpu->r[10] + 0xFFFFFF1Cu;
|
|
/* 027D8E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[27]);
|
|
/* 027D8E9C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8E9C */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D8E9C */ if (_t30) goto L_027D8EA0; else goto L_027D8DF4;
|
|
L_027D8EA0: ; // 0x27d8ea0
|
|
/* 027D8EA0 */ /* nop */
|
|
/* 027D8EA4 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D8EA8 */ cpu->lr = cpu->r[0];
|
|
/* 027D8EAC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027D8EB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D8EB4 */ return;
|
|
}
|
|
|
|
// fn_027D8EB8 @ 0x27d8eb8
|
|
void Gambit_fn_027D8EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
|
|
|
|
L_027D8EB8: ; // 0x27d8eb8
|
|
/* 027D8EB8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D8EBC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027D8EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8EBC */ cpu->r[1] = _t0;
|
|
/* 027D8EC0 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D8EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D8EC4 */ /* nop */
|
|
/* 027D8EC8 */ cpu->r[28] = cpu->r[5];
|
|
/* 027D8ECC */ cpu->r[29] = cpu->r[6];
|
|
/* 027D8ED0 */ cpu->r[23] = cpu->r[7];
|
|
/* 027D8ED4 */ cpu->r[25] = cpu->r[8];
|
|
/* 027D8ED8 */ cpu->r[27] = cpu->r[9];
|
|
/* 027D8EDC */ cpu->r[26] = cpu->r[10];
|
|
/* 027D8EE0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8EE4 */ cpu->r[24] = cpu->r[3];
|
|
/* 027D8EE8 */ Gambit_fn_027D8DBC(cpu);
|
|
/* 027D8EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8EF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8EF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D8EF0 */ if (_t3) goto L_027D8F0C; else goto L_027D8EF4;
|
|
L_027D8EF4: ; // 0x27d8ef4
|
|
/* 027D8EF4 */ /* nop */
|
|
/* 027D8EF8 */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D8EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8EFC */ cpu->lr = cpu->r[0];
|
|
/* 027D8F00 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D8F04 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027D8F08 */ return;
|
|
L_027D8F0C: ; // 0x27d8f0c
|
|
/* 027D8F0C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8F10 */ cpu->r[12] = cpu->r[24] + 0x00000034u;
|
|
/* 027D8F14 */ goto L_027D8F20;
|
|
L_027D8F18: ; // 0x27d8f18
|
|
/* 027D8F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F1C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8F1C */ if (_t6) goto L_027D8F20; else goto L_027D8F2C;
|
|
L_027D8F20: ; // 0x27d8f20
|
|
/* 027D8F20 */ cpu->r[8] = cpu->r[12] + cpu->r[30];
|
|
/* 027D8F24 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D8F28 */ goto L_027D8F30;
|
|
L_027D8F2C: ; // 0x27d8f2c
|
|
/* 027D8F2C */ cpu->r[8] = cpu->r[12];
|
|
L_027D8F30: ; // 0x27d8f30
|
|
/* 027D8F30 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 027D8F30 */ cpu->r[7] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027D8F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D8F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8F38 */ if (_t9) goto L_027D8F3C; else goto L_027D8F88;
|
|
L_027D8F3C: ; // 0x27d8f3c
|
|
/* 027D8F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F40 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8F40 */ if (_t11) goto L_027D8F44; else goto L_027D8F48;
|
|
L_027D8F44: ; // 0x27d8f44
|
|
/* 027D8F44 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_027D8F48: ; // 0x27d8f48
|
|
/* 027D8F48 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027D8F48 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[9]);
|
|
/* 027D8F4C */ _t13 = cpu->r[23] + 0x00000000u;
|
|
/* 027D8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8F50 */ cpu->r[3] = cpu->r[24];
|
|
/* 027D8F54 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D8F58 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8F5C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8F5C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027D8F60 */ Gambit_fn_027D8DAC(cpu);
|
|
/* 027D8F64 */ _t15 = cpu->r[24] + 0x00000030u;
|
|
/* 027D8F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D8F68 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D8F6C */ _t16 = cpu->r[24] + 0x00000024u;
|
|
/* 027D8F6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8F70 */ cpu->r[9] = cpu->r[3];
|
|
/* 027D8F74 */ cpu->r[12] = cpu->r[12] + 0xFFFFE7F8u;
|
|
/* 027D8F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D8F7C */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8F7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8F80 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F80 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D8F80 */ if (_t19) goto L_027D8F84; else goto L_027D8FD0;
|
|
L_027D8F84: ; // 0x27d8f84
|
|
/* 027D8F84 */ goto L_027D8FFC;
|
|
L_027D8F88: ; // 0x27d8f88
|
|
/* 027D8F88 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027D8F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F90 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F90 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D8F90 */ if (_t21) goto L_027D8F18; else goto L_027D8F94;
|
|
L_027D8F94: ; // 0x27d8f94
|
|
/* 027D8F94 */ _t22 = cpu->r[23] + 0x00000000u;
|
|
/* 027D8F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8F98 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 027D8F9C */ cpu->r[3] = cpu->r[24];
|
|
/* 027D8FA0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8FA4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D8FA8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8FA8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027D8FAC */ Gambit_fn_027D8DAC(cpu);
|
|
/* 027D8FB0 */ _t24 = cpu->r[24] + 0x00000024u;
|
|
/* 027D8FB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8FB4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D8FB8 */ _t25 = cpu->r[24] + 0x00000030u;
|
|
/* 027D8FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8FBC */ cpu->r[12] = cpu->r[12] + 0xFFFFE7F8u;
|
|
/* 027D8FC0 */ cpu->r[9] = cpu->r[3];
|
|
/* 027D8FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D8FC8 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8FC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D8FCC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8FCC */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8FCC */ if (_t28) goto L_027D8FFC; else goto L_027D8FD0;
|
|
L_027D8FD0: ; // 0x27d8fd0
|
|
/* 027D8FD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D8FD4 */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D8FD8 */ _t29 = cpu->r[25] + 0x00000000u;
|
|
/* 027D8FD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D8FDC */ cpu->r[5] = 0x101D0000u;
|
|
/* 027D8FE0 */ cpu->r[5] = cpu->r[5] + 0xFFFF9650u;
|
|
/* 027D8FE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D8FE8 */ _t30 = cpu->r[6] + cpu->r[5];
|
|
/* 027D8FE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D8FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[3]);
|
|
/* 027D8FF0 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8FF0 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 027D8FF4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8FF4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D8FF4 */ if (_t33) goto L_027D90DC; else goto L_027D8FF8;
|
|
L_027D8FF8: ; // 0x27d8ff8
|
|
/* 027D8FF8 */ goto L_027D90B0;
|
|
L_027D8FFC: ; // 0x27d8ffc
|
|
/* 027D8FFC */ _t34 = cpu->r[24] + 0x00000028u;
|
|
/* 027D8FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D9000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9004 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D9008 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9008 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D9008 */ if (_t36) goto L_027D9014; else goto L_027D900C;
|
|
L_027D900C: ; // 0x27d900c
|
|
/* 027D900C */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 027D900C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027D9010 */ _t38 = cpu->r[24] + 0x00000028u;
|
|
/* 027D9010 */ rbrew_write32(cpu->mem, _t38, cpu->r[4]);
|
|
L_027D9014: ; // 0x27d9014
|
|
/* 027D9014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9018 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9018 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D9018 */ if (_t40) goto L_027D9070; else goto L_027D901C;
|
|
L_027D901C: ; // 0x27d901c
|
|
/* 027D901C */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 027D901C */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 027D9020 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9024 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9024 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 027D9028 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027D902C */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 027D902C */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 027D9030 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D9034 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9034 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 027D9038 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9038 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 027D903C */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 027D903C */ rbrew_write32(cpu->mem, _t46, cpu->r[26]);
|
|
/* 027D9040 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9040 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 027D9044 */ Gambit_fn_027D86EC(cpu);
|
|
/* 027D9048 */ cpu->r[7] = 0x00000000u;
|
|
/* 027D904C */ cpu->r[4] = cpu->r[31] + 0x000000E4u;
|
|
/* 027D9050 */ _t48 = cpu->r[31] + 0x000000E4u;
|
|
/* 027D9050 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027D9054 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 027D9058 */ _t49 = cpu->r[31] + 0x000000E8u;
|
|
/* 027D9058 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 027D905C */ Gambit_fn_02801EBC(cpu);
|
|
/* 027D9060 */ _t50 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D9064 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9068 */ _t51 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9068 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 027D906C */ goto L_027D908C;
|
|
L_027D9070: ; // 0x27d9070
|
|
/* 027D9070 */ cpu->r[4] = 0x000000E4u;
|
|
/* 027D9074 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 027D9078 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D907C */ Gambit_fn_02801EBC(cpu);
|
|
/* 027D9080 */ _t52 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9080 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D9084 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9088 */ _t53 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9088 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
L_027D908C: ; // 0x27d908c
|
|
/* 027D908C */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D9090 */ _t54 = cpu->r[25] + 0x00000000u;
|
|
/* 027D9090 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D9094 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027D9098 */ cpu->r[5] = cpu->r[5] + 0xFFFF9650u;
|
|
/* 027D909C */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D90A0 */ _t55 = cpu->r[6] + cpu->r[5];
|
|
/* 027D90A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D90A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[3]);
|
|
/* 027D90A8 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D90A8 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 027D90AC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D90AC */ _t58 = _t57 & 0x00000001u;
|
|
/* 027D90AC */ if (_t58) goto L_027D90DC; else goto L_027D90B0;
|
|
L_027D90B0: ; // 0x27d90b0
|
|
/* 027D90B0 */ _t59 = cpu->r[25] + 0x00000000u;
|
|
/* 027D90B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027D90B4 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D90B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 027D90B8 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D90B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027D90BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D90C0 */ _t62 = cpu->r[12] + cpu->r[5];
|
|
/* 027D90C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D90C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D90C8 */ _t63 = cpu->r[1] + 0x00000030u;
|
|
/* 027D90C8 */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 027D90CC */ /* nop */
|
|
/* 027D90D0 */ _t64 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027D90D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027D90D4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 027D90D8 */ rbrew_dispatch(cpu, 0x02d0afa8u);
|
|
L_027D90DC: ; // 0x27d90dc
|
|
/* 027D90DC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D90E0 */ /* nop */
|
|
/* 027D90E4 */ _t65 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D90E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027D90E8 */ cpu->lr = cpu->r[0];
|
|
/* 027D90EC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D90F0 */ return;
|
|
}
|
|
|
|
// fn_027D8EBC @ 0x27d8ebc
|
|
void Gambit_fn_027D8EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65;
|
|
|
|
L_027D8EBC: ; // 0x27d8ebc
|
|
/* 027D8EBC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027D8EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D8EBC */ cpu->r[1] = _t0;
|
|
/* 027D8EC0 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D8EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D8EC4 */ /* nop */
|
|
/* 027D8EC8 */ cpu->r[28] = cpu->r[5];
|
|
/* 027D8ECC */ cpu->r[29] = cpu->r[6];
|
|
/* 027D8ED0 */ cpu->r[23] = cpu->r[7];
|
|
/* 027D8ED4 */ cpu->r[25] = cpu->r[8];
|
|
/* 027D8ED8 */ cpu->r[27] = cpu->r[9];
|
|
/* 027D8EDC */ cpu->r[26] = cpu->r[10];
|
|
/* 027D8EE0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D8EE4 */ cpu->r[24] = cpu->r[3];
|
|
/* 027D8EE8 */ Gambit_fn_027D8DBC(cpu);
|
|
/* 027D8EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D8EF0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8EF0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D8EF0 */ if (_t3) goto L_027D8F0C; else goto L_027D8EF4;
|
|
L_027D8EF4: ; // 0x27d8ef4
|
|
/* 027D8EF4 */ /* nop */
|
|
/* 027D8EF8 */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D8EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D8EFC */ cpu->lr = cpu->r[0];
|
|
/* 027D8F00 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D8F04 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027D8F08 */ return;
|
|
L_027D8F0C: ; // 0x27d8f0c
|
|
/* 027D8F0C */ cpu->r[30] = 0x00000000u;
|
|
/* 027D8F10 */ cpu->r[12] = cpu->r[24] + 0x00000034u;
|
|
/* 027D8F14 */ goto L_027D8F20;
|
|
L_027D8F18: ; // 0x27d8f18
|
|
/* 027D8F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F1C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D8F1C */ if (_t6) goto L_027D8F20; else goto L_027D8F2C;
|
|
L_027D8F20: ; // 0x27d8f20
|
|
/* 027D8F20 */ cpu->r[8] = cpu->r[12] + cpu->r[30];
|
|
/* 027D8F24 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D8F28 */ goto L_027D8F30;
|
|
L_027D8F2C: ; // 0x27d8f2c
|
|
/* 027D8F2C */ cpu->r[8] = cpu->r[12];
|
|
L_027D8F30: ; // 0x27d8f30
|
|
/* 027D8F30 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 027D8F30 */ cpu->r[7] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027D8F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D8F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D8F38 */ if (_t9) goto L_027D8F3C; else goto L_027D8F88;
|
|
L_027D8F3C: ; // 0x27d8f3c
|
|
/* 027D8F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F40 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F40 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D8F40 */ if (_t11) goto L_027D8F44; else goto L_027D8F48;
|
|
L_027D8F44: ; // 0x27d8f44
|
|
/* 027D8F44 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_027D8F48: ; // 0x27d8f48
|
|
/* 027D8F48 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027D8F48 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[9]);
|
|
/* 027D8F4C */ _t13 = cpu->r[23] + 0x00000000u;
|
|
/* 027D8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D8F50 */ cpu->r[3] = cpu->r[24];
|
|
/* 027D8F54 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D8F58 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8F5C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8F5C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027D8F60 */ Gambit_fn_027D8DAC(cpu);
|
|
/* 027D8F64 */ _t15 = cpu->r[24] + 0x00000030u;
|
|
/* 027D8F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D8F68 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D8F6C */ _t16 = cpu->r[24] + 0x00000024u;
|
|
/* 027D8F6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D8F70 */ cpu->r[9] = cpu->r[3];
|
|
/* 027D8F74 */ cpu->r[12] = cpu->r[12] + 0xFFFFE7F8u;
|
|
/* 027D8F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D8F7C */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8F7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D8F80 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F80 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D8F80 */ if (_t19) goto L_027D8F84; else goto L_027D8FD0;
|
|
L_027D8F84: ; // 0x27d8f84
|
|
/* 027D8F84 */ goto L_027D8FFC;
|
|
L_027D8F88: ; // 0x27d8f88
|
|
/* 027D8F88 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027D8F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000FFu);
|
|
/* 027D8F90 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8F90 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D8F90 */ if (_t21) goto L_027D8F18; else goto L_027D8F94;
|
|
L_027D8F94: ; // 0x27d8f94
|
|
/* 027D8F94 */ _t22 = cpu->r[23] + 0x00000000u;
|
|
/* 027D8F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D8F98 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 027D8F9C */ cpu->r[3] = cpu->r[24];
|
|
/* 027D8FA0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027D8FA4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D8FA8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027D8FA8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027D8FAC */ Gambit_fn_027D8DAC(cpu);
|
|
/* 027D8FB0 */ _t24 = cpu->r[24] + 0x00000024u;
|
|
/* 027D8FB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D8FB4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D8FB8 */ _t25 = cpu->r[24] + 0x00000030u;
|
|
/* 027D8FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D8FBC */ cpu->r[12] = cpu->r[12] + 0xFFFFE7F8u;
|
|
/* 027D8FC0 */ cpu->r[9] = cpu->r[3];
|
|
/* 027D8FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027D8FC8 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 027D8FC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D8FCC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D8FCC */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D8FCC */ if (_t28) goto L_027D8FFC; else goto L_027D8FD0;
|
|
L_027D8FD0: ; // 0x27d8fd0
|
|
/* 027D8FD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D8FD4 */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D8FD8 */ _t29 = cpu->r[25] + 0x00000000u;
|
|
/* 027D8FD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D8FDC */ cpu->r[5] = 0x101D0000u;
|
|
/* 027D8FE0 */ cpu->r[5] = cpu->r[5] + 0xFFFF9650u;
|
|
/* 027D8FE4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D8FE8 */ _t30 = cpu->r[6] + cpu->r[5];
|
|
/* 027D8FE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D8FEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[3]);
|
|
/* 027D8FF0 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D8FF0 */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 027D8FF4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D8FF4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D8FF4 */ if (_t33) goto L_027D90DC; else goto L_027D8FF8;
|
|
L_027D8FF8: ; // 0x27d8ff8
|
|
/* 027D8FF8 */ goto L_027D90B0;
|
|
L_027D8FFC: ; // 0x27d8ffc
|
|
/* 027D8FFC */ _t34 = cpu->r[24] + 0x00000028u;
|
|
/* 027D8FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027D9000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9004 */ cpu->r[6] = 0x00000000u;
|
|
/* 027D9008 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9008 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027D9008 */ if (_t36) goto L_027D9014; else goto L_027D900C;
|
|
L_027D900C: ; // 0x27d900c
|
|
/* 027D900C */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 027D900C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027D9010 */ _t38 = cpu->r[24] + 0x00000028u;
|
|
/* 027D9010 */ rbrew_write32(cpu->mem, _t38, cpu->r[4]);
|
|
L_027D9014: ; // 0x27d9014
|
|
/* 027D9014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9018 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9018 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D9018 */ if (_t40) goto L_027D9070; else goto L_027D901C;
|
|
L_027D901C: ; // 0x27d901c
|
|
/* 027D901C */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 027D901C */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 027D9020 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9024 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9024 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 027D9028 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027D902C */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 027D902C */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 027D9030 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D9034 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9034 */ rbrew_write32(cpu->mem, _t44, cpu->r[28]);
|
|
/* 027D9038 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9038 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 027D903C */ _t46 = cpu->r[1] + 0x00000028u;
|
|
/* 027D903C */ rbrew_write32(cpu->mem, _t46, cpu->r[26]);
|
|
/* 027D9040 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9040 */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 027D9044 */ Gambit_fn_027D86EC(cpu);
|
|
/* 027D9048 */ cpu->r[7] = 0x00000000u;
|
|
/* 027D904C */ cpu->r[4] = cpu->r[31] + 0x000000E4u;
|
|
/* 027D9050 */ _t48 = cpu->r[31] + 0x000000E4u;
|
|
/* 027D9050 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027D9054 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 027D9058 */ _t49 = cpu->r[31] + 0x000000E8u;
|
|
/* 027D9058 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 027D905C */ Gambit_fn_02801EBC(cpu);
|
|
/* 027D9060 */ _t50 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D9064 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9068 */ _t51 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9068 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 027D906C */ goto L_027D908C;
|
|
L_027D9070: ; // 0x27d9070
|
|
/* 027D9070 */ cpu->r[4] = 0x000000E4u;
|
|
/* 027D9074 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 027D9078 */ cpu->r[31] = 0x00000000u;
|
|
/* 027D907C */ Gambit_fn_02801EBC(cpu);
|
|
/* 027D9080 */ _t52 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9080 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027D9084 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9088 */ _t53 = cpu->r[24] + 0x00000024u;
|
|
/* 027D9088 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
L_027D908C: ; // 0x27d908c
|
|
/* 027D908C */ rbrew_dispatch(cpu, 0x02d0aa80u);
|
|
/* 027D9090 */ _t54 = cpu->r[25] + 0x00000000u;
|
|
/* 027D9090 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027D9094 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027D9098 */ cpu->r[5] = cpu->r[5] + 0xFFFF9650u;
|
|
/* 027D909C */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D90A0 */ _t55 = cpu->r[6] + cpu->r[5];
|
|
/* 027D90A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027D90A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[3]);
|
|
/* 027D90A8 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D90A8 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 027D90AC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D90AC */ _t58 = _t57 & 0x00000001u;
|
|
/* 027D90AC */ if (_t58) goto L_027D90DC; else goto L_027D90B0;
|
|
L_027D90B0: ; // 0x27d90b0
|
|
/* 027D90B0 */ _t59 = cpu->r[25] + 0x00000000u;
|
|
/* 027D90B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027D90B4 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D90B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 027D90B8 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D90B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027D90BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D90C0 */ _t62 = cpu->r[12] + cpu->r[5];
|
|
/* 027D90C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027D90C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D90C8 */ _t63 = cpu->r[1] + 0x00000030u;
|
|
/* 027D90C8 */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 027D90CC */ /* nop */
|
|
/* 027D90D0 */ _t64 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027D90D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027D90D4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 027D90D8 */ rbrew_dispatch(cpu, 0x02d0afa8u);
|
|
L_027D90DC: ; // 0x27d90dc
|
|
/* 027D90DC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D90E0 */ /* nop */
|
|
/* 027D90E4 */ _t65 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D90E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027D90E8 */ cpu->lr = cpu->r[0];
|
|
/* 027D90EC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D90F0 */ return;
|
|
}
|
|
|
|
// fn_027D90F4 @ 0x27d90f4
|
|
void Gambit_fn_027D90F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D90F4: ; // 0x27d90f4
|
|
/* 027D90F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027D90F8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027D90F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D90F8 */ cpu->r[1] = _t0;
|
|
/* 027D90FC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D90FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9100 */ cpu->r[31] = cpu->r[5];
|
|
/* 027D9104 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027D9104 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D9108 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9108 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D910C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027D910C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D9110 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D9114 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9118 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D911C */ Gambit_fn_027D81A8(cpu);
|
|
/* 027D9120 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9124 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D9128 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9128 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D912C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D9130 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 027D9130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9134 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9138 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9138 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D913C */ cpu->r[10] = cpu->r[31];
|
|
/* 027D9140 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9140 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027D9144 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9148 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D914C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027D914C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027D9150 */ Gambit_fn_027D8EB8(cpu);
|
|
/* 027D9154 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9158 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 027D9158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D915C */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D915C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D9160 */ cpu->lr = cpu->r[0];
|
|
/* 027D9164 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 027D9164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9168 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D916C */ return;
|
|
}
|
|
|
|
// fn_027D90F8 @ 0x27d90f8
|
|
void Gambit_fn_027D90F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D90F8: ; // 0x27d90f8
|
|
/* 027D90F8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027D90F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D90F8 */ cpu->r[1] = _t0;
|
|
/* 027D90FC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D90FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9100 */ cpu->r[31] = cpu->r[5];
|
|
/* 027D9104 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027D9104 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D9108 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9108 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D910C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027D910C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027D9110 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D9114 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9118 */ cpu->r[30] = cpu->r[4];
|
|
/* 027D911C */ Gambit_fn_027D81A8(cpu);
|
|
/* 027D9120 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9120 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9124 */ cpu->r[4] = cpu->r[30];
|
|
/* 027D9128 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9128 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D912C */ cpu->r[3] = cpu->r[29];
|
|
/* 027D9130 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 027D9130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9134 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9138 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9138 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D913C */ cpu->r[10] = cpu->r[31];
|
|
/* 027D9140 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9140 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027D9144 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9148 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D914C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027D914C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027D9150 */ Gambit_fn_027D8EB8(cpu);
|
|
/* 027D9154 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9154 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9158 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 027D9158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D915C */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D915C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D9160 */ cpu->lr = cpu->r[0];
|
|
/* 027D9164 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 027D9164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9168 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D916C */ return;
|
|
}
|
|
|
|
// fn_027D9170 @ 0x27d9170
|
|
void Gambit_fn_027D9170(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D9170: ; // 0x27d9170
|
|
/* 027D9170 */ _t0 = cpu->r[4] + 0x000000A7u;
|
|
/* 027D9170 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027D9174 */ return;
|
|
}
|
|
|
|
// fn_027D9178 @ 0x27d9178
|
|
void Gambit_fn_027D9178(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027D9178: ; // 0x27d9178
|
|
/* 027D9178 */ _t0 = cpu->r[4] + 0x000000A4u;
|
|
/* 027D9178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D917C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 027D9180 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027D9184 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027D9188 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D918C */ return;
|
|
}
|
|
|
|
// fn_027D9190 @ 0x27d9190
|
|
void Gambit_fn_027D9190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027D9190: ; // 0x27d9190
|
|
/* 027D9190 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9194 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D9194 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D9198 */ cpu->r[10] = cpu->r[3];
|
|
/* 027D919C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D919C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D919C */ cpu->r[1] = _t1;
|
|
/* 027D91A0 */ _t2 = cpu->r[10] + 0x00000020u;
|
|
/* 027D91A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D91A4 */ cpu->r[8] = cpu->r[10] + 0xFFFFFF38u;
|
|
/* 027D91A8 */ cpu->r[4] = cpu->r[12] + 0xFFFFFF1Cu;
|
|
/* 027D91AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D91B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D91B0 */ if (_t4) goto L_027D91FC; else goto L_027D91B4;
|
|
L_027D91B4: ; // 0x27d91b4
|
|
/* 027D91B4 */ cpu->r[3] = cpu->r[10];
|
|
/* 027D91B8 */ Gambit_fn_027D9178(cpu);
|
|
/* 027D91BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D91C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D91C0 */ if (_t6) goto L_027D91C4; else goto L_027D91EC;
|
|
L_027D91C4: ; // 0x27d91c4
|
|
/* 027D91C4 */ _t7 = cpu->r[4] + 0x00000084u;
|
|
/* 027D91C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D91C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 027D91CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D91CC */ if (_t9) goto L_027D91EC; else goto L_027D91D0;
|
|
L_027D91D0: ; // 0x27d91d0
|
|
/* 027D91D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 027D91D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91D4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D91D4 */ if (_t11) goto L_027D91EC; else goto L_027D91D8;
|
|
L_027D91D8: ; // 0x27d91d8
|
|
/* 027D91D8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D91D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D91DC */ cpu->lr = cpu->r[0];
|
|
/* 027D91E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D91E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D91E8 */ return;
|
|
L_027D91EC: ; // 0x27d91ec
|
|
/* 027D91EC */ _t13 = cpu->r[4] + 0x000000E8u;
|
|
/* 027D91EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D91F0 */ cpu->r[4] = cpu->r[11] + 0xFFFFFF1Cu;
|
|
/* 027D91F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D91F8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D91F8 */ if (_t15) goto L_027D91FC; else goto L_027D91B4;
|
|
L_027D91FC: ; // 0x27d91fc
|
|
/* 027D91FC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D91FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9200 */ cpu->lr = cpu->r[0];
|
|
/* 027D9204 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9208 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D920C */ return;
|
|
}
|
|
|
|
// fn_027D919C @ 0x27d919c
|
|
void Gambit_fn_027D919C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027D919C: ; // 0x27d919c
|
|
/* 027D919C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D919C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D919C */ cpu->r[1] = _t0;
|
|
/* 027D91A0 */ _t1 = cpu->r[10] + 0x00000020u;
|
|
/* 027D91A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D91A4 */ cpu->r[8] = cpu->r[10] + 0xFFFFFF38u;
|
|
/* 027D91A8 */ cpu->r[4] = cpu->r[12] + 0xFFFFFF1Cu;
|
|
/* 027D91AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D91B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D91B0 */ if (_t3) goto L_027D91FC; else goto L_027D91B4;
|
|
L_027D91B4: ; // 0x27d91b4
|
|
/* 027D91B4 */ cpu->r[3] = cpu->r[10];
|
|
/* 027D91B8 */ Gambit_fn_027D9178(cpu);
|
|
/* 027D91BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D91C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D91C0 */ if (_t5) goto L_027D91C4; else goto L_027D91EC;
|
|
L_027D91C4: ; // 0x27d91c4
|
|
/* 027D91C4 */ _t6 = cpu->r[4] + 0x00000084u;
|
|
/* 027D91C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D91C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 027D91CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D91CC */ if (_t8) goto L_027D91EC; else goto L_027D91D0;
|
|
L_027D91D0: ; // 0x27d91d0
|
|
/* 027D91D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 027D91D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D91D4 */ if (_t10) goto L_027D91EC; else goto L_027D91D8;
|
|
L_027D91D8: ; // 0x27d91d8
|
|
/* 027D91D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D91D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D91DC */ cpu->lr = cpu->r[0];
|
|
/* 027D91E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D91E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D91E8 */ return;
|
|
L_027D91EC: ; // 0x27d91ec
|
|
/* 027D91EC */ _t12 = cpu->r[4] + 0x000000E8u;
|
|
/* 027D91EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D91F0 */ cpu->r[4] = cpu->r[11] + 0xFFFFFF1Cu;
|
|
/* 027D91F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D91F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D91F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D91F8 */ if (_t14) goto L_027D91FC; else goto L_027D91B4;
|
|
L_027D91FC: ; // 0x27d91fc
|
|
/* 027D91FC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D91FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9200 */ cpu->lr = cpu->r[0];
|
|
/* 027D9204 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9208 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D920C */ return;
|
|
}
|
|
|
|
// fn_027D9210 @ 0x27d9210
|
|
void Gambit_fn_027D9210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027D9210: ; // 0x27d9210
|
|
/* 027D9210 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9214 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D9214 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D9218 */ cpu->r[9] = cpu->r[3];
|
|
/* 027D921C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D921C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D921C */ cpu->r[1] = _t1;
|
|
/* 027D9220 */ _t2 = cpu->r[9] + 0x00000020u;
|
|
/* 027D9220 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9224 */ cpu->r[8] = cpu->r[9] + 0xFFFFFF38u;
|
|
/* 027D9228 */ cpu->r[12] = cpu->r[4];
|
|
/* 027D922C */ cpu->r[4] = cpu->r[11] + 0xFFFFFF1Cu;
|
|
/* 027D9230 */ cpu->r[0] = cpu->r[5];
|
|
/* 027D9234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D9238 */ cpu->r[5] = cpu->r[6];
|
|
/* 027D923C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D923C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D923C */ if (_t4) goto L_027D9280; else goto L_027D9240;
|
|
L_027D9240: ; // 0x27d9240
|
|
/* 027D9240 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9240 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
L_027D9244: ; // 0x27d9244
|
|
/* 027D9244 */ cpu->r[3] = cpu->r[9];
|
|
/* 027D9248 */ Gambit_fn_027D9170(cpu);
|
|
/* 027D924C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[7]);
|
|
/* 027D9250 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9250 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D9250 */ if (_t7) goto L_027D9254; else goto L_027D9270;
|
|
L_027D9254: ; // 0x27d9254
|
|
/* 027D9254 */ cpu->r[3] = cpu->r[4];
|
|
/* 027D9258 */ cpu->r[4] = cpu->r[0];
|
|
/* 027D925C */ Gambit_fn_027D887C(cpu);
|
|
/* 027D9260 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9264 */ cpu->lr = cpu->r[0];
|
|
/* 027D9268 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D926C */ return;
|
|
L_027D9270: ; // 0x27d9270
|
|
/* 027D9270 */ _t9 = cpu->r[4] + 0x000000E8u;
|
|
/* 027D9270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D9274 */ cpu->r[4] = cpu->r[10] + 0xFFFFFF1Cu;
|
|
/* 027D9278 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D927C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D927C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D927C */ if (_t11) goto L_027D9280; else goto L_027D9244;
|
|
L_027D9280: ; // 0x27d9280
|
|
/* 027D9280 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9284 */ cpu->lr = cpu->r[0];
|
|
/* 027D9288 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D928C */ return;
|
|
}
|
|
|
|
// fn_027D921C @ 0x27d921c
|
|
void Gambit_fn_027D921C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D921C: ; // 0x27d921c
|
|
/* 027D921C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D921C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D921C */ cpu->r[1] = _t0;
|
|
/* 027D9220 */ _t1 = cpu->r[9] + 0x00000020u;
|
|
/* 027D9220 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D9224 */ cpu->r[8] = cpu->r[9] + 0xFFFFFF38u;
|
|
/* 027D9228 */ cpu->r[12] = cpu->r[4];
|
|
/* 027D922C */ cpu->r[4] = cpu->r[11] + 0xFFFFFF1Cu;
|
|
/* 027D9230 */ cpu->r[0] = cpu->r[5];
|
|
/* 027D9234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D9238 */ cpu->r[5] = cpu->r[6];
|
|
/* 027D923C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D923C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D923C */ if (_t3) goto L_027D9280; else goto L_027D9240;
|
|
L_027D9240: ; // 0x27d9240
|
|
/* 027D9240 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9240 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
L_027D9244: ; // 0x27d9244
|
|
/* 027D9244 */ cpu->r[3] = cpu->r[9];
|
|
/* 027D9248 */ Gambit_fn_027D9170(cpu);
|
|
/* 027D924C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[7]);
|
|
/* 027D9250 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9250 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9250 */ if (_t6) goto L_027D9254; else goto L_027D9270;
|
|
L_027D9254: ; // 0x27d9254
|
|
/* 027D9254 */ cpu->r[3] = cpu->r[4];
|
|
/* 027D9258 */ cpu->r[4] = cpu->r[0];
|
|
/* 027D925C */ Gambit_fn_027D887C(cpu);
|
|
/* 027D9260 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9264 */ cpu->lr = cpu->r[0];
|
|
/* 027D9268 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D926C */ return;
|
|
L_027D9270: ; // 0x27d9270
|
|
/* 027D9270 */ _t8 = cpu->r[4] + 0x000000E8u;
|
|
/* 027D9270 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9274 */ cpu->r[4] = cpu->r[10] + 0xFFFFFF1Cu;
|
|
/* 027D9278 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027D927C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D927C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D927C */ if (_t10) goto L_027D9280; else goto L_027D9244;
|
|
L_027D9280: ; // 0x27d9280
|
|
/* 027D9280 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9284 */ cpu->lr = cpu->r[0];
|
|
/* 027D9288 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D928C */ return;
|
|
}
|
|
|
|
// fn_027D9290 @ 0x27d9290
|
|
void Gambit_fn_027D9290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D9290: ; // 0x27d9290
|
|
/* 027D9290 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9294 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D9294 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D9298 */ cpu->r[8] = cpu->r[3];
|
|
/* 027D929C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D929C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D929C */ cpu->r[1] = _t1;
|
|
/* 027D92A0 */ _t2 = cpu->r[8] + 0x00000020u;
|
|
/* 027D92A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D92A4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFF38u;
|
|
/* 027D92A8 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF1Cu;
|
|
/* 027D92AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027D92B0 */ cpu->r[9] = cpu->r[4];
|
|
/* 027D92B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D92B4 */ if (_t4) goto L_027D92F8; else goto L_027D92B8;
|
|
L_027D92B8: ; // 0x27d92b8
|
|
/* 027D92B8 */ cpu->r[3] = cpu->r[8];
|
|
/* 027D92BC */ cpu->r[4] = cpu->r[10];
|
|
/* 027D92C0 */ Gambit_fn_027D9170(cpu);
|
|
/* 027D92C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027D92C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D92C8 */ if (_t6) goto L_027D92CC; else goto L_027D92E8;
|
|
L_027D92CC: ; // 0x27d92cc
|
|
/* 027D92CC */ cpu->r[3] = cpu->r[10];
|
|
/* 027D92D0 */ cpu->r[4] = cpu->r[5];
|
|
/* 027D92D4 */ Gambit_fn_027D87D8(cpu);
|
|
/* 027D92D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D92D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D92DC */ cpu->lr = cpu->r[0];
|
|
/* 027D92E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D92E4 */ return;
|
|
L_027D92E8: ; // 0x27d92e8
|
|
/* 027D92E8 */ _t8 = cpu->r[10] + 0x000000E8u;
|
|
/* 027D92E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D92EC */ cpu->r[10] = cpu->r[7] + 0xFFFFFF1Cu;
|
|
/* 027D92F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027D92F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D92F4 */ if (_t10) goto L_027D92F8; else goto L_027D92B8;
|
|
L_027D92F8: ; // 0x27d92f8
|
|
/* 027D92F8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D92F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D92FC */ cpu->lr = cpu->r[0];
|
|
/* 027D9300 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9304 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D9308 */ return;
|
|
}
|
|
|
|
// fn_027D929C @ 0x27d929c
|
|
void Gambit_fn_027D929C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D929C: ; // 0x27d929c
|
|
/* 027D929C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D929C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D929C */ cpu->r[1] = _t0;
|
|
/* 027D92A0 */ _t1 = cpu->r[8] + 0x00000020u;
|
|
/* 027D92A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D92A4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFF38u;
|
|
/* 027D92A8 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF1Cu;
|
|
/* 027D92AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027D92B0 */ cpu->r[9] = cpu->r[4];
|
|
/* 027D92B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D92B4 */ if (_t3) goto L_027D92F8; else goto L_027D92B8;
|
|
L_027D92B8: ; // 0x27d92b8
|
|
/* 027D92B8 */ cpu->r[3] = cpu->r[8];
|
|
/* 027D92BC */ cpu->r[4] = cpu->r[10];
|
|
/* 027D92C0 */ Gambit_fn_027D9170(cpu);
|
|
/* 027D92C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027D92C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D92C8 */ if (_t5) goto L_027D92CC; else goto L_027D92E8;
|
|
L_027D92CC: ; // 0x27d92cc
|
|
/* 027D92CC */ cpu->r[3] = cpu->r[10];
|
|
/* 027D92D0 */ cpu->r[4] = cpu->r[5];
|
|
/* 027D92D4 */ Gambit_fn_027D87D8(cpu);
|
|
/* 027D92D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D92D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D92DC */ cpu->lr = cpu->r[0];
|
|
/* 027D92E0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D92E4 */ return;
|
|
L_027D92E8: ; // 0x27d92e8
|
|
/* 027D92E8 */ _t7 = cpu->r[10] + 0x000000E8u;
|
|
/* 027D92E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D92EC */ cpu->r[10] = cpu->r[7] + 0xFFFFFF1Cu;
|
|
/* 027D92F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027D92F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D92F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D92F4 */ if (_t9) goto L_027D92F8; else goto L_027D92B8;
|
|
L_027D92F8: ; // 0x27d92f8
|
|
/* 027D92F8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D92F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D92FC */ cpu->lr = cpu->r[0];
|
|
/* 027D9300 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9304 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D9308 */ return;
|
|
}
|
|
|
|
// fn_027D930C @ 0x27d930c
|
|
void Gambit_fn_027D930C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027D930C: ; // 0x27d930c
|
|
/* 027D930C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027D930C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D930C */ cpu->r[1] = _t0;
|
|
/* 027D9310 */ /* nop */
|
|
/* 027D9314 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9318 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9318 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D931C */ cpu->r[27] = cpu->r[3];
|
|
/* 027D9320 */ _t2 = cpu->r[27] + 0x00000020u;
|
|
/* 027D9320 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D9328 */ cpu->r[29] = cpu->r[5] + 0xFFFFFF1Cu;
|
|
/* 027D932C */ cpu->r[31] = cpu->r[27] + 0xFFFFFF38u;
|
|
/* 027D9330 */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 027D9330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D9334 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9334 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D9334 */ if (_t5) goto L_027D93CC; else goto L_027D9338;
|
|
L_027D9338: ; // 0x27d9338
|
|
/* 027D9338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027D933C */ cpu->r[28] = 0x00000000u;
|
|
/* 027D9340 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9340 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D9340 */ if (_t7) goto L_027D9410; else goto L_027D9344;
|
|
L_027D9344: ; // 0x27d9344
|
|
/* 027D9344 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D9348 */ cpu->r[4] = cpu->r[29];
|
|
/* 027D934C */ Gambit_fn_027D9170(cpu);
|
|
/* 027D9350 */ cpu->r[11] = cpu->r[3];
|
|
/* 027D9354 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D9358 */ Gambit_fn_027D9178(cpu);
|
|
/* 027D935C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9360 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9360 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9360 */ if (_t9) goto L_027D9364; else goto L_027D93B8;
|
|
L_027D9364: ; // 0x27d9364
|
|
/* 027D9364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x000000FFu);
|
|
/* 027D9368 */ cpu->r[12] = cpu->r[27] + 0x00000034u;
|
|
/* 027D936C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D936C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D936C */ if (_t11) goto L_027D9370; else goto L_027D9374;
|
|
L_027D9370: ; // 0x27d9370
|
|
/* 027D9370 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_027D9374: ; // 0x27d9374
|
|
/* 027D9374 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D9378 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9378 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[28]);
|
|
/* 027D937C */ Gambit_fn_027D883C(cpu);
|
|
/* 027D9380 */ cpu->r[3] = cpu->r[29] + 0x000000E4u;
|
|
/* 027D9384 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027D9388 */ _t13 = cpu->r[27] + 0x00000024u;
|
|
/* 027D9388 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D938C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 027D9390 */ _t14 = cpu->r[27] + 0x00000024u;
|
|
/* 027D9390 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 027D9394 */ _t15 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D9394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9398 */ _t16 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027D9398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D939C */ cpu->ctr = cpu->r[0];
|
|
/* 027D93A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D93A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027D93A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D93AC */ _t17 = cpu->r[27] + 0x00000028u;
|
|
/* 027D93AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D93B0 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 027D93B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 027D93B4 */ _t19 = cpu->r[27] + 0x00000028u;
|
|
/* 027D93B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_027D93B8: ; // 0x27d93b8
|
|
/* 027D93B8 */ cpu->r[29] = cpu->r[30] + 0xFFFFFF1Cu;
|
|
/* 027D93BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027D93C0 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 027D93C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D93C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D93C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D93C4 */ if (_t22) goto L_027D93C8; else goto L_027D9344;
|
|
L_027D93C8: ; // 0x27d93c8
|
|
/* 027D93C8 */ goto L_027D9410;
|
|
L_027D93CC: ; // 0x27d93cc
|
|
/* 027D93CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027D93D0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D93D0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027D93D0 */ if (_t24) goto L_027D9410; else goto L_027D93D4;
|
|
L_027D93D4: ; // 0x27d93d4
|
|
/* 027D93D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 027D93D8 */ cpu->r[4] = cpu->r[29];
|
|
/* 027D93DC */ Gambit_fn_027D9178(cpu);
|
|
/* 027D93E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D93E4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D93E4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027D93E4 */ if (_t26) goto L_027D93E8; else goto L_027D9400;
|
|
L_027D93E8: ; // 0x27d93e8
|
|
/* 027D93E8 */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027D93E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D93EC */ _t28 = cpu->r[7] + 0x0000003Cu;
|
|
/* 027D93EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027D93F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D93F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027D93F8 */ cpu->r[4] = 0x00000001u;
|
|
/* 027D93FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027D9400: ; // 0x27d9400
|
|
/* 027D9400 */ cpu->r[29] = cpu->r[30] + 0xFFFFFF1Cu;
|
|
/* 027D9404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027D9408 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 027D9408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027D940C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D940C */ _t31 = _t30 & 0x00000001u;
|
|
/* 027D940C */ if (_t31) goto L_027D9410; else goto L_027D93D4;
|
|
L_027D9410: ; // 0x27d9410
|
|
/* 027D9410 */ /* nop */
|
|
/* 027D9414 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D9418 */ cpu->lr = cpu->r[0];
|
|
/* 027D941C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027D9420 */ return;
|
|
}
|
|
|
|
// fn_027D9424 @ 0x27d9424
|
|
void Gambit_fn_027D9424(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_027D9424: ; // 0x27d9424
|
|
/* 027D9424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9428 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9428 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D9428 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D9428 */ goto L_027D942C;
|
|
L_027D942C: ; // 0x27d942c
|
|
/* 027D942C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D942C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D9430 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9430 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D9430 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D9430 */ goto L_027D9434;
|
|
L_027D9434: ; // 0x27d9434
|
|
/* 027D9434 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D9438 @ 0x27d9438
|
|
void Gambit_fn_027D9438(CPUState* cpu) {
|
|
L_027D9438: ; // 0x27d9438
|
|
/* 027D9438 */ return;
|
|
}
|
|
|
|
// fn_027D943C @ 0x27d943c
|
|
void Gambit_fn_027D943C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D943C: ; // 0x27d943c
|
|
/* 027D943C */ cpu->r[0] = cpu->lr;
|
|
/* 027D9440 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9440 */ cpu->r[1] = _t0;
|
|
/* 027D9444 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9444 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9448 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D944C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D944C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9450 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9450 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9450 */ if (_t4) goto L_027D9454; else goto L_027D9464;
|
|
L_027D9454: ; // 0x27d9454
|
|
/* 027D9454 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 027D9458 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D945C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D945C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9460 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9460 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9460 */ if (_t6) goto L_027D9480; else goto L_027D9464;
|
|
L_027D9464: ; // 0x27d9464
|
|
/* 027D9464 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9468 */ Gambit_fn_027D9BA8(cpu);
|
|
/* 027D946C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D9470 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9474 */ cpu->r[12] = cpu->r[12] + 0xFFFFE858u;
|
|
/* 027D9478 */ _t7 = cpu->r[31] + 0x00000038u;
|
|
/* 027D9478 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D947C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027D947C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_027D9480: ; // 0x27d9480
|
|
/* 027D9480 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D9484 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9488 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D948C */ cpu->lr = cpu->r[0];
|
|
/* 027D9490 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9494 */ return;
|
|
}
|
|
|
|
// fn_027D9440 @ 0x27d9440
|
|
void Gambit_fn_027D9440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027D9440: ; // 0x27d9440
|
|
/* 027D9440 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9440 */ cpu->r[1] = _t0;
|
|
/* 027D9444 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9444 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9448 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D944C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D944C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9450 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9450 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9450 */ if (_t4) goto L_027D9454; else goto L_027D9464;
|
|
L_027D9454: ; // 0x27d9454
|
|
/* 027D9454 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 027D9458 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D945C */ cpu->r[31] = cpu->r[3];
|
|
/* 027D945C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9460 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9460 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9460 */ if (_t6) goto L_027D9480; else goto L_027D9464;
|
|
L_027D9464: ; // 0x27d9464
|
|
/* 027D9464 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9468 */ Gambit_fn_027D9BA8(cpu);
|
|
/* 027D946C */ cpu->r[12] = 0x10110000u;
|
|
/* 027D9470 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9474 */ cpu->r[12] = cpu->r[12] + 0xFFFFE858u;
|
|
/* 027D9478 */ _t7 = cpu->r[31] + 0x00000038u;
|
|
/* 027D9478 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D947C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027D947C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_027D9480: ; // 0x27d9480
|
|
/* 027D9480 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D9484 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9488 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D948C */ cpu->lr = cpu->r[0];
|
|
/* 027D9490 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9494 */ return;
|
|
}
|
|
|
|
// fn_027D9498 @ 0x27d9498
|
|
void Gambit_fn_027D9498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027D9498: ; // 0x27d9498
|
|
/* 027D9498 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027D9498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9498 */ cpu->r[1] = _t0;
|
|
/* 027D949C */ cpu->r[0] = cpu->lr;
|
|
/* 027D94A0 */ /* nop */
|
|
/* 027D94A4 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D94A8 */ cpu->r[30] = cpu->r[9];
|
|
/* 027D94AC */ cpu->r[3] = cpu->r[7];
|
|
/* 027D94AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D94B0 */ cpu->r[28] = cpu->r[6];
|
|
/* 027D94B4 */ cpu->r[27] = cpu->r[4];
|
|
/* 027D94B8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D94B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D94BC */ cpu->r[29] = cpu->r[8];
|
|
/* 027D94C0 */ cpu->r[31] = cpu->r[10];
|
|
/* 027D94C4 */ _t2 = cpu->r[26] + 0x00000038u;
|
|
/* 027D94C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 027D94C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D94C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D94C8 */ if (_t4) goto L_027D94CC; else goto L_027D94E4;
|
|
L_027D94CC: ; // 0x27d94cc
|
|
/* 027D94CC */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 027D94CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D94D0 */ _t6 = cpu->r[12] + 0x0000008Cu;
|
|
/* 027D94D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D94D4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D94D8 */ cpu->r[3] = cpu->r[5];
|
|
/* 027D94DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D94E0 */ _t7 = cpu->r[26] + 0x00000038u;
|
|
/* 027D94E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
L_027D94E4: ; // 0x27d94e4
|
|
/* 027D94E4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D94E8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027D94E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027D94EC */ cpu->r[0] = cpu->r[0] + 0xFFFFE830u;
|
|
/* 027D94F0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027D94F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D94F4 */ _t10 = cpu->r[5] + 0x00000004u;
|
|
/* 027D94F4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D94F8 */ _t11 = cpu->r[25] + 0x00000094u;
|
|
/* 027D94F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D94FC */ cpu->ctr = cpu->r[0];
|
|
/* 027D9500 */ cpu->r[3] = cpu->r[5];
|
|
/* 027D9504 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9508 */ _t12 = cpu->r[25] + 0x0000009Cu;
|
|
/* 027D9508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D950C */ cpu->r[25] = cpu->r[3];
|
|
/* 027D9510 */ _t13 = cpu->r[26] + 0x00000038u;
|
|
/* 027D9510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D9514 */ cpu->ctr = cpu->r[0];
|
|
/* 027D9518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D951C */ cpu->r[10] = cpu->r[3];
|
|
/* 027D9520 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D9524 */ cpu->r[4] = cpu->r[27];
|
|
/* 027D9528 */ cpu->r[6] = cpu->r[29];
|
|
/* 027D952C */ cpu->r[7] = cpu->r[28];
|
|
/* 027D9530 */ cpu->r[8] = cpu->r[25];
|
|
/* 027D9534 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9534 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 027D9538 */ cpu->r[9] = 0x00000000u;
|
|
/* 027D953C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9540 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9540 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027D9544 */ Gambit_fn_027D9C3C(cpu);
|
|
/* 027D9548 */ /* nop */
|
|
/* 027D954C */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027D954C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9550 */ cpu->lr = cpu->r[0];
|
|
/* 027D9554 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027D9558 */ return;
|
|
}
|
|
|
|
// fn_027D955C @ 0x27d955c
|
|
void Gambit_fn_027D955C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027D955C: ; // 0x27d955c
|
|
/* 027D955C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027D955C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D955C */ cpu->r[1] = _t0;
|
|
/* 027D9560 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9564 */ /* nop */
|
|
/* 027D9568 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D956C */ cpu->r[3] = cpu->r[5];
|
|
/* 027D9570 */ cpu->r[31] = cpu->r[10];
|
|
/* 027D9574 */ cpu->r[30] = cpu->r[9];
|
|
/* 027D9578 */ cpu->r[28] = cpu->r[6];
|
|
/* 027D957C */ cpu->r[27] = cpu->r[4];
|
|
/* 027D9580 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027D9580 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D9584 */ cpu->r[29] = cpu->r[8];
|
|
/* 027D9588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D958C */ _t2 = cpu->r[26] + 0x00000038u;
|
|
/* 027D958C */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 027D9590 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9590 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9590 */ if (_t4) goto L_027D9594; else goto L_027D95AC;
|
|
L_027D9594: ; // 0x27d9594
|
|
/* 027D9594 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027D9594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9598 */ _t6 = cpu->r[12] + 0x0000008Cu;
|
|
/* 027D9598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D959C */ cpu->ctr = cpu->r[0];
|
|
/* 027D95A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D95A4 */ cpu->r[7] = cpu->r[3];
|
|
/* 027D95A8 */ _t7 = cpu->r[26] + 0x00000038u;
|
|
/* 027D95A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
L_027D95AC: ; // 0x27d95ac
|
|
/* 027D95AC */ cpu->r[0] = 0x10110000u;
|
|
/* 027D95B0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D95B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 027D95B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE830u;
|
|
/* 027D95B8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027D95B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027D95BC */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027D95BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D95C0 */ _t11 = cpu->r[10] + 0x00000094u;
|
|
/* 027D95C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D95C4 */ cpu->ctr = cpu->r[0];
|
|
/* 027D95C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D95CC */ cpu->r[8] = cpu->r[3];
|
|
/* 027D95D0 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D95D4 */ cpu->r[4] = cpu->r[27];
|
|
/* 027D95D8 */ cpu->r[6] = cpu->r[29];
|
|
/* 027D95DC */ cpu->r[7] = cpu->r[28];
|
|
/* 027D95E0 */ cpu->r[10] = cpu->r[30];
|
|
/* 027D95E4 */ cpu->r[9] = 0x00000000u;
|
|
/* 027D95E8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D95EC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027D95EC */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 027D95F0 */ Gambit_fn_027D9DC0(cpu);
|
|
/* 027D95F4 */ /* nop */
|
|
/* 027D95F8 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 027D95F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D95FC */ cpu->lr = cpu->r[0];
|
|
/* 027D9600 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027D9604 */ return;
|
|
}
|
|
|
|
// fn_027D9608 @ 0x27d9608
|
|
void Gambit_fn_027D9608(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_027D9608: ; // 0x27d9608
|
|
/* 027D9608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D960C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D960C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027D960C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D960C */ goto L_027D9610;
|
|
L_027D9610: ; // 0x27d9610
|
|
/* 027D9610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027D9610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D9614 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9614 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D9614 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027D9614 */ goto L_027D9618;
|
|
L_027D9618: ; // 0x27d9618
|
|
/* 027D9618 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027D961C @ 0x27d961c
|
|
void Gambit_fn_027D961C(CPUState* cpu) {
|
|
L_027D961C: ; // 0x27d961c
|
|
/* 027D961C */ return;
|
|
}
|
|
|
|
// fn_027D9620 @ 0x27d9620
|
|
void Gambit_fn_027D9620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D9620: ; // 0x27d9620
|
|
/* 027D9620 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D9624 */ _t0 = cpu->r[9] + 0xFFFFE308u;
|
|
/* 027D9624 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D9624 */ cpu->r[9] = _t0;
|
|
/* 027D9628 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D962C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D9630 */ cpu->r[12] = cpu->r[12] + 0xFFFFE30Cu;
|
|
/* 027D9634 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9634 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D9634 */ if (_t2) goto L_027D9638; else goto L_027D964C;
|
|
L_027D9638: ; // 0x27d9638
|
|
/* 027D9638 */ cpu->r[7] = 0x10110000u;
|
|
/* 027D963C */ cpu->r[0] = 0x00000001u;
|
|
/* 027D9640 */ cpu->r[7] = cpu->r[7] + 0xFFFFE848u;
|
|
/* 027D9644 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 027D9644 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D9648 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9648 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_027D964C: ; // 0x27d964c
|
|
/* 027D964C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D9650 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9650 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9650 */ if (_t6) goto L_027D9654; else goto L_027D965C;
|
|
L_027D9654: ; // 0x27d9654
|
|
/* 027D9654 */ cpu->r[3] = 0x00000001u;
|
|
/* 027D9658 */ return;
|
|
L_027D965C: ; // 0x27d965c
|
|
/* 027D965C */ cpu->r[7] = 0x101D0000u;
|
|
/* 027D9660 */ _t7 = cpu->r[7] + 0xFFFFE318u;
|
|
/* 027D9660 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9660 */ cpu->r[7] = _t7;
|
|
/* 027D9664 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D9668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D966C */ cpu->r[11] = cpu->r[11] + 0xFFFFE31Cu;
|
|
/* 027D9670 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9670 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9670 */ if (_t9) goto L_027D9674; else goto L_027D9688;
|
|
L_027D9674: ; // 0x27d9674
|
|
/* 027D9674 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D9678 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D967C */ cpu->r[0] = cpu->r[0] + 0xFFFFE820u;
|
|
/* 027D9680 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 027D9680 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D9684 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027D9684 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027D9688: ; // 0x27d9688
|
|
/* 027D9688 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027D968C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 027D9690 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 027D9694 */ return;
|
|
}
|
|
|
|
// fn_027D9698 @ 0x27d9698
|
|
void Gambit_fn_027D9698(CPUState* cpu) {
|
|
L_027D9698: ; // 0x27d9698
|
|
/* 027D9698 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D969C */ return;
|
|
}
|
|
|
|
// fn_027D96A0 @ 0x27d96a0
|
|
void Gambit_fn_027D96A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027D96A0: ; // 0x27d96a0
|
|
/* 027D96A0 */ cpu->r[0] = cpu->lr;
|
|
/* 027D96A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D96A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D96A4 */ cpu->r[1] = _t0;
|
|
/* 027D96A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D96A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D96AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D96AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D96B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D96B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D96B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D96B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D96B4 */ if (_t4) goto L_027D96B8; else goto L_027D96C8;
|
|
L_027D96B8: ; // 0x27d96b8
|
|
/* 027D96B8 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D96BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D96C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D96C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D96C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D96C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D96C4 */ if (_t6) goto L_027D9700; else goto L_027D96C8;
|
|
L_027D96C8: ; // 0x27d96c8
|
|
/* 027D96C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D96CC */ Gambit_fn_027DA0BC(cpu);
|
|
/* 027D96D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D96D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D96D8 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 027D96D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D96DC */ cpu->r[12] = cpu->r[12] + 0xFFFFE910u;
|
|
/* 027D96E0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D96E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027D96E4 */ cpu->r[4] = 0x0000001Cu;
|
|
/* 027D96E8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027D96E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027D96EC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D96F0 */ _t10 = cpu->r[31] + 0x00000030u;
|
|
/* 027D96F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D96F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D96F8 */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 027D96F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 027D96FC */ Gambit_fn_027DA788(cpu);
|
|
L_027D9700: ; // 0x27d9700
|
|
/* 027D9700 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9704 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9708 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D970C */ cpu->lr = cpu->r[0];
|
|
/* 027D9710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9714 */ return;
|
|
}
|
|
|
|
// fn_027D96A4 @ 0x27d96a4
|
|
void Gambit_fn_027D96A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027D96A4: ; // 0x27d96a4
|
|
/* 027D96A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D96A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D96A4 */ cpu->r[1] = _t0;
|
|
/* 027D96A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D96A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D96AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027D96AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D96B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D96B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D96B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D96B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D96B4 */ if (_t4) goto L_027D96B8; else goto L_027D96C8;
|
|
L_027D96B8: ; // 0x27d96b8
|
|
/* 027D96B8 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D96BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027D96C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D96C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D96C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D96C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D96C4 */ if (_t6) goto L_027D9700; else goto L_027D96C8;
|
|
L_027D96C8: ; // 0x27d96c8
|
|
/* 027D96C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D96CC */ Gambit_fn_027DA0BC(cpu);
|
|
/* 027D96D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D96D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027D96D8 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 027D96D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D96DC */ cpu->r[12] = cpu->r[12] + 0xFFFFE910u;
|
|
/* 027D96E0 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D96E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027D96E4 */ cpu->r[4] = 0x0000001Cu;
|
|
/* 027D96E8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027D96E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027D96EC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027D96F0 */ _t10 = cpu->r[31] + 0x00000030u;
|
|
/* 027D96F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D96F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D96F8 */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 027D96F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 027D96FC */ Gambit_fn_027DA788(cpu);
|
|
L_027D9700: ; // 0x27d9700
|
|
/* 027D9700 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9704 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9708 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D970C */ cpu->lr = cpu->r[0];
|
|
/* 027D9710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9714 */ return;
|
|
}
|
|
|
|
// fn_027D9718 @ 0x27d9718
|
|
void Gambit_fn_027D9718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D9718: ; // 0x27d9718
|
|
/* 027D9718 */ cpu->r[0] = cpu->lr;
|
|
/* 027D971C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D971C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D971C */ cpu->r[1] = _t0;
|
|
/* 027D9720 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9720 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027D9724 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9724 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D9728 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D972C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D972C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D9730 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9730 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D9734 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9734 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D9738 */ cpu->r[29] = cpu->r[5];
|
|
/* 027D973C */ _t6 = cpu->r[28] + 0x00000020u;
|
|
/* 027D973C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9740 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D9744 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D9748 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D974C */ _t7 = cpu->r[28] + 0x00000020u;
|
|
/* 027D974C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027D9750 */ _t8 = cpu->r[11] + 0xFFFFD7F4u;
|
|
/* 027D9750 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9750 */ cpu->r[11] = _t8;
|
|
/* 027D9754 */ cpu->r[31] = cpu->r[31] + 0x00000F5Cu;
|
|
/* 027D9758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D975C */ cpu->r[30] = cpu->r[4];
|
|
/* 027D9760 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9760 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D9760 */ if (_t10) goto L_027D9764; else goto L_027D9798;
|
|
L_027D9764: ; // 0x27d9764
|
|
/* 027D9764 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D9768 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D976C */ _t11 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027D976C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D976C */ cpu->r[9] = _t11;
|
|
/* 027D9770 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D9774 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027D9778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D977C */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027D977C */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027D9780 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9780 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9780 */ if (_t14) goto L_027D9784; else goto L_027D9794;
|
|
L_027D9784: ; // 0x27d9784
|
|
/* 027D9784 */ cpu->r[8] = 0x00000001u;
|
|
/* 027D9788 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D978C */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 027D978C */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027D9790 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9790 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_027D9794: ; // 0x27d9794
|
|
/* 027D9794 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9794 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
L_027D9798: ; // 0x27d9798
|
|
/* 027D9798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D979C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D979C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D979C */ if (_t19) goto L_027D97F8; else goto L_027D97A0;
|
|
L_027D97A0: ; // 0x27d97a0
|
|
/* 027D97A0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 027D97A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D97A4 */ _t21 = cpu->r[10] + 0x00000014u;
|
|
/* 027D97A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D97A8 */ cpu->ctr = cpu->r[12];
|
|
/* 027D97AC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D97B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D97B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D97B8 */ if (_t23) goto L_027D97F8; else goto L_027D97BC;
|
|
L_027D97BC: ; // 0x27d97bc
|
|
/* 027D97BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027D97C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D97C0 */ if (_t25) goto L_027D97E8; else goto L_027D97C4;
|
|
L_027D97C4: ; // 0x27d97c4
|
|
/* 027D97C4 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027D97C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D97C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97CC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D97CC */ if (_t28) goto L_027D97F8; else goto L_027D97D0;
|
|
L_027D97D0: ; // 0x27d97d0
|
|
/* 027D97D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027D97D4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97D4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D97D4 */ if (_t30) goto L_027D97E8; else goto L_027D97D8;
|
|
L_027D97D8: ; // 0x27d97d8
|
|
/* 027D97D8 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 027D97D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D97E0 */ if (_t33) goto L_027D97E4; else goto L_027D97D0;
|
|
L_027D97E4: ; // 0x27d97e4
|
|
/* 027D97E4 */ goto L_027D97F8;
|
|
L_027D97E8: ; // 0x27d97e8
|
|
/* 027D97E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D97EC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D97EC */ if (_t35) goto L_027D97F0; else goto L_027D97F8;
|
|
L_027D97F0: ; // 0x27d97f0
|
|
/* 027D97F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D97F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D97F4 */ if (_t37) goto L_027D97F8; else goto L_027D9840;
|
|
L_027D97F8: ; // 0x27d97f8
|
|
/* 027D97F8 */ _t38 = cpu->r[30] + 0x00000014u;
|
|
/* 027D97F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D97F8 */ cpu->r[30] = _t38;
|
|
/* 027D97FC */ cpu->r[11] = cpu->r[31] ^ cpu->r[30];
|
|
/* 027D9800 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 027D9804 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D9808 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027D980C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D980C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D9810 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9810 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D9810 */ if (_t40) goto L_027D9840; else goto L_027D9814;
|
|
L_027D9814: ; // 0x27d9814
|
|
/* 027D9814 */ cpu->r[5] = 0x00000000u;
|
|
/* 027D9818 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D981C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9820 */ Gambit_fn_027D9718(cpu);
|
|
/* 027D9824 */ _t41 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D9828 */ cpu->r[6] = cpu->r[31] ^ cpu->r[30];
|
|
/* 027D982C */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 027D9830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D9834 */ cpu->r[8] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027D9838 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D9838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D983C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D983C */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D983C */ if (_t43) goto L_027D9840; else goto L_027D9814;
|
|
L_027D9840: ; // 0x27d9840
|
|
/* 027D9840 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9840 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D9844 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9844 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D9848 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027D984C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 027D984C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D9850 */ cpu->lr = cpu->r[0];
|
|
/* 027D9854 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D9858 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D985C */ return;
|
|
}
|
|
|
|
// fn_027D971C @ 0x27d971c
|
|
void Gambit_fn_027D971C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D971C: ; // 0x27d971c
|
|
/* 027D971C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027D971C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D971C */ cpu->r[1] = _t0;
|
|
/* 027D9720 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9720 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027D9724 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9724 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027D9728 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D972C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D972C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027D9730 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9730 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027D9734 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9734 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027D9738 */ cpu->r[29] = cpu->r[5];
|
|
/* 027D973C */ _t6 = cpu->r[28] + 0x00000020u;
|
|
/* 027D973C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9740 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D9744 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027D9748 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027D974C */ _t7 = cpu->r[28] + 0x00000020u;
|
|
/* 027D974C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027D9750 */ _t8 = cpu->r[11] + 0xFFFFD7F4u;
|
|
/* 027D9750 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9750 */ cpu->r[11] = _t8;
|
|
/* 027D9754 */ cpu->r[31] = cpu->r[31] + 0x00000F5Cu;
|
|
/* 027D9758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D975C */ cpu->r[30] = cpu->r[4];
|
|
/* 027D9760 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9760 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D9760 */ if (_t10) goto L_027D9764; else goto L_027D9798;
|
|
L_027D9764: ; // 0x27d9764
|
|
/* 027D9764 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D9768 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D976C */ _t11 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027D976C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D976C */ cpu->r[9] = _t11;
|
|
/* 027D9770 */ cpu->r[6] = 0x00000001u;
|
|
/* 027D9774 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027D9778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D977C */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027D977C */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027D9780 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9780 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9780 */ if (_t14) goto L_027D9784; else goto L_027D9794;
|
|
L_027D9784: ; // 0x27d9784
|
|
/* 027D9784 */ cpu->r[8] = 0x00000001u;
|
|
/* 027D9788 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D978C */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 027D978C */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027D9790 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9790 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_027D9794: ; // 0x27d9794
|
|
/* 027D9794 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9794 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
L_027D9798: ; // 0x27d9798
|
|
/* 027D9798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D979C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D979C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D979C */ if (_t19) goto L_027D97F8; else goto L_027D97A0;
|
|
L_027D97A0: ; // 0x27d97a0
|
|
/* 027D97A0 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 027D97A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D97A4 */ _t21 = cpu->r[10] + 0x00000014u;
|
|
/* 027D97A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D97A8 */ cpu->ctr = cpu->r[12];
|
|
/* 027D97AC */ cpu->r[3] = cpu->r[30];
|
|
/* 027D97B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D97B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027D97B8 */ if (_t23) goto L_027D97F8; else goto L_027D97BC;
|
|
L_027D97BC: ; // 0x27d97bc
|
|
/* 027D97BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027D97C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027D97C0 */ if (_t25) goto L_027D97E8; else goto L_027D97C4;
|
|
L_027D97C4: ; // 0x27d97c4
|
|
/* 027D97C4 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027D97C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D97C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97CC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 027D97CC */ if (_t28) goto L_027D97F8; else goto L_027D97D0;
|
|
L_027D97D0: ; // 0x27d97d0
|
|
/* 027D97D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027D97D4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97D4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D97D4 */ if (_t30) goto L_027D97E8; else goto L_027D97D8;
|
|
L_027D97D8: ; // 0x27d97d8
|
|
/* 027D97D8 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 027D97D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D97E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027D97E0 */ if (_t33) goto L_027D97E4; else goto L_027D97D0;
|
|
L_027D97E4: ; // 0x27d97e4
|
|
/* 027D97E4 */ goto L_027D97F8;
|
|
L_027D97E8: ; // 0x27d97e8
|
|
/* 027D97E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027D97EC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 027D97EC */ if (_t35) goto L_027D97F0; else goto L_027D97F8;
|
|
L_027D97F0: ; // 0x27d97f0
|
|
/* 027D97F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027D97F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D97F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027D97F4 */ if (_t37) goto L_027D97F8; else goto L_027D9840;
|
|
L_027D97F8: ; // 0x27d97f8
|
|
/* 027D97F8 */ _t38 = cpu->r[30] + 0x00000014u;
|
|
/* 027D97F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027D97F8 */ cpu->r[30] = _t38;
|
|
/* 027D97FC */ cpu->r[11] = cpu->r[31] ^ cpu->r[30];
|
|
/* 027D9800 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 027D9804 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D9808 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027D980C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D980C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D9810 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9810 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027D9810 */ if (_t40) goto L_027D9840; else goto L_027D9814;
|
|
L_027D9814: ; // 0x27d9814
|
|
/* 027D9814 */ cpu->r[5] = 0x00000000u;
|
|
/* 027D9818 */ cpu->r[4] = cpu->r[31];
|
|
/* 027D981C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9820 */ Gambit_fn_027D9718(cpu);
|
|
/* 027D9824 */ _t41 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D9828 */ cpu->r[6] = cpu->r[31] ^ cpu->r[30];
|
|
/* 027D982C */ cpu->r[7] = rbrew_clz32(cpu->r[6]);
|
|
/* 027D9830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027D9834 */ cpu->r[8] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027D9838 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027D9838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D983C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D983C */ _t43 = _t42 & 0x00000001u;
|
|
/* 027D983C */ if (_t43) goto L_027D9840; else goto L_027D9814;
|
|
L_027D9840: ; // 0x27d9840
|
|
/* 027D9840 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9840 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027D9844 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9844 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027D9848 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027D984C */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 027D984C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D9850 */ cpu->lr = cpu->r[0];
|
|
/* 027D9854 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027D9858 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027D985C */ return;
|
|
}
|
|
|
|
// fn_027D9860 @ 0x27d9860
|
|
void Gambit_fn_027D9860(CPUState* cpu) {
|
|
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_027D9860: ; // 0x27d9860
|
|
/* 027D9860 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 027D9860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9860 */ cpu->r[1] = _t0;
|
|
/* 027D9864 */ /* nop */
|
|
/* 027D9868 */ cpu->r[0] = cpu->lr;
|
|
/* 027D986C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027D986C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D9870 */ cpu->r[29] = cpu->r[7];
|
|
/* 027D9874 */ cpu->r[26] = cpu->r[3];
|
|
/* 027D9878 */ _t2 = cpu->r[26] + 0x0000002Cu;
|
|
/* 027D9878 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 027D987C */ cpu->r[28] = cpu->r[6];
|
|
/* 027D9880 */ _t3 = cpu->r[28] + 0x00000004u;
|
|
/* 027D9880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D9884 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027D9884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D9888 */ cpu->ctr = cpu->r[0];
|
|
/* 027D988C */ _t5 = cpu->r[5] + 0x00000030u;
|
|
/* 027D988C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9890 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D9890 */ cpu->r[25] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9894 */ cpu->r[27] = cpu->r[4];
|
|
/* 027D9898 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D989C */ cpu->r[30] = cpu->r[8];
|
|
/* 027D98A0 */ cpu->r[31] = cpu->r[9];
|
|
/* 027D98A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D98A8 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 027D98A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D98AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D98B0 */ cpu->r[5] = cpu->r[26];
|
|
/* 027D98B4 */ Gambit_fn_028AD050(cpu);
|
|
/* 027D98B8 */ cpu->r[5] = cpu->r[25];
|
|
/* 027D98B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027D98BC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D98BC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D98BC */ if (_t9) goto L_027D98C4; else goto L_027D98C0;
|
|
L_027D98C0: ; // 0x27d98c0
|
|
/* 027D98C0 */ cpu->r[5] = cpu->r[25] + 0x00000048u;
|
|
L_027D98C4: ; // 0x27d98c4
|
|
/* 027D98C4 */ cpu->r[7] = cpu->r[25];
|
|
/* 027D98C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027D98C8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027D98C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 027D98CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D98CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D98CC */ if (_t12) goto L_027D98D4; else goto L_027D98D0;
|
|
L_027D98D0: ; // 0x27d98d0
|
|
/* 027D98D0 */ cpu->r[7] = cpu->r[25] + 0x0000001Cu;
|
|
L_027D98D4: ; // 0x27d98d4
|
|
/* 027D98D4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D98D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027D98D8 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027D98D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 027D98DC */ _t15 = cpu->r[26] + 0x0000002Cu;
|
|
/* 027D98DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D98E0 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 027D98E0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 027D98E4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027D98E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 027D98E8 */ _t18 = cpu->r[8] + 0x00000030u;
|
|
/* 027D98E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D98EC */ _t19 = cpu->r[6] + 0x0000001Cu;
|
|
/* 027D98EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D98F0 */ _t20 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027D98F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D98F4 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 027D98F8 */ cpu->r[5] = cpu->r[9] - cpu->r[0];
|
|
/* 027D98FC */ cpu->r[4] = cpu->r[25];
|
|
/* 027D9900 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D9904 */ Gambit_fn_027D9718(cpu);
|
|
/* 027D9908 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D990C */ cpu->r[5] = cpu->r[27];
|
|
/* 027D9910 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D9914 */ Gambit_fn_027DA188(cpu);
|
|
/* 027D9918 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D991C */ cpu->r[5] = cpu->r[27];
|
|
/* 027D9920 */ cpu->r[3] = cpu->r[26];
|
|
/* 027D9924 */ Gambit_fn_027DA258(cpu);
|
|
/* 027D9928 */ /* nop */
|
|
/* 027D992C */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027D992C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D9930 */ cpu->lr = cpu->r[0];
|
|
/* 027D9934 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027D9938 */ return;
|
|
}
|
|
|
|
// fn_027D993C @ 0x27d993c
|
|
void Gambit_fn_027D993C(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_027D993C: ; // 0x27d993c
|
|
/* 027D993C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 027D993C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D993C */ cpu->r[1] = _t0;
|
|
/* 027D9940 */ /* nop */
|
|
/* 027D9944 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9948 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027D9948 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D994C */ cpu->r[29] = cpu->r[7];
|
|
/* 027D9950 */ cpu->r[25] = cpu->r[3];
|
|
/* 027D9954 */ _t2 = cpu->r[25] + 0x00000030u;
|
|
/* 027D9954 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 027D9958 */ _t3 = cpu->r[5] + 0x000000E0u;
|
|
/* 027D9958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D995C */ cpu->r[28] = cpu->r[6];
|
|
/* 027D9960 */ _t4 = cpu->r[25] + 0x0000002Cu;
|
|
/* 027D9960 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027D9964 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 027D9964 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9968 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 027D9968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D996C */ cpu->ctr = cpu->r[0];
|
|
/* 027D9970 */ _t7 = cpu->r[5] + 0x000000E8u;
|
|
/* 027D9970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9974 */ _t8 = cpu->r[11] + 0x0000001Cu;
|
|
/* 027D9974 */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9978 */ cpu->r[27] = cpu->r[4];
|
|
/* 027D997C */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9980 */ cpu->r[30] = cpu->r[8];
|
|
/* 027D9984 */ cpu->r[31] = cpu->r[9];
|
|
/* 027D9988 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D998C */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 027D998C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D9990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9994 */ cpu->r[5] = cpu->r[25];
|
|
/* 027D9998 */ Gambit_fn_028AD050(cpu);
|
|
/* 027D999C */ cpu->r[8] = cpu->r[26];
|
|
/* 027D999C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D99A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D99A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D99A0 */ if (_t11) goto L_027D99A8; else goto L_027D99A4;
|
|
L_027D99A4: ; // 0x27d99a4
|
|
/* 027D99A4 */ cpu->r[8] = cpu->r[26] + 0x00000048u;
|
|
L_027D99A8: ; // 0x27d99a8
|
|
/* 027D99A8 */ cpu->r[0] = cpu->r[26];
|
|
/* 027D99A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D99AC */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027D99AC */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 027D99B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D99B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D99B0 */ if (_t14) goto L_027D99B8; else goto L_027D99B4;
|
|
L_027D99B4: ; // 0x27d99b4
|
|
/* 027D99B4 */ cpu->r[0] = cpu->r[26] + 0x0000001Cu;
|
|
L_027D99B8: ; // 0x27d99b8
|
|
/* 027D99B8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027D99B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027D99BC */ cpu->r[3] = cpu->r[25];
|
|
/* 027D99C0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D99C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 027D99C4 */ cpu->r[4] = cpu->r[26];
|
|
/* 027D99C8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 027D99C8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 027D99CC */ cpu->r[5] = 0x00000001u;
|
|
/* 027D99D0 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 027D99D0 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 027D99D4 */ Gambit_fn_027D9718(cpu);
|
|
/* 027D99D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D99DC */ cpu->r[5] = cpu->r[27];
|
|
/* 027D99E0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027D99E4 */ Gambit_fn_027DA188(cpu);
|
|
/* 027D99E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D99EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027D99F0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027D99F4 */ Gambit_fn_027DA258(cpu);
|
|
/* 027D99F8 */ /* nop */
|
|
/* 027D99FC */ _t19 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027D99FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9A00 */ cpu->lr = cpu->r[0];
|
|
/* 027D9A04 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027D9A08 */ return;
|
|
}
|
|
|
|
// fn_027D9A0C @ 0x27d9a0c
|
|
void Gambit_fn_027D9A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027D9A0C: ; // 0x27d9a0c
|
|
/* 027D9A0C */ cpu->r[0] = cpu->lr;
|
|
/* 027D9A10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9A10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9A10 */ cpu->r[1] = _t0;
|
|
/* 027D9A14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9A18 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9A1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9A20 */ Gambit_fn_027DA418(cpu);
|
|
/* 027D9A24 */ _t3 = cpu->r[31] + 0x00000030u;
|
|
/* 027D9A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D9A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D9A2C */ if (_t5) goto L_027D9A6C; else goto L_027D9A30;
|
|
L_027D9A30: ; // 0x27d9a30
|
|
/* 027D9A30 */ _t6 = cpu->r[12] + 0x00000100u;
|
|
/* 027D9A30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027D9A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A38 */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9A3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9A3C */ if (_t9) goto L_027D9A5C; else goto L_027D9A40;
|
|
L_027D9A40: ; // 0x27d9a40
|
|
/* 027D9A40 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 027D9A44 */ _t10 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A44 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D9A48 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9A4C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9A50 */ cpu->lr = cpu->r[0];
|
|
/* 027D9A54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9A58 */ return;
|
|
L_027D9A5C: ; // 0x27d9a5c
|
|
/* 027D9A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A60 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D9A60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9A60 */ if (_t14) goto L_027D9A6C; else goto L_027D9A64;
|
|
L_027D9A64: ; // 0x27d9a64
|
|
/* 027D9A64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D9A68 */ _t15 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A68 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_027D9A6C: ; // 0x27d9a6c
|
|
/* 027D9A6C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9A70 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D9A74 */ cpu->lr = cpu->r[0];
|
|
/* 027D9A78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9A7C */ return;
|
|
}
|
|
|
|
// fn_027D9A10 @ 0x27d9a10
|
|
void Gambit_fn_027D9A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027D9A10: ; // 0x27d9a10
|
|
/* 027D9A10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9A10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9A10 */ cpu->r[1] = _t0;
|
|
/* 027D9A14 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9A18 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9A1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9A20 */ Gambit_fn_027DA418(cpu);
|
|
/* 027D9A24 */ _t3 = cpu->r[31] + 0x00000030u;
|
|
/* 027D9A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D9A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D9A2C */ if (_t5) goto L_027D9A6C; else goto L_027D9A30;
|
|
L_027D9A30: ; // 0x27d9a30
|
|
/* 027D9A30 */ _t6 = cpu->r[12] + 0x00000100u;
|
|
/* 027D9A30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027D9A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A38 */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9A3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9A3C */ if (_t9) goto L_027D9A5C; else goto L_027D9A40;
|
|
L_027D9A40: ; // 0x27d9a40
|
|
/* 027D9A40 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 027D9A44 */ _t10 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A44 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027D9A48 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9A4C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9A50 */ cpu->lr = cpu->r[0];
|
|
/* 027D9A54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9A58 */ return;
|
|
L_027D9A5C: ; // 0x27d9a5c
|
|
/* 027D9A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A60 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D9A60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9A60 */ if (_t14) goto L_027D9A6C; else goto L_027D9A64;
|
|
L_027D9A64: ; // 0x27d9a64
|
|
/* 027D9A64 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027D9A68 */ _t15 = cpu->r[31] + 0x00000034u;
|
|
/* 027D9A68 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_027D9A6C: ; // 0x27d9a6c
|
|
/* 027D9A6C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9A70 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D9A74 */ cpu->lr = cpu->r[0];
|
|
/* 027D9A78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9A7C */ return;
|
|
}
|
|
|
|
// fn_027D9A80 @ 0x27d9a80
|
|
void Gambit_fn_027D9A80(CPUState* cpu) {
|
|
uint32_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_027D9A80: ; // 0x27d9a80
|
|
/* 027D9A80 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9A84 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027D9A84 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027D9A88 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D9A88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027D9A88 */ cpu->r[1] = _t1;
|
|
/* 027D9A8C */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 027D9A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9A94 */ if (_t4) goto L_027D9AD0; else goto L_027D9A98;
|
|
L_027D9A98: ; // 0x27d9a98
|
|
/* 027D9A98 */ _t5 = cpu->r[12] + 0x000000E8u;
|
|
/* 027D9A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9A9C */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D9A9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9AA0 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9AA4 */ _t8 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027D9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 027D9AAC */ cpu->r[5] = 0x00000001u;
|
|
/* 027D9AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9AB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D9AB8 */ if (_t10) goto L_027D9B14; else goto L_027D9ABC;
|
|
L_027D9ABC: ; // 0x27d9abc
|
|
/* 027D9ABC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9AC0 */ cpu->lr = cpu->r[0];
|
|
/* 027D9AC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9AC8 */ cpu->r[3] = cpu->r[3] + 0x00000048u;
|
|
/* 027D9ACC */ return;
|
|
L_027D9AD0: ; // 0x27d9ad0
|
|
/* 027D9AD0 */ _t12 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027D9AD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D9AD8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9AD8 */ if (_t14) goto L_027D9B14; else goto L_027D9ADC;
|
|
L_027D9ADC: ; // 0x27d9adc
|
|
/* 027D9ADC */ _t15 = cpu->r[11] + 0x00000030u;
|
|
/* 027D9ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9AE0 */ _t16 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D9AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9AE4 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D9AE8 */ _t18 = cpu->r[11] + 0x0000005Cu;
|
|
/* 027D9AE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D9AEC */ cpu->ctr = cpu->r[11];
|
|
/* 027D9AF0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027D9AF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9AFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027D9AFC */ if (_t20) goto L_027D9B14; else goto L_027D9B00;
|
|
L_027D9B00: ; // 0x27d9b00
|
|
/* 027D9B00 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D9B04 */ cpu->lr = cpu->r[0];
|
|
/* 027D9B08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9B0C */ cpu->r[3] = cpu->r[3] + 0x00000048u;
|
|
/* 027D9B10 */ return;
|
|
L_027D9B14: ; // 0x27d9b14
|
|
/* 027D9B14 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D9B18 */ cpu->lr = cpu->r[0];
|
|
/* 027D9B1C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9B20 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D9B24 */ return;
|
|
}
|
|
|
|
// fn_027D9A88 @ 0x27d9a88
|
|
void Gambit_fn_027D9A88(CPUState* cpu) {
|
|
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_027D9A88: ; // 0x27d9a88
|
|
/* 027D9A88 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027D9A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9A88 */ cpu->r[1] = _t0;
|
|
/* 027D9A8C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 027D9A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027D9A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027D9A94 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9A94 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027D9A94 */ if (_t3) goto L_027D9AD0; else goto L_027D9A98;
|
|
L_027D9A98: ; // 0x27d9a98
|
|
/* 027D9A98 */ _t4 = cpu->r[12] + 0x000000E8u;
|
|
/* 027D9A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027D9A9C */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D9A9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9AA0 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9AA4 */ _t7 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027D9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 027D9AAC */ cpu->r[5] = 0x00000001u;
|
|
/* 027D9AB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9AB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9AB8 */ if (_t9) goto L_027D9B14; else goto L_027D9ABC;
|
|
L_027D9ABC: ; // 0x27d9abc
|
|
/* 027D9ABC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D9AC0 */ cpu->lr = cpu->r[0];
|
|
/* 027D9AC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9AC8 */ cpu->r[3] = cpu->r[3] + 0x00000048u;
|
|
/* 027D9ACC */ return;
|
|
L_027D9AD0: ; // 0x27d9ad0
|
|
/* 027D9AD0 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027D9AD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D9AD8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AD8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D9AD8 */ if (_t13) goto L_027D9B14; else goto L_027D9ADC;
|
|
L_027D9ADC: ; // 0x27d9adc
|
|
/* 027D9ADC */ _t14 = cpu->r[11] + 0x00000030u;
|
|
/* 027D9ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027D9AE0 */ _t15 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027D9AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9AE4 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9AE8 */ _t17 = cpu->r[11] + 0x0000005Cu;
|
|
/* 027D9AE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027D9AEC */ cpu->ctr = cpu->r[11];
|
|
/* 027D9AF0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027D9AF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9AFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9AFC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027D9AFC */ if (_t19) goto L_027D9B14; else goto L_027D9B00;
|
|
L_027D9B00: ; // 0x27d9b00
|
|
/* 027D9B00 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D9B04 */ cpu->lr = cpu->r[0];
|
|
/* 027D9B08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9B0C */ cpu->r[3] = cpu->r[3] + 0x00000048u;
|
|
/* 027D9B10 */ return;
|
|
L_027D9B14: ; // 0x27d9b14
|
|
/* 027D9B14 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D9B18 */ cpu->lr = cpu->r[0];
|
|
/* 027D9B1C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9B20 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D9B24 */ return;
|
|
}
|
|
|
|
// fn_027D9B28 @ 0x27d9b28
|
|
void Gambit_fn_027D9B28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027D9B28: ; // 0x27d9b28
|
|
/* 027D9B28 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027D9B2C */ _t0 = cpu->r[9] + 0x0000150Cu;
|
|
/* 027D9B2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027D9B2C */ cpu->r[9] = _t0;
|
|
/* 027D9B30 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027D9B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027D9B38 */ cpu->r[12] = cpu->r[12] + 0x0000156Cu;
|
|
/* 027D9B3C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9B3C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027D9B3C */ if (_t2) goto L_027D9B40; else goto L_027D9B54;
|
|
L_027D9B40: ; // 0x27d9b40
|
|
/* 027D9B40 */ cpu->r[7] = 0x10110000u;
|
|
/* 027D9B44 */ cpu->r[0] = 0x00000001u;
|
|
/* 027D9B48 */ cpu->r[7] = cpu->r[7] + 0xFFFFE900u;
|
|
/* 027D9B4C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 027D9B4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027D9B50 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9B50 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_027D9B54: ; // 0x27d9b54
|
|
/* 027D9B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027D9B58 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9B58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9B58 */ if (_t6) goto L_027D9B5C; else goto L_027D9B64;
|
|
L_027D9B5C: ; // 0x27d9b5c
|
|
/* 027D9B5C */ cpu->r[3] = 0x00000001u;
|
|
/* 027D9B60 */ return;
|
|
L_027D9B64: ; // 0x27d9b64
|
|
/* 027D9B64 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027D9B68 */ _t7 = cpu->r[7] + 0xFFFFE318u;
|
|
/* 027D9B68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027D9B68 */ cpu->r[7] = _t7;
|
|
/* 027D9B6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027D9B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027D9B74 */ cpu->r[11] = cpu->r[11] + 0xFFFFE31Cu;
|
|
/* 027D9B78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9B78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9B78 */ if (_t9) goto L_027D9B7C; else goto L_027D9B90;
|
|
L_027D9B7C: ; // 0x27d9b7c
|
|
/* 027D9B7C */ cpu->r[0] = 0x10110000u;
|
|
/* 027D9B80 */ cpu->r[9] = 0x00000001u;
|
|
/* 027D9B84 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8F0u;
|
|
/* 027D9B88 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 027D9B88 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027D9B8C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027D9B8C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027D9B90: ; // 0x27d9b90
|
|
/* 027D9B90 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027D9B94 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 027D9B98 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 027D9B9C */ return;
|
|
}
|
|
|
|
// fn_027D9BA0 @ 0x27d9ba0
|
|
void Gambit_fn_027D9BA0(CPUState* cpu) {
|
|
L_027D9BA0: ; // 0x27d9ba0
|
|
/* 027D9BA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027D9BA4 */ return;
|
|
}
|
|
|
|
// fn_027D9BA8 @ 0x27d9ba8
|
|
void Gambit_fn_027D9BA8(CPUState* 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_027D9BA8: ; // 0x27d9ba8
|
|
/* 027D9BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9BAC */ cpu->r[1] = _t0;
|
|
/* 027D9BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9BB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9BBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9BBC */ if (_t4) goto L_027D9BC0; else goto L_027D9BD0;
|
|
L_027D9BC0: ; // 0x27d9bc0
|
|
/* 027D9BC0 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D9BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9BC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9BCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9BCC */ if (_t6) goto L_027D9C24; else goto L_027D9BD0;
|
|
L_027D9BD0: ; // 0x27d9bd0
|
|
/* 027D9BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9BD4 */ Gambit_fn_027DA0BC(cpu);
|
|
/* 027D9BD8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D9BDC */ cpu->r[0] = cpu->r[0] + 0xFFFFE9E4u;
|
|
/* 027D9BE0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D9BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9BE4 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9BE4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D9BE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9BE8 */ if (_t9) goto L_027D9BEC; else goto L_027D9BFC;
|
|
L_027D9BEC: ; // 0x27d9bec
|
|
/* 027D9BEC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D9BF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9BF8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BF8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D9BF8 */ if (_t11) goto L_027D9C24; else goto L_027D9BFC;
|
|
L_027D9BFC: ; // 0x27d9bfc
|
|
/* 027D9BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9C00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D9C00 */ if (_t13) goto L_027D9C04; else goto L_027D9C14;
|
|
L_027D9C04: ; // 0x27d9c04
|
|
/* 027D9C04 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D9C08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9C10 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C10 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D9C10 */ if (_t15) goto L_027D9C24; else goto L_027D9C14;
|
|
L_027D9C14: ; // 0x27d9c14
|
|
/* 027D9C14 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9C18 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027D9C18 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027D9C1C */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9C1C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D9C20 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027D9C20 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_027D9C24: ; // 0x27d9c24
|
|
/* 027D9C24 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9C28 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9C2C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D9C30 */ cpu->lr = cpu->r[0];
|
|
/* 027D9C34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9C38 */ return;
|
|
}
|
|
|
|
// fn_027D9BAC @ 0x27d9bac
|
|
void Gambit_fn_027D9BAC(CPUState* 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_027D9BAC: ; // 0x27d9bac
|
|
/* 027D9BAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027D9BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9BAC */ cpu->r[1] = _t0;
|
|
/* 027D9BB0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027D9BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9BB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027D9BBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9BBC */ if (_t4) goto L_027D9BC0; else goto L_027D9BD0;
|
|
L_027D9BC0: ; // 0x27d9bc0
|
|
/* 027D9BC0 */ cpu->r[3] = 0x00000038u;
|
|
/* 027D9BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9BC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027D9BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027D9BCC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BCC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027D9BCC */ if (_t6) goto L_027D9C24; else goto L_027D9BD0;
|
|
L_027D9BD0: ; // 0x27d9bd0
|
|
/* 027D9BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9BD4 */ Gambit_fn_027DA0BC(cpu);
|
|
/* 027D9BD8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027D9BDC */ cpu->r[0] = cpu->r[0] + 0xFFFFE9E4u;
|
|
/* 027D9BE0 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027D9BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9BE4 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027D9BE4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027D9BE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027D9BE8 */ if (_t9) goto L_027D9BEC; else goto L_027D9BFC;
|
|
L_027D9BEC: ; // 0x27d9bec
|
|
/* 027D9BEC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D9BF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9BF8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9BF8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D9BF8 */ if (_t11) goto L_027D9C24; else goto L_027D9BFC;
|
|
L_027D9BFC: ; // 0x27d9bfc
|
|
/* 027D9BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9C00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027D9C00 */ if (_t13) goto L_027D9C04; else goto L_027D9C14;
|
|
L_027D9C04: ; // 0x27d9c04
|
|
/* 027D9C04 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027D9C08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027D9C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9C10 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C10 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D9C10 */ if (_t15) goto L_027D9C24; else goto L_027D9C14;
|
|
L_027D9C14: ; // 0x27d9c14
|
|
/* 027D9C14 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9C18 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027D9C18 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027D9C1C */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 027D9C1C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027D9C20 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027D9C20 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_027D9C24: ; // 0x27d9c24
|
|
/* 027D9C24 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9C28 */ cpu->r[3] = cpu->r[31];
|
|
/* 027D9C2C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D9C30 */ cpu->lr = cpu->r[0];
|
|
/* 027D9C34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027D9C38 */ return;
|
|
}
|
|
|
|
// fn_027D9C3C @ 0x27d9c3c
|
|
void Gambit_fn_027D9C3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027D9C3C: ; // 0x27d9c3c
|
|
/* 027D9C3C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027D9C3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9C3C */ cpu->r[1] = _t0;
|
|
/* 027D9C40 */ /* nop */
|
|
/* 027D9C44 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9C48 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D9C4C */ cpu->r[30] = cpu->r[5];
|
|
/* 027D9C50 */ cpu->r[31] = cpu->r[6];
|
|
/* 027D9C54 */ cpu->r[22] = cpu->r[7];
|
|
/* 027D9C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027D9C58 */ cpu->r[23] = cpu->r[8];
|
|
/* 027D9C5C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D9C5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D9C60 */ cpu->r[29] = cpu->r[4];
|
|
/* 027D9C64 */ cpu->r[25] = cpu->r[10];
|
|
/* 027D9C68 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 027D9C68 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9C6C */ cpu->r[24] = cpu->r[9];
|
|
/* 027D9C70 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 027D9C70 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027D9C74 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C74 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027D9C74 */ if (_t5) goto L_027D9D58; else goto L_027D9C78;
|
|
L_027D9C78: ; // 0x27d9c78
|
|
/* 027D9C78 */ _t6 = cpu->r[22] + 0x00000000u;
|
|
/* 027D9C78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027D9C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D9C80 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C80 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027D9C80 */ if (_t8) goto L_027D9D58; else goto L_027D9C84;
|
|
L_027D9C84: ; // 0x27d9c84
|
|
/* 027D9C84 */ _t9 = cpu->r[28] + 0x00000034u;
|
|
/* 027D9C84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027D9C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D9C8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9C8C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027D9C8C */ if (_t11) goto L_027D9C90; else goto L_027D9D60;
|
|
L_027D9C90: ; // 0x27d9c90
|
|
/* 027D9C90 */ cpu->r[6] = 0x00000004u;
|
|
/* 027D9C94 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9C98 */ cpu->r[3] = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9C9C */ Gambit_fn_028023CC(cpu);
|
|
/* 027D9CA0 */ _t12 = cpu->r[22] + 0x00000000u;
|
|
/* 027D9CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9CA4 */ _t13 = cpu->r[22] + 0x00000008u;
|
|
/* 027D9CA4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027D9CA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9CAC */ cpu->r[22] = cpu->r[21] + cpu->r[0];
|
|
/* 027D9CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[22]);
|
|
/* 027D9CB4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9CB4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027D9CB4 */ if (_t15) goto L_027D9D60; else goto L_027D9CB8;
|
|
L_027D9CB8: ; // 0x27d9cb8
|
|
/* 027D9CB8 */ _t16 = cpu->r[21] + 0x00000000u;
|
|
/* 027D9CB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9CC0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9CC0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D9CC0 */ if (_t18) goto L_027D9CFC; else goto L_027D9CC4;
|
|
L_027D9CC4: ; // 0x27d9cc4
|
|
/* 027D9CC4 */ _t19 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9CC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9CC8 */ _t20 = cpu->r[28] + 0x00000030u;
|
|
/* 027D9CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027D9CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 027D9CD0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D9CD0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027D9CD0 */ if (_t22) goto L_027D9CD4; else goto L_027D9CEC;
|
|
L_027D9CD4: ; // 0x27d9cd4
|
|
/* 027D9CD4 */ _t23 = cpu->r[28] + 0x00000034u;
|
|
/* 027D9CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D9CD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9CDC */ _t24 = cpu->r[12] + cpu->r[0];
|
|
/* 027D9CDC */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 027D9CE0 */ _t25 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027D9CE4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9CE8 */ _t26 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9CE8 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
L_027D9CEC: ; // 0x27d9cec
|
|
/* 027D9CEC */ Gambit_fn_02980F6C(cpu);
|
|
/* 027D9CF0 */ _t27 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027D9CF4 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 027D9CF8 */ _t28 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9CF8 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
L_027D9CFC: ; // 0x27d9cfc
|
|
/* 027D9CFC */ cpu->r[21] = cpu->r[21] + 0x00000004u;
|
|
/* 027D9D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[22]);
|
|
/* 027D9D04 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9D04 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027D9D04 */ if (_t30) goto L_027D9D08; else goto L_027D9CB8;
|
|
L_027D9D08: ; // 0x27d9d08
|
|
/* 027D9D08 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 027D9D08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D9D0C */ _t32 = cpu->r[5] + 0x00000014u;
|
|
/* 027D9D0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D9D10 */ cpu->ctr = cpu->r[7];
|
|
/* 027D9D14 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D9D18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9D1C */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 027D9D1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027D9D20 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D9D24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9D28 */ Gambit_fn_028AD050(cpu);
|
|
/* 027D9D2C */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 027D9D2C */ rbrew_write32(cpu->mem, _t34, cpu->r[25]);
|
|
/* 027D9D30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9D34 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9D34 */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
|
|
/* 027D9D38 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9D3C */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9D3C */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 027D9D40 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9D44 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9D44 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 027D9D48 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9D48 */ rbrew_write32(cpu->mem, _t38, cpu->r[23]);
|
|
/* 027D9D4C */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9D4C */ rbrew_write32(cpu->mem, _t39, cpu->r[24]);
|
|
/* 027D9D50 */ Gambit_fn_027DA188(cpu);
|
|
/* 027D9D54 */ goto L_027D9DAC;
|
|
L_027D9D58: ; // 0x27d9d58
|
|
/* 027D9D58 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9D5C */ _t40 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9D5C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_027D9D60: ; // 0x27d9d60
|
|
/* 027D9D60 */ _t41 = cpu->r[30] + 0x00000004u;
|
|
/* 027D9D60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D9D64 */ _t42 = cpu->r[5] + 0x00000014u;
|
|
/* 027D9D64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027D9D68 */ cpu->ctr = cpu->r[7];
|
|
/* 027D9D6C */ cpu->r[3] = cpu->r[30];
|
|
/* 027D9D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9D74 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 027D9D74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027D9D78 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D9D7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9D80 */ Gambit_fn_028AD050(cpu);
|
|
/* 027D9D84 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027D9D84 */ rbrew_write32(cpu->mem, _t44, cpu->r[25]);
|
|
/* 027D9D88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9D8C */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9D8C */ rbrew_write32(cpu->mem, _t45, cpu->r[26]);
|
|
/* 027D9D90 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9D94 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9D94 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 027D9D98 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9D9C */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9D9C */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 027D9DA0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9DA0 */ rbrew_write32(cpu->mem, _t48, cpu->r[23]);
|
|
/* 027D9DA4 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9DA4 */ rbrew_write32(cpu->mem, _t49, cpu->r[24]);
|
|
/* 027D9DA8 */ Gambit_fn_027DA188(cpu);
|
|
L_027D9DAC: ; // 0x27d9dac
|
|
/* 027D9DAC */ /* nop */
|
|
/* 027D9DB0 */ _t50 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027D9DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027D9DB4 */ cpu->lr = cpu->r[0];
|
|
/* 027D9DB8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027D9DBC */ return;
|
|
}
|
|
|
|
// fn_027D9DC0 @ 0x27d9dc0
|
|
void Gambit_fn_027D9DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_027D9DC0: ; // 0x27d9dc0
|
|
/* 027D9DC0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027D9DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9DC0 */ cpu->r[1] = _t0;
|
|
/* 027D9DC4 */ /* nop */
|
|
/* 027D9DC8 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9DCC */ cpu->r[25] = cpu->r[9];
|
|
/* 027D9DD0 */ cpu->r[24] = cpu->r[8];
|
|
/* 027D9DD4 */ cpu->r[23] = cpu->r[7];
|
|
/* 027D9DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027D9DD8 */ cpu->r[31] = cpu->r[6];
|
|
/* 027D9DDC */ cpu->r[30] = cpu->r[5];
|
|
/* 027D9DE0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027D9DE4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027D9DE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D9DE8 */ cpu->r[29] = cpu->r[4];
|
|
/* 027D9DEC */ cpu->r[26] = cpu->r[10];
|
|
/* 027D9DF0 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 027D9DF0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9DF4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9DF4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9DF4 */ if (_t4) goto L_027D9ED4; else goto L_027D9DF8;
|
|
L_027D9DF8: ; // 0x27d9df8
|
|
/* 027D9DF8 */ _t5 = cpu->r[23] + 0x00000000u;
|
|
/* 027D9DF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027D9E00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9E00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D9E00 */ if (_t7) goto L_027D9ED4; else goto L_027D9E04;
|
|
L_027D9E04: ; // 0x27d9e04
|
|
/* 027D9E04 */ _t8 = cpu->r[28] + 0x00000034u;
|
|
/* 027D9E04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027D9E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027D9E0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9E0C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027D9E0C */ if (_t10) goto L_027D9E10; else goto L_027D9EDC;
|
|
L_027D9E10: ; // 0x27d9e10
|
|
/* 027D9E10 */ cpu->r[6] = 0x00000004u;
|
|
/* 027D9E14 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9E18 */ cpu->r[3] = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9E1C */ Gambit_fn_028023CC(cpu);
|
|
/* 027D9E20 */ _t11 = cpu->r[23] + 0x00000000u;
|
|
/* 027D9E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027D9E24 */ _t12 = cpu->r[23] + 0x00000008u;
|
|
/* 027D9E24 */ cpu->r[22] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027D9E28 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9E2C */ cpu->r[23] = cpu->r[22] + cpu->r[8];
|
|
/* 027D9E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[23]);
|
|
/* 027D9E34 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9E34 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9E34 */ if (_t14) goto L_027D9EDC; else goto L_027D9E38;
|
|
L_027D9E38: ; // 0x27d9e38
|
|
/* 027D9E38 */ _t15 = cpu->r[22] + 0x00000000u;
|
|
/* 027D9E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027D9E40 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9E40 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027D9E40 */ if (_t17) goto L_027D9E7C; else goto L_027D9E44;
|
|
L_027D9E44: ; // 0x27d9e44
|
|
/* 027D9E44 */ _t18 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9E44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027D9E48 */ _t19 = cpu->r[28] + 0x00000030u;
|
|
/* 027D9E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 027D9E50 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D9E50 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027D9E50 */ if (_t21) goto L_027D9E54; else goto L_027D9E6C;
|
|
L_027D9E54: ; // 0x27d9e54
|
|
/* 027D9E54 */ _t22 = cpu->r[28] + 0x00000034u;
|
|
/* 027D9E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D9E58 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9E5C */ _t23 = cpu->r[12] + cpu->r[0];
|
|
/* 027D9E5C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 027D9E60 */ _t24 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D9E64 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027D9E68 */ _t25 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027D9E68 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
L_027D9E6C: ; // 0x27d9e6c
|
|
/* 027D9E6C */ Gambit_fn_02980F6C(cpu);
|
|
/* 027D9E70 */ _t26 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9E70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027D9E74 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 027D9E78 */ _t27 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9E78 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
L_027D9E7C: ; // 0x27d9e7c
|
|
/* 027D9E7C */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 027D9E80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[23]);
|
|
/* 027D9E84 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9E84 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027D9E84 */ if (_t29) goto L_027D9E88; else goto L_027D9E38;
|
|
L_027D9E88: ; // 0x27d9e88
|
|
/* 027D9E88 */ _t30 = cpu->r[30] + 0x00000004u;
|
|
/* 027D9E88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027D9E8C */ _t31 = cpu->r[5] + 0x00000014u;
|
|
/* 027D9E8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027D9E90 */ cpu->ctr = cpu->r[7];
|
|
/* 027D9E94 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D9E98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9E9C */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 027D9E9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027D9EA0 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D9EA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9EA8 */ Gambit_fn_028AD050(cpu);
|
|
/* 027D9EAC */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9EAC */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
/* 027D9EB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9EB4 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9EB4 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 027D9EB8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9EBC */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9EBC */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 027D9EC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9EC4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9EC4 */ rbrew_write32(cpu->mem, _t36, cpu->r[24]);
|
|
/* 027D9EC8 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9EC8 */ rbrew_write32(cpu->mem, _t37, cpu->r[25]);
|
|
/* 027D9ECC */ Gambit_fn_027DA258(cpu);
|
|
/* 027D9ED0 */ goto L_027D9F24;
|
|
L_027D9ED4: ; // 0x27d9ed4
|
|
/* 027D9ED4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027D9ED8 */ _t38 = cpu->r[28] + 0x00000020u;
|
|
/* 027D9ED8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_027D9EDC: ; // 0x27d9edc
|
|
/* 027D9EDC */ _t39 = cpu->r[30] + 0x00000004u;
|
|
/* 027D9EDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027D9EE0 */ _t40 = cpu->r[5] + 0x00000014u;
|
|
/* 027D9EE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027D9EE4 */ cpu->ctr = cpu->r[7];
|
|
/* 027D9EE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D9EEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9EF0 */ _t41 = cpu->r[30] + 0x00000000u;
|
|
/* 027D9EF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027D9EF4 */ cpu->r[5] = cpu->r[28];
|
|
/* 027D9EF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9EFC */ Gambit_fn_028AD050(cpu);
|
|
/* 027D9F00 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 027D9F00 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 027D9F04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9F08 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 027D9F08 */ rbrew_write32(cpu->mem, _t43, cpu->r[26]);
|
|
/* 027D9F0C */ cpu->r[5] = cpu->r[29];
|
|
/* 027D9F10 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027D9F10 */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
|
|
/* 027D9F14 */ cpu->r[3] = cpu->r[28];
|
|
/* 027D9F18 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 027D9F18 */ rbrew_write32(cpu->mem, _t45, cpu->r[24]);
|
|
/* 027D9F1C */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 027D9F1C */ rbrew_write32(cpu->mem, _t46, cpu->r[25]);
|
|
/* 027D9F20 */ Gambit_fn_027DA258(cpu);
|
|
L_027D9F24: ; // 0x27d9f24
|
|
/* 027D9F24 */ /* nop */
|
|
/* 027D9F28 */ _t47 = cpu->r[1] + 0x00000054u;
|
|
/* 027D9F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027D9F2C */ cpu->lr = cpu->r[0];
|
|
/* 027D9F30 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027D9F34 */ return;
|
|
}
|
|
|
|
// fn_027D9F38 @ 0x27d9f38
|
|
void Gambit_fn_027D9F38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_027D9F38: ; // 0x27d9f38
|
|
/* 027D9F38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027D9F38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027D9F38 */ cpu->r[1] = _t0;
|
|
/* 027D9F3C */ /* nop */
|
|
/* 027D9F40 */ cpu->r[0] = cpu->lr;
|
|
/* 027D9F44 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D9F44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027D9F48 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027D9F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027D9F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027D9F50 */ cpu->r[31] = cpu->r[4];
|
|
/* 027D9F54 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9F54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027D9F54 */ if (_t4) goto L_027DA00C; else goto L_027D9F58;
|
|
L_027D9F58: ; // 0x27d9f58
|
|
/* 027D9F58 */ _t5 = cpu->r[3] + 0x00000034u;
|
|
/* 027D9F58 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027D9F5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9F60 */ cpu->r[30] = cpu->r[27] + cpu->r[0];
|
|
/* 027D9F64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 027D9F68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9F68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027D9F68 */ if (_t7) goto L_027DA00C; else goto L_027D9F6C;
|
|
L_027D9F6C: ; // 0x27d9f6c
|
|
/* 027D9F6C */ cpu->r[28] = 0x10110000u;
|
|
/* 027D9F70 */ cpu->r[28] = cpu->r[28] + 0xFFFFE9B8u;
|
|
L_027D9F74: ; // 0x27d9f74
|
|
/* 027D9F74 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027D9F74 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 027D9F78 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027D9F78 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 027D9F7C */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 027D9F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027D9F80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027D9F84 */ Gambit_fn_029807A8(cpu);
|
|
/* 027D9F88 */ cpu->r[29] = cpu->r[3];
|
|
/* 027D9F8C */ /* nop */
|
|
/* 027D9F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027D9F94 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9F94 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027D9F94 */ if (_t12) goto L_027DA000; else goto L_027D9F98;
|
|
L_027D9F98: ; // 0x27d9f98
|
|
/* 027D9F98 */ /* nop */
|
|
/* 027D9F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0xFFFFFFFFu);
|
|
/* 027D9FA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027D9FA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027D9FA0 */ if (_t14) goto L_027DA000; else goto L_027D9FA4;
|
|
L_027D9FA4: ; // 0x27d9fa4
|
|
/* 027D9FA4 */ _t15 = cpu->r[27] + 0x00000000u;
|
|
/* 027D9FA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027D9FA8 */ /* nop */
|
|
/* 027D9FAC */ cpu->r[4] = cpu->r[31];
|
|
/* 027D9FB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027D9FB4 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 027D9FB8 */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027D9FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027D9FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027D9FC0 */ cpu->r[12] = 0x00000000u;
|
|
/* 027D9FC4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027D9FC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027D9FC4 */ if (_t18) goto L_027D9FC8; else goto L_027D9FD4;
|
|
L_027D9FC8: ; // 0x27d9fc8
|
|
/* 027D9FC8 */ _t19 = cpu->r[30] + 0x00000024u;
|
|
/* 027D9FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027D9FCC */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027D9FD0 */ _t20 = cpu->r[8] + cpu->r[0];
|
|
/* 027D9FD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
L_027D9FD4: ; // 0x27d9fd4
|
|
/* 027D9FD4 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 027D9FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027D9FD8 */ _t22 = cpu->r[3] + 0x00000088u;
|
|
/* 027D9FD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027D9FDC */ _t23 = cpu->r[11] + 0x0000007Cu;
|
|
/* 027D9FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027D9FE0 */ cpu->ctr = cpu->r[0];
|
|
/* 027D9FE4 */ /* nop */
|
|
/* 027D9FE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027D9FEC */ /* nop */
|
|
/* 027D9FF0 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027D9FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027D9FF4 */ cpu->lr = cpu->r[0];
|
|
/* 027D9FF8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027D9FFC */ return;
|
|
L_027DA000: ; // 0x27da000
|
|
/* 027DA000 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 027DA004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[30]);
|
|
/* 027DA008 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA008 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027DA008 */ if (_t26) goto L_027DA00C; else goto L_027D9F74;
|
|
L_027DA00C: ; // 0x27da00c
|
|
/* 027DA00C */ /* nop */
|
|
/* 027DA010 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DA014 */ cpu->lr = cpu->r[0];
|
|
/* 027DA018 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DA01C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA020 */ return;
|
|
}
|
|
|
|
// fn_027DA024 @ 0x27da024
|
|
void Gambit_fn_027DA024(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_027DA024: ; // 0x27da024
|
|
/* 027DA024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA028 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA028 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DA028 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA028 */ goto L_027DA02C;
|
|
L_027DA02C: ; // 0x27da02c
|
|
/* 027DA02C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DA02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA030 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA030 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DA030 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA030 */ goto L_027DA034;
|
|
L_027DA034: ; // 0x27da034
|
|
/* 027DA034 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DA038 @ 0x27da038
|
|
void Gambit_fn_027DA038(CPUState* cpu) {
|
|
L_027DA038: ; // 0x27da038
|
|
/* 027DA038 */ return;
|
|
}
|
|
|
|
// fn_027DA03C @ 0x27da03c
|
|
void Gambit_fn_027DA03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027DA03C: ; // 0x27da03c
|
|
/* 027DA03C */ cpu->r[9] = 0x101D0000u;
|
|
/* 027DA040 */ _t0 = cpu->r[9] + 0xFFFFE33Cu;
|
|
/* 027DA040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DA040 */ cpu->r[9] = _t0;
|
|
/* 027DA044 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DA04C */ cpu->r[12] = cpu->r[12] + 0x000014ECu;
|
|
/* 027DA050 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA050 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DA050 */ if (_t2) goto L_027DA054; else goto L_027DA068;
|
|
L_027DA054: ; // 0x27da054
|
|
/* 027DA054 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DA058 */ cpu->r[0] = 0x00000001u;
|
|
/* 027DA05C */ cpu->r[7] = cpu->r[7] + 0xFFFFE9D0u;
|
|
/* 027DA060 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 027DA060 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA064 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027DA064 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_027DA068: ; // 0x27da068
|
|
/* 027DA068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027DA06C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA06C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA06C */ if (_t6) goto L_027DA070; else goto L_027DA078;
|
|
L_027DA070: ; // 0x27da070
|
|
/* 027DA070 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DA074 */ return;
|
|
L_027DA078: ; // 0x27da078
|
|
/* 027DA078 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027DA07C */ _t7 = cpu->r[7] + 0xFFFFE318u;
|
|
/* 027DA07C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA07C */ cpu->r[7] = _t7;
|
|
/* 027DA080 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027DA084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DA088 */ cpu->r[11] = cpu->r[11] + 0xFFFFE31Cu;
|
|
/* 027DA08C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA08C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA08C */ if (_t9) goto L_027DA090; else goto L_027DA0A4;
|
|
L_027DA090: ; // 0x27da090
|
|
/* 027DA090 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA094 */ cpu->r[9] = 0x00000001u;
|
|
/* 027DA098 */ cpu->r[0] = cpu->r[0] + 0xFFFFE9A8u;
|
|
/* 027DA09C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 027DA09C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027DA0A0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027DA0A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027DA0A4: ; // 0x27da0a4
|
|
/* 027DA0A4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027DA0A8 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 027DA0AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 027DA0B0 */ return;
|
|
}
|
|
|
|
// fn_027DA0B4 @ 0x27da0b4
|
|
void Gambit_fn_027DA0B4(CPUState* cpu) {
|
|
L_027DA0B4: ; // 0x27da0b4
|
|
/* 027DA0B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA0B8 */ return;
|
|
}
|
|
|
|
// fn_027DA0BC @ 0x27da0bc
|
|
void Gambit_fn_027DA0BC(CPUState* 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_027DA0BC: ; // 0x27da0bc
|
|
/* 027DA0BC */ cpu->r[0] = cpu->lr;
|
|
/* 027DA0C0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DA0C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DA0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA0C8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DA0C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DA0C8 */ cpu->r[1] = _t1;
|
|
/* 027DA0CC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA0CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DA0CC */ if (_t3) goto L_027DA0D0; else goto L_027DA0E0;
|
|
L_027DA0D0: ; // 0x27da0d0
|
|
/* 027DA0D0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027DA0D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA0DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA0DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA0DC */ if (_t5) goto L_027DA130; else goto L_027DA0E0;
|
|
L_027DA0E0: ; // 0x27da0e0
|
|
/* 027DA0E0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027DA0E4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA0E8 */ _t6 = cpu->r[3] + 0x00000020u;
|
|
/* 027DA0E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027DA0EC */ cpu->r[12] = cpu->r[12] + 0xFFFFEAECu;
|
|
/* 027DA0F0 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA0F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027DA0F4 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA0F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027DA0F8 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA0F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027DA0FC */ _t10 = cpu->r[3] + 0x00000024u;
|
|
/* 027DA0FC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027DA100 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA100 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DA104 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA104 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027DA108 */ cpu->r[12] = cpu->r[3] + 0x00000028u;
|
|
/* 027DA10C */ _t13 = cpu->r[3] + 0x00000018u;
|
|
/* 027DA10C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027DA110 */ cpu->r[9] = 0x00000002u;
|
|
/* 027DA114 */ cpu->r[0] = 0x00000001u;
|
|
/* 027DA118 */ _t14 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027DA118 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 027DA11C */ cpu->ctr = cpu->r[9];
|
|
/* 027DA120 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA120 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
L_027DA124: ; // 0x27da124
|
|
/* 027DA124 */ _t16 = cpu->r[12] + cpu->r[11];
|
|
/* 027DA124 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 027DA128 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DA12C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DA12C */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DA12C */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 027DA12C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DA12C */ if (_t19) goto L_027DA124; else goto L_027DA130;
|
|
L_027DA130: ; // 0x27da130
|
|
/* 027DA130 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA134 */ cpu->lr = cpu->r[0];
|
|
/* 027DA138 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA13C */ return;
|
|
}
|
|
|
|
// fn_027DA0C8 @ 0x27da0c8
|
|
void Gambit_fn_027DA0C8(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_027DA0C8: ; // 0x27da0c8
|
|
/* 027DA0C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DA0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA0C8 */ cpu->r[1] = _t0;
|
|
/* 027DA0CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA0CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DA0CC */ if (_t2) goto L_027DA0D0; else goto L_027DA0E0;
|
|
L_027DA0D0: ; // 0x27da0d0
|
|
/* 027DA0D0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027DA0D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA0DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA0DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DA0DC */ if (_t4) goto L_027DA130; else goto L_027DA0E0;
|
|
L_027DA0E0: ; // 0x27da0e0
|
|
/* 027DA0E0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027DA0E4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA0E8 */ _t5 = cpu->r[3] + 0x00000020u;
|
|
/* 027DA0E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027DA0EC */ cpu->r[12] = cpu->r[12] + 0xFFFFEAECu;
|
|
/* 027DA0F0 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA0F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027DA0F4 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA0F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027DA0F8 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA0F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027DA0FC */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 027DA0FC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 027DA100 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA100 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027DA104 */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA104 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DA108 */ cpu->r[12] = cpu->r[3] + 0x00000028u;
|
|
/* 027DA10C */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 027DA10C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027DA110 */ cpu->r[9] = 0x00000002u;
|
|
/* 027DA114 */ cpu->r[0] = 0x00000001u;
|
|
/* 027DA118 */ _t13 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027DA118 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027DA11C */ cpu->ctr = cpu->r[9];
|
|
/* 027DA120 */ _t14 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA120 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_027DA124: ; // 0x27da124
|
|
/* 027DA124 */ _t15 = cpu->r[12] + cpu->r[11];
|
|
/* 027DA124 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 027DA128 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DA12C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DA12C */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DA12C */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 027DA12C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA12C */ if (_t18) goto L_027DA124; else goto L_027DA130;
|
|
L_027DA130: ; // 0x27da130
|
|
/* 027DA130 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA134 */ cpu->lr = cpu->r[0];
|
|
/* 027DA138 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA13C */ return;
|
|
}
|
|
|
|
// fn_027DA140 @ 0x27da140
|
|
void Gambit_fn_027DA140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA140: ; // 0x27da140
|
|
/* 027DA140 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA144 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA144 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA144 */ cpu->r[1] = _t0;
|
|
/* 027DA148 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA148 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA14C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA150 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA150 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA154 */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA15C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA15C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA15C */ if (_t5) goto L_027DA164; else goto L_027DA160;
|
|
L_027DA160: ; // 0x27da160
|
|
/* 027DA160 */ Gambit_fn_028AC5D8(cpu);
|
|
L_027DA164: ; // 0x27da164
|
|
/* 027DA164 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA16C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA16C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA16C */ if (_t8) goto L_027DA174; else goto L_027DA170;
|
|
L_027DA170: ; // 0x27da170
|
|
/* 027DA170 */ Gambit_fn_028AC5D8(cpu);
|
|
L_027DA174: ; // 0x27da174
|
|
/* 027DA174 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA178 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA17C */ cpu->lr = cpu->r[0];
|
|
/* 027DA180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA184 */ return;
|
|
}
|
|
|
|
// fn_027DA144 @ 0x27da144
|
|
void Gambit_fn_027DA144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA144: ; // 0x27da144
|
|
/* 027DA144 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA144 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA144 */ cpu->r[1] = _t0;
|
|
/* 027DA148 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA148 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA14C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA150 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA150 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA154 */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA15C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA15C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA15C */ if (_t5) goto L_027DA164; else goto L_027DA160;
|
|
L_027DA160: ; // 0x27da160
|
|
/* 027DA160 */ Gambit_fn_028AC5D8(cpu);
|
|
L_027DA164: ; // 0x27da164
|
|
/* 027DA164 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA16C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA16C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA16C */ if (_t8) goto L_027DA174; else goto L_027DA170;
|
|
L_027DA170: ; // 0x27da170
|
|
/* 027DA170 */ Gambit_fn_028AC5D8(cpu);
|
|
L_027DA174: ; // 0x27da174
|
|
/* 027DA174 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA178 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA17C */ cpu->lr = cpu->r[0];
|
|
/* 027DA180 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA184 */ return;
|
|
}
|
|
|
|
// fn_027DA188 @ 0x27da188
|
|
void Gambit_fn_027DA188(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027DA188: ; // 0x27da188
|
|
/* 027DA188 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA18C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027DA18C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA18C */ cpu->r[1] = _t0;
|
|
/* 027DA190 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA190 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DA194 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 027DA194 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA198 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA198 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA19C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA1A0 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA1A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA1A4 */ _t5 = cpu->r[12] + 0xFFFF92F4u;
|
|
/* 027DA1A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA1A8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DA1AC */ _t6 = cpu->r[12] + 0x00000158u;
|
|
/* 027DA1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DA1B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA1B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA1B8 */ if (_t8) goto L_027DA23C; else goto L_027DA1BC;
|
|
L_027DA1BC: ; // 0x27da1bc
|
|
/* 027DA1BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA1C0 */ Gambit_fn_028AD0C0(cpu);
|
|
/* 027DA1C4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA1C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA1C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA1CC */ Gambit_fn_028A99FC(cpu);
|
|
/* 027DA1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA1D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1D4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA1D4 */ if (_t11) goto L_027DA1E4; else goto L_027DA1D8;
|
|
L_027DA1D8: ; // 0x27da1d8
|
|
/* 027DA1D8 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA1E0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1E0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA1E0 */ if (_t14) goto L_027DA1E4; else goto L_027DA1F0;
|
|
L_027DA1E4: ; // 0x27da1e4
|
|
/* 027DA1E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA1E8 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA1E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 027DA1EC */ goto L_027DA23C;
|
|
L_027DA1F0: ; // 0x27da1f0
|
|
/* 027DA1F0 */ _t16 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA1F8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1F8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA1F8 */ if (_t18) goto L_027DA1FC; else goto L_027DA21C;
|
|
L_027DA1FC: ; // 0x27da1fc
|
|
/* 027DA1FC */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA200 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA204 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA208 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA208 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 027DA20C */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA210 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 027DA210 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[6]);
|
|
/* 027DA214 */ Gambit_fn_028B1BF8(cpu);
|
|
/* 027DA218 */ goto L_027DA238;
|
|
L_027DA21C: ; // 0x27da21c
|
|
/* 027DA21C */ cpu->r[8] = 0x00000001u;
|
|
/* 027DA220 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA224 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA228 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA230 */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 027DA230 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
/* 027DA234 */ Gambit_fn_028B1BF8(cpu);
|
|
L_027DA238: ; // 0x27da238
|
|
/* 027DA238 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA238 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
L_027DA23C: ; // 0x27da23c
|
|
/* 027DA23C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA23C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DA240 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DA244 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 027DA244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DA248 */ cpu->lr = cpu->r[0];
|
|
/* 027DA24C */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA24C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DA250 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027DA254 */ return;
|
|
}
|
|
|
|
// fn_027DA18C @ 0x27da18c
|
|
void Gambit_fn_027DA18C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027DA18C: ; // 0x27da18c
|
|
/* 027DA18C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027DA18C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA18C */ cpu->r[1] = _t0;
|
|
/* 027DA190 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA190 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DA194 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 027DA194 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA198 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA198 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA19C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA1A0 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA1A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA1A4 */ _t5 = cpu->r[12] + 0xFFFF92F4u;
|
|
/* 027DA1A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA1A8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DA1AC */ _t6 = cpu->r[12] + 0x00000158u;
|
|
/* 027DA1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DA1B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA1B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA1B8 */ if (_t8) goto L_027DA23C; else goto L_027DA1BC;
|
|
L_027DA1BC: ; // 0x27da1bc
|
|
/* 027DA1BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA1C0 */ Gambit_fn_028AD0C0(cpu);
|
|
/* 027DA1C4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA1C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA1C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA1CC */ Gambit_fn_028A99FC(cpu);
|
|
/* 027DA1D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA1D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1D4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA1D4 */ if (_t11) goto L_027DA1E4; else goto L_027DA1D8;
|
|
L_027DA1D8: ; // 0x27da1d8
|
|
/* 027DA1D8 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA1E0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1E0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA1E0 */ if (_t14) goto L_027DA1E4; else goto L_027DA1F0;
|
|
L_027DA1E4: ; // 0x27da1e4
|
|
/* 027DA1E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA1E8 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA1E8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 027DA1EC */ goto L_027DA23C;
|
|
L_027DA1F0: ; // 0x27da1f0
|
|
/* 027DA1F0 */ _t16 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA1F8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA1F8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA1F8 */ if (_t18) goto L_027DA1FC; else goto L_027DA21C;
|
|
L_027DA1FC: ; // 0x27da1fc
|
|
/* 027DA1FC */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA200 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA204 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA208 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA208 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 027DA20C */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA210 */ _t20 = cpu->r[31] + 0x00000028u;
|
|
/* 027DA210 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[6]);
|
|
/* 027DA214 */ Gambit_fn_028B1BF8(cpu);
|
|
/* 027DA218 */ goto L_027DA238;
|
|
L_027DA21C: ; // 0x27da21c
|
|
/* 027DA21C */ cpu->r[8] = 0x00000001u;
|
|
/* 027DA220 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA224 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA228 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA230 */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 027DA230 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
/* 027DA234 */ Gambit_fn_028B1BF8(cpu);
|
|
L_027DA238: ; // 0x27da238
|
|
/* 027DA238 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA238 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
L_027DA23C: ; // 0x27da23c
|
|
/* 027DA23C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA23C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DA240 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DA244 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 027DA244 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DA248 */ cpu->lr = cpu->r[0];
|
|
/* 027DA24C */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA24C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DA250 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027DA254 */ return;
|
|
}
|
|
|
|
// fn_027DA258 @ 0x27da258
|
|
void Gambit_fn_027DA258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DA258: ; // 0x27da258
|
|
/* 027DA258 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA25C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027DA25C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA25C */ cpu->r[1] = _t0;
|
|
/* 027DA260 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA260 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DA264 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 027DA264 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA268 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA268 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA26C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA270 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 027DA270 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA274 */ _t5 = cpu->r[12] + 0xFFFF9028u;
|
|
/* 027DA274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA278 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DA27C */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 027DA27C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DA284 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA288 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA288 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA288 */ if (_t8) goto L_027DA314; else goto L_027DA28C;
|
|
L_027DA28C: ; // 0x27da28c
|
|
/* 027DA28C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA290 */ Gambit_fn_028B5D70(cpu);
|
|
/* 027DA294 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA298 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA29C */ Gambit_fn_028A99FC(cpu);
|
|
/* 027DA2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA2A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA2A4 */ if (_t11) goto L_027DA2B4; else goto L_027DA2A8;
|
|
L_027DA2A8: ; // 0x27da2a8
|
|
/* 027DA2A8 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA2B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA2B0 */ if (_t14) goto L_027DA2B4; else goto L_027DA2C0;
|
|
L_027DA2B4: ; // 0x27da2b4
|
|
/* 027DA2B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA2B8 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA2B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 027DA2BC */ goto L_027DA314;
|
|
L_027DA2C0: ; // 0x27da2c0
|
|
/* 027DA2C0 */ _t16 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA2C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA2C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA2C8 */ if (_t18) goto L_027DA2CC; else goto L_027DA2F0;
|
|
L_027DA2CC: ; // 0x27da2cc
|
|
/* 027DA2CC */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA2D0 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA2D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 027DA2D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA2D8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA2DC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA2DC */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 027DA2E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA2E4 */ _t21 = cpu->r[31] + 0x00000029u;
|
|
/* 027DA2E4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[6]);
|
|
/* 027DA2E8 */ Gambit_fn_028B3FAC(cpu);
|
|
/* 027DA2EC */ goto L_027DA310;
|
|
L_027DA2F0: ; // 0x27da2f0
|
|
/* 027DA2F0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027DA2F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA2F8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA2FC */ _t22 = cpu->r[31] + 0x00000029u;
|
|
/* 027DA2FC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 027DA300 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA304 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA308 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA308 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 027DA30C */ Gambit_fn_028B3FAC(cpu);
|
|
L_027DA310: ; // 0x27da310
|
|
/* 027DA310 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA310 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
L_027DA314: ; // 0x27da314
|
|
/* 027DA314 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DA318 */ _t26 = cpu->r[1] + 0x00000044u;
|
|
/* 027DA318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DA31C */ _t27 = cpu->r[1] + 0x00000038u;
|
|
/* 027DA31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DA320 */ cpu->lr = cpu->r[0];
|
|
/* 027DA324 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DA328 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027DA32C */ return;
|
|
}
|
|
|
|
// fn_027DA25C @ 0x27da25c
|
|
void Gambit_fn_027DA25C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DA25C: ; // 0x27da25c
|
|
/* 027DA25C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027DA25C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA25C */ cpu->r[1] = _t0;
|
|
/* 027DA260 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA260 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DA264 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 027DA264 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA268 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA268 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA26C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA270 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 027DA270 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA274 */ _t5 = cpu->r[12] + 0xFFFF9028u;
|
|
/* 027DA274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA278 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DA27C */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 027DA27C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DA284 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA288 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA288 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA288 */ if (_t8) goto L_027DA314; else goto L_027DA28C;
|
|
L_027DA28C: ; // 0x27da28c
|
|
/* 027DA28C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA290 */ Gambit_fn_028B5D70(cpu);
|
|
/* 027DA294 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA298 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA29C */ Gambit_fn_028A99FC(cpu);
|
|
/* 027DA2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA2A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA2A4 */ if (_t11) goto L_027DA2B4; else goto L_027DA2A8;
|
|
L_027DA2A8: ; // 0x27da2a8
|
|
/* 027DA2A8 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA2B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA2B0 */ if (_t14) goto L_027DA2B4; else goto L_027DA2C0;
|
|
L_027DA2B4: ; // 0x27da2b4
|
|
/* 027DA2B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA2B8 */ _t15 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA2B8 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 027DA2BC */ goto L_027DA314;
|
|
L_027DA2C0: ; // 0x27da2c0
|
|
/* 027DA2C0 */ _t16 = cpu->r[3] + 0x00000014u;
|
|
/* 027DA2C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA2C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA2C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA2C8 */ if (_t18) goto L_027DA2CC; else goto L_027DA2F0;
|
|
L_027DA2CC: ; // 0x27da2cc
|
|
/* 027DA2CC */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA2D0 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA2D0 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 027DA2D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA2D8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA2DC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA2DC */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 027DA2E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA2E4 */ _t21 = cpu->r[31] + 0x00000029u;
|
|
/* 027DA2E4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[6]);
|
|
/* 027DA2E8 */ Gambit_fn_028B3FAC(cpu);
|
|
/* 027DA2EC */ goto L_027DA310;
|
|
L_027DA2F0: ; // 0x27da2f0
|
|
/* 027DA2F0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027DA2F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DA2F8 */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA2FC */ _t22 = cpu->r[31] + 0x00000029u;
|
|
/* 027DA2FC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 027DA300 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DA304 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA308 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA308 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 027DA30C */ Gambit_fn_028B3FAC(cpu);
|
|
L_027DA310: ; // 0x27da310
|
|
/* 027DA310 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA310 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
L_027DA314: ; // 0x27da314
|
|
/* 027DA314 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 027DA314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DA318 */ _t26 = cpu->r[1] + 0x00000044u;
|
|
/* 027DA318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DA31C */ _t27 = cpu->r[1] + 0x00000038u;
|
|
/* 027DA31C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DA320 */ cpu->lr = cpu->r[0];
|
|
/* 027DA324 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DA324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DA328 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027DA32C */ return;
|
|
}
|
|
|
|
// fn_027DA330 @ 0x27da330
|
|
void Gambit_fn_027DA330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DA330: ; // 0x27da330
|
|
/* 027DA330 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA334 */ cpu->r[1] = _t0;
|
|
/* 027DA338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA338 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA33C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA33C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DA340 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA348 */ _t4 = cpu->r[30] + 0x00000014u;
|
|
/* 027DA348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DA34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA350 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DA354 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA354 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA354 */ if (_t6) goto L_027DA360; else goto L_027DA358;
|
|
L_027DA358: ; // 0x27da358
|
|
/* 027DA358 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA35C */ Gambit_fn_028AC004(cpu);
|
|
L_027DA360: ; // 0x27da360
|
|
/* 027DA360 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027DA360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA368 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA368 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA368 */ if (_t9) goto L_027DA374; else goto L_027DA36C;
|
|
L_027DA36C: ; // 0x27da36c
|
|
/* 027DA36C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA370 */ Gambit_fn_028AC004(cpu);
|
|
L_027DA374: ; // 0x27da374
|
|
/* 027DA374 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA378 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA378 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA37C */ cpu->lr = cpu->r[0];
|
|
/* 027DA380 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA384 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA388 */ return;
|
|
}
|
|
|
|
// fn_027DA334 @ 0x27da334
|
|
void Gambit_fn_027DA334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DA334: ; // 0x27da334
|
|
/* 027DA334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA334 */ cpu->r[1] = _t0;
|
|
/* 027DA338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA338 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA33C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA33C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DA340 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA348 */ _t4 = cpu->r[30] + 0x00000014u;
|
|
/* 027DA348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DA34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA350 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DA354 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA354 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA354 */ if (_t6) goto L_027DA360; else goto L_027DA358;
|
|
L_027DA358: ; // 0x27da358
|
|
/* 027DA358 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA35C */ Gambit_fn_028AC004(cpu);
|
|
L_027DA360: ; // 0x27da360
|
|
/* 027DA360 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027DA360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA368 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA368 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA368 */ if (_t9) goto L_027DA374; else goto L_027DA36C;
|
|
L_027DA36C: ; // 0x27da36c
|
|
/* 027DA36C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA370 */ Gambit_fn_028AC004(cpu);
|
|
L_027DA374: ; // 0x27da374
|
|
/* 027DA374 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA378 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA378 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA37C */ cpu->lr = cpu->r[0];
|
|
/* 027DA380 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA380 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA384 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA388 */ return;
|
|
}
|
|
|
|
// fn_027DA38C @ 0x27da38c
|
|
void Gambit_fn_027DA38C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DA38C: ; // 0x27da38c
|
|
/* 027DA38C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027DA38C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA38C */ cpu->r[1] = _t0;
|
|
/* 027DA390 */ /* nop */
|
|
/* 027DA394 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA398 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA398 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027DA39C */ cpu->r[29] = cpu->r[4];
|
|
/* 027DA3A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027DA3A4 */ _t2 = cpu->r[28] + 0x00000018u;
|
|
/* 027DA3A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DA3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA3AC */ cpu->r[30] = cpu->r[5];
|
|
/* 027DA3B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA3B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DA3B0 */ if (_t4) goto L_027DA404; else goto L_027DA3B4;
|
|
L_027DA3B4: ; // 0x27da3b4
|
|
/* 027DA3B4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 027DA3B8 */ _t5 = cpu->r[27] + 0xFFFF9028u;
|
|
/* 027DA3B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA3BC */ _t6 = cpu->r[11] + 0x00000018u;
|
|
/* 027DA3BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA3C0 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 027DA3C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA3C4 */ Gambit_fn_028AC54C(cpu);
|
|
/* 027DA3C8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA3CC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA3CC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027DA3D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFEA90u;
|
|
/* 027DA3D4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA3D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027DA3D8 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DA3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA3DC */ _t11 = cpu->r[27] + 0xFFFF9028u;
|
|
/* 027DA3DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA3E0 */ cpu->ctr = cpu->r[0];
|
|
/* 027DA3E4 */ _t12 = cpu->r[9] + 0x00000018u;
|
|
/* 027DA3E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA3E8 */ cpu->r[6] = cpu->r[30];
|
|
/* 027DA3EC */ cpu->r[5] = cpu->r[29];
|
|
/* 027DA3F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DA3F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DA3F8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DA3FC */ _t13 = cpu->r[28] + 0x00000018u;
|
|
/* 027DA3FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DA400 */ Gambit_fn_028B4BFC(cpu);
|
|
L_027DA404: ; // 0x27da404
|
|
/* 027DA404 */ /* nop */
|
|
/* 027DA408 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DA408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DA40C */ cpu->lr = cpu->r[0];
|
|
/* 027DA410 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DA414 */ return;
|
|
}
|
|
|
|
// fn_027DA418 @ 0x27da418
|
|
void Gambit_fn_027DA418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA418: ; // 0x27da418
|
|
/* 027DA418 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA41C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA41C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA41C */ cpu->r[1] = _t0;
|
|
/* 027DA420 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA420 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA424 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA428 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA428 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA42C */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA42C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA434 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA434 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA434 */ if (_t5) goto L_027DA43C; else goto L_027DA438;
|
|
L_027DA438: ; // 0x27da438
|
|
/* 027DA438 */ Gambit_fn_028AC110(cpu);
|
|
L_027DA43C: ; // 0x27da43c
|
|
/* 027DA43C */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA43C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA444 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA444 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA444 */ if (_t8) goto L_027DA44C; else goto L_027DA448;
|
|
L_027DA448: ; // 0x27da448
|
|
/* 027DA448 */ Gambit_fn_028AC110(cpu);
|
|
L_027DA44C: ; // 0x27da44c
|
|
/* 027DA44C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA450 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA454 */ cpu->lr = cpu->r[0];
|
|
/* 027DA458 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA45C */ return;
|
|
}
|
|
|
|
// fn_027DA41C @ 0x27da41c
|
|
void Gambit_fn_027DA41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA41C: ; // 0x27da41c
|
|
/* 027DA41C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA41C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA41C */ cpu->r[1] = _t0;
|
|
/* 027DA420 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA420 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA424 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA428 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA428 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA42C */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA42C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA434 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA434 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA434 */ if (_t5) goto L_027DA43C; else goto L_027DA438;
|
|
L_027DA438: ; // 0x27da438
|
|
/* 027DA438 */ Gambit_fn_028AC110(cpu);
|
|
L_027DA43C: ; // 0x27da43c
|
|
/* 027DA43C */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA43C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA444 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA444 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA444 */ if (_t8) goto L_027DA44C; else goto L_027DA448;
|
|
L_027DA448: ; // 0x27da448
|
|
/* 027DA448 */ Gambit_fn_028AC110(cpu);
|
|
L_027DA44C: ; // 0x27da44c
|
|
/* 027DA44C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA450 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA454 */ cpu->lr = cpu->r[0];
|
|
/* 027DA458 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA45C */ return;
|
|
}
|
|
|
|
// fn_027DA460 @ 0x27da460
|
|
void Gambit_fn_027DA460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DA460: ; // 0x27da460
|
|
/* 027DA460 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA464 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA464 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA464 */ cpu->r[1] = _t0;
|
|
/* 027DA468 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA468 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA46C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA46C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DA470 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA474 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA474 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA478 */ _t4 = cpu->r[30] + 0x00000014u;
|
|
/* 027DA478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DA47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA480 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DA484 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA484 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA484 */ if (_t6) goto L_027DA490; else goto L_027DA488;
|
|
L_027DA488: ; // 0x27da488
|
|
/* 027DA488 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA48C */ Gambit_fn_028AC0C8(cpu);
|
|
L_027DA490: ; // 0x27da490
|
|
/* 027DA490 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027DA490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA498 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA498 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA498 */ if (_t9) goto L_027DA4A4; else goto L_027DA49C;
|
|
L_027DA49C: ; // 0x27da49c
|
|
/* 027DA49C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA4A0 */ Gambit_fn_028AC0C8(cpu);
|
|
L_027DA4A4: ; // 0x27da4a4
|
|
/* 027DA4A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA4A8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA4A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA4AC */ cpu->lr = cpu->r[0];
|
|
/* 027DA4B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA4B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA4B8 */ return;
|
|
}
|
|
|
|
// fn_027DA464 @ 0x27da464
|
|
void Gambit_fn_027DA464(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DA464: ; // 0x27da464
|
|
/* 027DA464 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA464 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA464 */ cpu->r[1] = _t0;
|
|
/* 027DA468 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA468 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA46C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA46C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DA470 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA474 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA474 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA478 */ _t4 = cpu->r[30] + 0x00000014u;
|
|
/* 027DA478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DA47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA480 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DA484 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA484 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA484 */ if (_t6) goto L_027DA490; else goto L_027DA488;
|
|
L_027DA488: ; // 0x27da488
|
|
/* 027DA488 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA48C */ Gambit_fn_028AC0C8(cpu);
|
|
L_027DA490: ; // 0x27da490
|
|
/* 027DA490 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027DA490 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DA494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA498 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA498 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA498 */ if (_t9) goto L_027DA4A4; else goto L_027DA49C;
|
|
L_027DA49C: ; // 0x27da49c
|
|
/* 027DA49C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA4A0 */ Gambit_fn_028AC0C8(cpu);
|
|
L_027DA4A4: ; // 0x27da4a4
|
|
/* 027DA4A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA4A8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA4A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA4AC */ cpu->lr = cpu->r[0];
|
|
/* 027DA4B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA4B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA4B8 */ return;
|
|
}
|
|
|
|
// fn_027DA4BC @ 0x27da4bc
|
|
void Gambit_fn_027DA4BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA4BC: ; // 0x27da4bc
|
|
/* 027DA4BC */ cpu->r[0] = cpu->lr;
|
|
/* 027DA4C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA4C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA4C0 */ cpu->r[1] = _t0;
|
|
/* 027DA4C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA4C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA4CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA4D0 */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA4D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA4D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA4D8 */ if (_t5) goto L_027DA4E0; else goto L_027DA4DC;
|
|
L_027DA4DC: ; // 0x27da4dc
|
|
/* 027DA4DC */ Gambit_fn_028AC088(cpu);
|
|
L_027DA4E0: ; // 0x27da4e0
|
|
/* 027DA4E0 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA4E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA4E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA4E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA4E8 */ if (_t8) goto L_027DA4F0; else goto L_027DA4EC;
|
|
L_027DA4EC: ; // 0x27da4ec
|
|
/* 027DA4EC */ Gambit_fn_028AC088(cpu);
|
|
L_027DA4F0: ; // 0x27da4f0
|
|
/* 027DA4F0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA4F4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA4F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA4FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA500 */ return;
|
|
}
|
|
|
|
// fn_027DA4C0 @ 0x27da4c0
|
|
void Gambit_fn_027DA4C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DA4C0: ; // 0x27da4c0
|
|
/* 027DA4C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA4C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA4C0 */ cpu->r[1] = _t0;
|
|
/* 027DA4C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA4C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA4CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DA4D0 */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 027DA4D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DA4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA4D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA4D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA4D8 */ if (_t5) goto L_027DA4E0; else goto L_027DA4DC;
|
|
L_027DA4DC: ; // 0x27da4dc
|
|
/* 027DA4DC */ Gambit_fn_028AC088(cpu);
|
|
L_027DA4E0: ; // 0x27da4e0
|
|
/* 027DA4E0 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 027DA4E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA4E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA4E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA4E8 */ if (_t8) goto L_027DA4F0; else goto L_027DA4EC;
|
|
L_027DA4EC: ; // 0x27da4ec
|
|
/* 027DA4EC */ Gambit_fn_028AC088(cpu);
|
|
L_027DA4F0: ; // 0x27da4f0
|
|
/* 027DA4F0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA4F4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA4F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DA4F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA4FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA500 */ return;
|
|
}
|
|
|
|
// fn_027DA508 @ 0x27da508
|
|
void Gambit_fn_027DA508(CPUState* cpu) {
|
|
uint32_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_027DA508: ; // 0x27da508
|
|
/* 027DA508 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA508 */ cpu->r[1] = _t0;
|
|
/* 027DA50C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA50C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DA510 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA510 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA514 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA514 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027DA518 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA518 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DA51C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA51C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DA520 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA524 */ _t6 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA528 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA52C */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA534 */ cpu->r[28] = cpu->r[6];
|
|
/* 027DA538 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA538 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA538 */ if (_t8) goto L_027DA558; else goto L_027DA53C;
|
|
L_027DA53C: ; // 0x27da53c
|
|
/* 027DA53C */ _t9 = cpu->r[29] + 0x00000028u;
|
|
/* 027DA53C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027DA540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA544 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA544 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA544 */ if (_t11) goto L_027DA558; else goto L_027DA548;
|
|
L_027DA548: ; // 0x27da548
|
|
/* 027DA548 */ cpu->r[6] = cpu->r[28];
|
|
/* 027DA54C */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA550 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA554 */ Gambit_fn_028AC35C(cpu);
|
|
L_027DA558: ; // 0x27da558
|
|
/* 027DA558 */ _t12 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA558 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA560 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA560 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA560 */ if (_t14) goto L_027DA580; else goto L_027DA564;
|
|
L_027DA564: ; // 0x27da564
|
|
/* 027DA564 */ _t15 = cpu->r[29] + 0x00000029u;
|
|
/* 027DA564 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027DA568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA56C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA56C */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA56C */ if (_t17) goto L_027DA580; else goto L_027DA570;
|
|
L_027DA570: ; // 0x27da570
|
|
/* 027DA570 */ cpu->r[6] = cpu->r[28];
|
|
/* 027DA574 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA578 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA57C */ Gambit_fn_028AC35C(cpu);
|
|
L_027DA580: ; // 0x27da580
|
|
/* 027DA580 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA580 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA584 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA584 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA588 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA58C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA58C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DA590 */ cpu->lr = cpu->r[0];
|
|
/* 027DA594 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DA598 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA59C */ return;
|
|
}
|
|
|
|
// fn_027DA5A4 @ 0x27da5a4
|
|
void Gambit_fn_027DA5A4(CPUState* 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_027DA5A4: ; // 0x27da5a4
|
|
/* 027DA5A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA5A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA5A4 */ cpu->r[1] = _t0;
|
|
/* 027DA5A8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA5A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA5AC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA5AC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DA5B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA5B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA5B4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA5B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA5B8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA5BC */ _t5 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA5C0 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA5C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA5CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA5CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA5CC */ if (_t7) goto L_027DA5E8; else goto L_027DA5D0;
|
|
L_027DA5D0: ; // 0x27da5d0
|
|
/* 027DA5D0 */ _t8 = cpu->r[29] + 0x00000028u;
|
|
/* 027DA5D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027DA5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DA5D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA5D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA5D8 */ if (_t10) goto L_027DA5E8; else goto L_027DA5DC;
|
|
L_027DA5DC: ; // 0x27da5dc
|
|
/* 027DA5DC */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA5E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA5E4 */ Gambit_fn_028AC374(cpu);
|
|
L_027DA5E8: ; // 0x27da5e8
|
|
/* 027DA5E8 */ _t11 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA5E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA5F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA5F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DA5F0 */ if (_t13) goto L_027DA60C; else goto L_027DA5F4;
|
|
L_027DA5F4: ; // 0x27da5f4
|
|
/* 027DA5F4 */ _t14 = cpu->r[29] + 0x00000029u;
|
|
/* 027DA5F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027DA5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA5FC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA5FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DA5FC */ if (_t16) goto L_027DA60C; else goto L_027DA600;
|
|
L_027DA600: ; // 0x27da600
|
|
/* 027DA600 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA604 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA608 */ Gambit_fn_028AC374(cpu);
|
|
L_027DA60C: ; // 0x27da60c
|
|
/* 027DA60C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA60C */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DA610 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA614 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA614 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA618 */ cpu->lr = cpu->r[0];
|
|
/* 027DA61C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA620 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA624 */ return;
|
|
}
|
|
|
|
// fn_027DA628 @ 0x27da628
|
|
void Gambit_fn_027DA628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DA628: ; // 0x27da628
|
|
/* 027DA628 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA62C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA62C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA62C */ cpu->r[1] = _t0;
|
|
/* 027DA630 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA630 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA634 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA634 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DA638 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA638 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA63C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA63C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA640 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA644 */ _t5 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA648 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA650 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA654 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA654 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA654 */ if (_t7) goto L_027DA664; else goto L_027DA658;
|
|
L_027DA658: ; // 0x27da658
|
|
/* 027DA658 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA65C */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA660 */ Gambit_fn_028AC38C(cpu);
|
|
L_027DA664: ; // 0x27da664
|
|
/* 027DA664 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DA668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA66C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA66C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA66C */ if (_t10) goto L_027DA67C; else goto L_027DA670;
|
|
L_027DA670: ; // 0x27da670
|
|
/* 027DA670 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA674 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA678 */ Gambit_fn_028AC38C(cpu);
|
|
L_027DA67C: ; // 0x27da67c
|
|
/* 027DA67C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA67C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA680 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA684 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DA688 */ cpu->lr = cpu->r[0];
|
|
/* 027DA68C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA68C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DA690 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA694 */ return;
|
|
}
|
|
|
|
// fn_027DA62C @ 0x27da62c
|
|
void Gambit_fn_027DA62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DA62C: ; // 0x27da62c
|
|
/* 027DA62C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA62C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA62C */ cpu->r[1] = _t0;
|
|
/* 027DA630 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA630 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA634 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA634 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DA638 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA638 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA63C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA63C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA640 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA644 */ _t5 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA648 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA650 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA654 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA654 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA654 */ if (_t7) goto L_027DA664; else goto L_027DA658;
|
|
L_027DA658: ; // 0x27da658
|
|
/* 027DA658 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA65C */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA660 */ Gambit_fn_028AC38C(cpu);
|
|
L_027DA664: ; // 0x27da664
|
|
/* 027DA664 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DA668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA66C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA66C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA66C */ if (_t10) goto L_027DA67C; else goto L_027DA670;
|
|
L_027DA670: ; // 0x27da670
|
|
/* 027DA670 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA674 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA678 */ Gambit_fn_028AC38C(cpu);
|
|
L_027DA67C: ; // 0x27da67c
|
|
/* 027DA67C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA67C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA680 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA684 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DA688 */ cpu->lr = cpu->r[0];
|
|
/* 027DA68C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA68C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DA690 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA694 */ return;
|
|
}
|
|
|
|
// fn_027DA69C @ 0x27da69c
|
|
void Gambit_fn_027DA69C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DA69C: ; // 0x27da69c
|
|
/* 027DA69C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA69C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA69C */ cpu->r[1] = _t0;
|
|
/* 027DA6A0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA6A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DA6A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DA6AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DA6B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DA6B4 */ _t5 = cpu->r[29] + 0x00000014u;
|
|
/* 027DA6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DA6B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DA6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DA6C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA6C4 */ if (_t7) goto L_027DA6D4; else goto L_027DA6C8;
|
|
L_027DA6C8: ; // 0x27da6c8
|
|
/* 027DA6C8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6D0 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6D4: ; // 0x27da6d4
|
|
/* 027DA6D4 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 027DA6D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA6DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA6DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA6DC */ if (_t10) goto L_027DA6EC; else goto L_027DA6E0;
|
|
L_027DA6E0: ; // 0x27da6e0
|
|
/* 027DA6E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DA6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA6E8 */ Gambit_fn_028AC3E4(cpu);
|
|
L_027DA6EC: ; // 0x27da6ec
|
|
/* 027DA6EC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA6EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DA6F0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DA6F4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DA6FC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DA700 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA704 */ return;
|
|
}
|
|
|
|
// fn_027DA70C @ 0x27da70c
|
|
void Gambit_fn_027DA70C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027DA70C: ; // 0x27da70c
|
|
/* 027DA70C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DA70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA70C */ cpu->r[1] = _t0;
|
|
/* 027DA710 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA710 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027DA714 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA714 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA718 */ /* nop */
|
|
/* 027DA71C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027DA71C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027DA720 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA724 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA724 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DA728 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DA728 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DA72C */ _t6 = cpu->r[30] + 0x00000014u;
|
|
/* 027DA72C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA730 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DA734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA738 */ cpu->f[31] = cpu->f[1];
|
|
/* 027DA73C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA73C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA73C */ if (_t8) goto L_027DA74C; else goto L_027DA740;
|
|
L_027DA740: ; // 0x27da740
|
|
/* 027DA740 */ cpu->f[1] = cpu->f[31];
|
|
/* 027DA744 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA748 */ Gambit_fn_028AC498(cpu);
|
|
L_027DA74C: ; // 0x27da74c
|
|
/* 027DA74C */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 027DA74C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DA750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA754 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA754 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA754 */ if (_t11) goto L_027DA764; else goto L_027DA758;
|
|
L_027DA758: ; // 0x27da758
|
|
/* 027DA758 */ cpu->f[1] = cpu->f[31];
|
|
/* 027DA75C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DA760 */ Gambit_fn_028AC498(cpu);
|
|
L_027DA764: ; // 0x27da764
|
|
/* 027DA764 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027DA764 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027DA768 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DA76C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA76C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027DA770 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DA774 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DA774 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DA774 */ if (_t17) goto L_027DA778; // else: addr-0 trap, fall-through
|
|
L_027DA778: ; // 0x27da778
|
|
/* 027DA778 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 027DA778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA77C */ cpu->lr = cpu->r[0];
|
|
/* 027DA780 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DA784 */ return;
|
|
}
|
|
|
|
// fn_027DA788 @ 0x27da788
|
|
void Gambit_fn_027DA788(CPUState* cpu) {
|
|
L_027DA788: ; // 0x27da788
|
|
/* 027DA788 */ return;
|
|
}
|
|
|
|
// fn_027DA78C @ 0x27da78c
|
|
void Gambit_fn_027DA78C(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_027DA78C: ; // 0x27da78c
|
|
/* 027DA78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA790 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA790 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DA790 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA790 */ goto L_027DA794;
|
|
L_027DA794: ; // 0x27da794
|
|
/* 027DA794 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DA794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA798 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA798 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DA798 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA798 */ goto L_027DA79C;
|
|
L_027DA79C: ; // 0x27da79c
|
|
/* 027DA79C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DA7A0 @ 0x27da7a0
|
|
void Gambit_fn_027DA7A0(CPUState* cpu) {
|
|
L_027DA7A0: ; // 0x27da7a0
|
|
/* 027DA7A0 */ return;
|
|
}
|
|
|
|
// fn_027DA7A4 @ 0x27da7a4
|
|
void Gambit_fn_027DA7A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DA7A4: ; // 0x27da7a4
|
|
/* 027DA7A4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027DA7A8 */ _t0 = cpu->r[11] + 0xFFFFE318u;
|
|
/* 027DA7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DA7A8 */ cpu->r[11] = _t0;
|
|
/* 027DA7AC */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA7B4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE31Cu;
|
|
/* 027DA7B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA7B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DA7B8 */ if (_t2) goto L_027DA7BC; else goto L_027DA7D0;
|
|
L_027DA7BC: ; // 0x27da7bc
|
|
/* 027DA7BC */ cpu->r[9] = 0x10110000u;
|
|
/* 027DA7C0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027DA7C4 */ cpu->r[9] = cpu->r[9] + 0xFFFFEA80u;
|
|
/* 027DA7C8 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 027DA7C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027DA7CC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027DA7CC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_027DA7D0: ; // 0x27da7d0
|
|
/* 027DA7D0 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 027DA7D4 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 027DA7D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027DA7DC */ return;
|
|
}
|
|
|
|
// fn_027DA7E0 @ 0x27da7e0
|
|
void Gambit_fn_027DA7E0(CPUState* cpu) {
|
|
L_027DA7E0: ; // 0x27da7e0
|
|
/* 027DA7E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA7E4 */ return;
|
|
}
|
|
|
|
// fn_027DA7E8 @ 0x27da7e8
|
|
void Gambit_fn_027DA7E8(CPUState* cpu) {
|
|
L_027DA7E8: ; // 0x27da7e8
|
|
/* 027DA7E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA7EC */ return;
|
|
}
|
|
|
|
// fn_027DA7F0 @ 0x27da7f0
|
|
void Gambit_fn_027DA7F0(CPUState* cpu) {
|
|
L_027DA7F0: ; // 0x27da7f0
|
|
/* 027DA7F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA7F4 */ return;
|
|
}
|
|
|
|
// fn_027DA7F8 @ 0x27da7f8
|
|
void Gambit_fn_027DA7F8(CPUState* cpu) {
|
|
L_027DA7F8: ; // 0x27da7f8
|
|
/* 027DA7F8 */ cpu->r[3] = 0x10110000u;
|
|
/* 027DA7FC */ cpu->r[3] = cpu->r[3] + 0xFFFFEA7Eu;
|
|
/* 027DA800 */ return;
|
|
}
|
|
|
|
// fn_027DA804 @ 0x27da804
|
|
void Gambit_fn_027DA804(CPUState* cpu) {
|
|
L_027DA804: ; // 0x27da804
|
|
/* 027DA804 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DA808 */ return;
|
|
}
|
|
|
|
// fn_027DA80C @ 0x27da80c
|
|
void Gambit_fn_027DA80C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027DA80C: ; // 0x27da80c
|
|
/* 027DA80C */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA810 */ _t0 = cpu->r[12] + 0xFFFFEAE8u;
|
|
/* 027DA810 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027DA814 */ return;
|
|
}
|
|
|
|
// fn_027DA818 @ 0x27da818
|
|
void Gambit_fn_027DA818(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027DA818: ; // 0x27da818
|
|
/* 027DA818 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA81C */ _t0 = cpu->r[12] + 0xFFFFEAE8u;
|
|
/* 027DA81C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027DA820 */ return;
|
|
}
|
|
|
|
// fn_027DA824 @ 0x27da824
|
|
void Gambit_fn_027DA824(CPUState* cpu) {
|
|
L_027DA824: ; // 0x27da824
|
|
/* 027DA824 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027DA828 */ return;
|
|
}
|
|
|
|
// fn_027DA82C @ 0x27da82c
|
|
void Gambit_fn_027DA82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_027DA82C: ; // 0x27da82c
|
|
/* 027DA82C */ cpu->r[0] = cpu->lr;
|
|
/* 027DA830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA830 */ cpu->r[1] = _t0;
|
|
/* 027DA834 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA834 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA838 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA838 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA83C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DA840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA840 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA844 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA844 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA844 */ if (_t5) goto L_027DA848; else goto L_027DA858;
|
|
L_027DA848: ; // 0x27da848
|
|
/* 027DA848 */ cpu->r[3] = 0x00000040u;
|
|
/* 027DA84C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA850 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DA854 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA854 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA854 */ if (_t7) goto L_027DA8E8; else goto L_027DA858;
|
|
L_027DA858: ; // 0x27da858
|
|
/* 027DA858 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA85C */ cpu->r[30] = 0x00000000u;
|
|
/* 027DA860 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA860 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA860 */ if (_t9) goto L_027DA864; else goto L_027DA874;
|
|
L_027DA864: ; // 0x27da864
|
|
/* 027DA864 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DA868 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA870 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA870 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA870 */ if (_t11) goto L_027DA884; else goto L_027DA874;
|
|
L_027DA874: ; // 0x27da874
|
|
/* 027DA874 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA878 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA878 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027DA87C */ cpu->r[12] = cpu->r[12] + 0xFFFFEBB4u;
|
|
/* 027DA880 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA880 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027DA884: ; // 0x27da884
|
|
/* 027DA884 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA888 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC4Cu;
|
|
/* 027DA88C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 027DA88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA890 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DA890 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DA894 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA894 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DA894 */ if (_t16) goto L_027DA898; else goto L_027DA8A8;
|
|
L_027DA898: ; // 0x27da898
|
|
/* 027DA898 */ cpu->r[3] = 0x00000014u;
|
|
/* 027DA89C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA8A4 */ if (_t18) goto L_027DA8BC; else goto L_027DA8A8;
|
|
L_027DA8A8: ; // 0x27da8a8
|
|
/* 027DA8A8 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA8A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027DA8AC */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA8AC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 027DA8B0 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA8B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 027DA8B4 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA8B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 027DA8B8 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA8B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_027DA8BC: ; // 0x27da8bc
|
|
/* 027DA8BC */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DA8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DA8C0 */ if (_t25) goto L_027DA8C4; else goto L_027DA8D4;
|
|
L_027DA8C4: ; // 0x27da8c4
|
|
/* 027DA8C4 */ cpu->r[3] = 0x00000014u;
|
|
/* 027DA8C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DA8D0 */ if (_t27) goto L_027DA8E8; else goto L_027DA8D4;
|
|
L_027DA8D4: ; // 0x27da8d4
|
|
/* 027DA8D4 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA8D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 027DA8D8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA8D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 027DA8DC */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA8DC */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027DA8E0 */ _t31 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA8E0 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 027DA8E4 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA8E4 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
L_027DA8E8: ; // 0x27da8e8
|
|
/* 027DA8E8 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DA8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA8F0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DA8F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DA8F8 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DA8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA900 */ return;
|
|
}
|
|
|
|
// fn_027DA830 @ 0x27da830
|
|
void Gambit_fn_027DA830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_027DA830: ; // 0x27da830
|
|
/* 027DA830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DA830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA830 */ cpu->r[1] = _t0;
|
|
/* 027DA834 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA834 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DA838 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA838 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DA83C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DA840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA840 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DA844 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA844 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DA844 */ if (_t5) goto L_027DA848; else goto L_027DA858;
|
|
L_027DA848: ; // 0x27da848
|
|
/* 027DA848 */ cpu->r[3] = 0x00000040u;
|
|
/* 027DA84C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA850 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DA854 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA854 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DA854 */ if (_t7) goto L_027DA8E8; else goto L_027DA858;
|
|
L_027DA858: ; // 0x27da858
|
|
/* 027DA858 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA85C */ cpu->r[30] = 0x00000000u;
|
|
/* 027DA860 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA860 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DA860 */ if (_t9) goto L_027DA864; else goto L_027DA874;
|
|
L_027DA864: ; // 0x27da864
|
|
/* 027DA864 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DA868 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA86C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA870 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA870 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DA870 */ if (_t11) goto L_027DA884; else goto L_027DA874;
|
|
L_027DA874: ; // 0x27da874
|
|
/* 027DA874 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DA878 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA878 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027DA87C */ cpu->r[12] = cpu->r[12] + 0xFFFFEBB4u;
|
|
/* 027DA880 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA880 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027DA884: ; // 0x27da884
|
|
/* 027DA884 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA888 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC4Cu;
|
|
/* 027DA88C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 027DA88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA890 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DA890 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DA894 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA894 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DA894 */ if (_t16) goto L_027DA898; else goto L_027DA8A8;
|
|
L_027DA898: ; // 0x27da898
|
|
/* 027DA898 */ cpu->r[3] = 0x00000014u;
|
|
/* 027DA89C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DA8A4 */ if (_t18) goto L_027DA8BC; else goto L_027DA8A8;
|
|
L_027DA8A8: ; // 0x27da8a8
|
|
/* 027DA8A8 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA8A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027DA8AC */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA8AC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 027DA8B0 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA8B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 027DA8B4 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA8B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 027DA8B8 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA8B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_027DA8BC: ; // 0x27da8bc
|
|
/* 027DA8BC */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DA8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DA8C0 */ if (_t25) goto L_027DA8C4; else goto L_027DA8D4;
|
|
L_027DA8C4: ; // 0x27da8c4
|
|
/* 027DA8C4 */ cpu->r[3] = 0x00000014u;
|
|
/* 027DA8C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DA8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA8D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA8D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DA8D0 */ if (_t27) goto L_027DA8E8; else goto L_027DA8D4;
|
|
L_027DA8D4: ; // 0x27da8d4
|
|
/* 027DA8D4 */ _t28 = cpu->r[3] + 0x00000010u;
|
|
/* 027DA8D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 027DA8D8 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 027DA8D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 027DA8DC */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027DA8DC */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027DA8E0 */ _t31 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DA8E0 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 027DA8E4 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 027DA8E4 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
L_027DA8E8: ; // 0x27da8e8
|
|
/* 027DA8E8 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DA8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA8F0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DA8F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DA8F8 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DA8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DA900 */ return;
|
|
}
|
|
|
|
// fn_027DA904 @ 0x27da904
|
|
void Gambit_fn_027DA904(CPUState* 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_027DA904: ; // 0x27da904
|
|
/* 027DA904 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA908 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA908 */ cpu->r[1] = _t0;
|
|
/* 027DA90C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA910 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA910 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027DA914 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA914 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DA918 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA918 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DA91C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA91C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DA920 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027DA924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA928 */ _t6 = cpu->r[29] + 0xFFFF965Cu;
|
|
/* 027DA928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA928 */ cpu->r[29] = _t6;
|
|
/* 027DA92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA930 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA930 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA930 */ if (_t8) goto L_027DA934; else goto L_027DA984;
|
|
L_027DA934: ; // 0x27da934
|
|
/* 027DA934 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA938 */ cpu->r[3] = 0x00000040u;
|
|
/* 027DA93C */ cpu->r[5] = 0x00000004u;
|
|
/* 027DA940 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027DA944 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA948 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 027DA948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DA94C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA94C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA94C */ if (_t10) goto L_027DA96C; else goto L_027DA950;
|
|
L_027DA950: ; // 0x27da950
|
|
/* 027DA950 */ cpu->r[5] = 0x00000003u;
|
|
/* 027DA954 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA958 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DA95C */ Gambit_fn_02821D88(cpu);
|
|
/* 027DA960 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA964 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC3Cu;
|
|
/* 027DA968 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DA968 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027DA96C: ; // 0x27da96c
|
|
/* 027DA96C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA970 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA974 */ _t12 = cpu->r[12] + 0xFFFF9664u;
|
|
/* 027DA974 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027DA978 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA978 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA978 */ if (_t14) goto L_027DA980; else goto L_027DA97C;
|
|
L_027DA97C: ; // 0x27da97c
|
|
/* 027DA97C */ Gambit_fn_027DA82C(cpu);
|
|
L_027DA980: ; // 0x27da980
|
|
/* 027DA980 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 027DA980 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_027DA984: ; // 0x27da984
|
|
/* 027DA984 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA984 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA988 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA988 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DA98C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA990 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA994 */ cpu->lr = cpu->r[0];
|
|
/* 027DA998 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA99C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA9A0 */ return;
|
|
}
|
|
|
|
// fn_027DA908 @ 0x27da908
|
|
void Gambit_fn_027DA908(CPUState* 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_027DA908: ; // 0x27da908
|
|
/* 027DA908 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DA908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA908 */ cpu->r[1] = _t0;
|
|
/* 027DA90C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DA910 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA910 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027DA914 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA914 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DA918 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA918 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DA91C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA91C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DA920 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027DA924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DA928 */ _t6 = cpu->r[29] + 0xFFFF965Cu;
|
|
/* 027DA928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DA928 */ cpu->r[29] = _t6;
|
|
/* 027DA92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA930 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA930 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DA930 */ if (_t8) goto L_027DA934; else goto L_027DA984;
|
|
L_027DA934: ; // 0x27da934
|
|
/* 027DA934 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA938 */ cpu->r[3] = 0x00000040u;
|
|
/* 027DA93C */ cpu->r[5] = 0x00000004u;
|
|
/* 027DA940 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027DA944 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DA948 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 027DA948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DA94C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA94C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DA94C */ if (_t10) goto L_027DA96C; else goto L_027DA950;
|
|
L_027DA950: ; // 0x27da950
|
|
/* 027DA950 */ cpu->r[5] = 0x00000003u;
|
|
/* 027DA954 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DA958 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DA95C */ Gambit_fn_02821D88(cpu);
|
|
/* 027DA960 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DA964 */ cpu->r[0] = cpu->r[0] + 0xFFFFEC3Cu;
|
|
/* 027DA968 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DA968 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027DA96C: ; // 0x27da96c
|
|
/* 027DA96C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DA970 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DA970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA974 */ _t12 = cpu->r[12] + 0xFFFF9664u;
|
|
/* 027DA974 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027DA978 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA978 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DA978 */ if (_t14) goto L_027DA980; else goto L_027DA97C;
|
|
L_027DA97C: ; // 0x27da97c
|
|
/* 027DA97C */ Gambit_fn_027DA82C(cpu);
|
|
L_027DA980: ; // 0x27da980
|
|
/* 027DA980 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 027DA980 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_027DA984: ; // 0x27da984
|
|
/* 027DA984 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027DA984 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DA988 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DA988 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DA98C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DA98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DA990 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027DA990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DA994 */ cpu->lr = cpu->r[0];
|
|
/* 027DA998 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027DA998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DA99C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DA9A0 */ return;
|
|
}
|
|
|
|
// fn_027DA9A4 @ 0x27da9a4
|
|
void Gambit_fn_027DA9A4(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_027DA9A4: ; // 0x27da9a4
|
|
/* 027DA9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA9A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA9A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DA9A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA9A8 */ goto L_027DA9AC;
|
|
L_027DA9AC: ; // 0x27da9ac
|
|
/* 027DA9AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DA9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DA9B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA9B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DA9B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DA9B0 */ goto L_027DA9B4;
|
|
L_027DA9B4: ; // 0x27da9b4
|
|
/* 027DA9B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DA9B8 @ 0x27da9b8
|
|
void Gambit_fn_027DA9B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DA9B8: ; // 0x27da9b8
|
|
/* 027DA9B8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027DA9B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DA9B8 */ cpu->r[1] = _t0;
|
|
/* 027DA9BC */ /* nop */
|
|
/* 027DA9C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DA9C4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027DA9C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027DA9C8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027DA9CC */ _t2 = cpu->r[29] + 0xFFFF9660u;
|
|
/* 027DA9CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DA9CC */ cpu->r[29] = _t2;
|
|
/* 027DA9D0 */ cpu->r[17] = cpu->r[4];
|
|
/* 027DA9D4 */ cpu->r[16] = cpu->r[3];
|
|
/* 027DA9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DA9DC */ cpu->r[30] = 0x00000000u;
|
|
/* 027DA9E0 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DA9E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DA9E0 */ if (_t4) goto L_027DA9E4; else goto L_027DAAA4;
|
|
L_027DA9E4: ; // 0x27da9e4
|
|
/* 027DA9E4 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000064u);
|
|
/* 027DA9E8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027DA9EC */ cpu->r[4] = cpu->r[17];
|
|
/* 027DA9F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DA9F4 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027DA9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DA9FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DA9FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DA9FC */ if (_t6) goto L_027DAA3C; else goto L_027DAA00;
|
|
L_027DAA00: ; // 0x27daa00
|
|
/* 027DAA00 */ _t7 = cpu->r[16] + 0x00000028u;
|
|
/* 027DAA00 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027DAA04 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027DAA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DAA08 */ cpu->r[27] = cpu->r[16] + 0x00000018u;
|
|
/* 027DAA0C */ _t8 = cpu->r[16] + 0x0000001Cu;
|
|
/* 027DAA0C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027DAA10 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DAA10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DAA10 */ if (_t10) goto L_027DAA14; else goto L_027DAA30;
|
|
L_027DAA14: ; // 0x27daa14
|
|
/* 027DAA14 */ cpu->ctr = cpu->r[0];
|
|
/* 027DAA18 */ cpu->r[4] = 0x00000000u;
|
|
/* 027DAA1C */ cpu->r[7] = cpu->r[3] + 0x00000064u;
|
|
L_027DAA20: ; // 0x27daa20
|
|
/* 027DAA20 */ _t11 = cpu->r[3] + cpu->r[4];
|
|
/* 027DAA20 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 027DAA24 */ cpu->r[4] = cpu->r[4] + 0x00000064u;
|
|
/* 027DAA28 */ cpu->r[7] = cpu->r[7] + 0x00000064u;
|
|
/* 027DAA2C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DAA2C */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DAA2C */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 027DAA2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DAA2C */ if (_t14) goto L_027DAA20; else goto L_027DAA30;
|
|
L_027DAA30: ; // 0x27daa30
|
|
/* 027DAA30 */ cpu->r[6] = cpu->r[3] + cpu->r[28];
|
|
/* 027DAA34 */ _t15 = cpu->r[6] + 0xFFFFFF9Cu;
|
|
/* 027DAA34 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027DAA38 */ _t16 = cpu->r[27] + 0x00000008u;
|
|
/* 027DAA38 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
L_027DAA3C: ; // 0x27daa3c
|
|
/* 027DAA3C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DAA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DAA44 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DAA44 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DAA44 */ if (_t19) goto L_027DAA48; else goto L_027DAAA4;
|
|
L_027DAA48: ; // 0x27daa48
|
|
/* 027DAA48 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000064u);
|
|
/* 027DAA4C */ cpu->r[5] = 0x00000004u;
|
|
/* 027DAA50 */ cpu->r[4] = cpu->r[17];
|
|
/* 027DAA54 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAA58 */ Gambit_fn_02801ADC(cpu);
|
|
/* 027DAA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DAA60 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAA60 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027DAA60 */ if (_t21) goto L_027DAAA0; else goto L_027DAA64;
|
|
L_027DAA64: ; // 0x27daa64
|
|
/* 027DAA64 */ _t22 = cpu->r[16] + 0x0000003Cu;
|
|
/* 027DAA64 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 027DAA68 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027DAA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DAA6C */ cpu->r[28] = cpu->r[16] + 0x0000002Cu;
|
|
/* 027DAA70 */ _t23 = cpu->r[16] + 0x00000030u;
|
|
/* 027DAA70 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 027DAA74 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DAA74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DAA74 */ if (_t25) goto L_027DAA78; else goto L_027DAA94;
|
|
L_027DAA78: ; // 0x27daa78
|
|
/* 027DAA78 */ cpu->ctr = cpu->r[8];
|
|
/* 027DAA7C */ cpu->r[10] = 0x00000000u;
|
|
/* 027DAA80 */ cpu->r[12] = cpu->r[3] + 0x00000064u;
|
|
L_027DAA84: ; // 0x27daa84
|
|
/* 027DAA84 */ _t26 = cpu->r[3] + cpu->r[10];
|
|
/* 027DAA84 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 027DAA88 */ cpu->r[10] = cpu->r[10] + 0x00000064u;
|
|
/* 027DAA8C */ cpu->r[12] = cpu->r[12] + 0x00000064u;
|
|
/* 027DAA90 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DAA90 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DAA90 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 027DAA90 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027DAA90 */ if (_t29) goto L_027DAA84; else goto L_027DAA94;
|
|
L_027DAA94: ; // 0x27daa94
|
|
/* 027DAA94 */ cpu->r[8] = cpu->r[3] + cpu->r[27];
|
|
/* 027DAA98 */ _t30 = cpu->r[8] + 0xFFFFFF9Cu;
|
|
/* 027DAA98 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 027DAA9C */ _t31 = cpu->r[28] + 0x00000008u;
|
|
/* 027DAA9C */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_027DAAA0: ; // 0x27daaa0
|
|
/* 027DAAA0 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAAA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
L_027DAAA4: ; // 0x27daaa4
|
|
/* 027DAAA4 */ cpu->r[18] = 0x00000000u;
|
|
/* 027DAAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[31]);
|
|
/* 027DAAAC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAAAC */ _t34 = _t33 & 0x00000001u;
|
|
/* 027DAAAC */ if (_t34) goto L_027DAAB0; else goto L_027DAFDC;
|
|
L_027DAAB0: ; // 0x27daab0
|
|
/* 027DAAB0 */ cpu->r[25] = 0x10110000u;
|
|
/* 027DAAB4 */ cpu->r[23] = 0x101F0000u;
|
|
/* 027DAAB8 */ cpu->r[30] = 0x10110000u;
|
|
/* 027DAABC */ cpu->r[15] = 0x10110000u;
|
|
/* 027DAAC0 */ _t35 = cpu->r[25] + 0x00007399u;
|
|
/* 027DAAC0 */ cpu->r[21] = rbrew_read8(cpu->mem, _t35);
|
|
/* 027DAAC0 */ cpu->r[25] = _t35;
|
|
/* 027DAAC4 */ cpu->r[22] = 0x00000000u;
|
|
/* 027DAAC8 */ cpu->r[23] = cpu->r[23] + 0x00002D48u;
|
|
/* 027DAACC */ cpu->r[28] = cpu->r[16] + 0x0000002Cu;
|
|
/* 027DAAD0 */ cpu->r[15] = cpu->r[15] + 0xFFFFEB84u;
|
|
/* 027DAAD4 */ cpu->r[30] = cpu->r[30] + 0xFFFFEBF4u;
|
|
/* 027DAAD8 */ cpu->r[24] = 0x00000001u;
|
|
L_027DAADC: ; // 0x27daadc
|
|
/* 027DAADC */ _t36 = cpu->r[23] + 0x00000004u;
|
|
/* 027DAADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DAADC */ cpu->r[23] = _t36;
|
|
/* 027DAAE0 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 027DAAE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027DAAE4 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 027DAAE4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
|
|
/* 027DAAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[21]);
|
|
/* 027DAAEC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAAEC */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DAAEC */ if (_t40) goto L_027DAD54; else goto L_027DAAF0;
|
|
L_027DAAF0: ; // 0x27daaf0
|
|
/* 027DAAF0 */ cpu->r[27] = cpu->r[16] + 0x00000018u;
|
|
/* 027DAAF4 */ _t41 = cpu->r[16] + 0x00000018u;
|
|
/* 027DAAF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DAAF8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DAAFC */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAB00 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAB04 */ cpu->r[12] = cpu->r[3];
|
|
/* 027DAB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DAB08 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB08 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DAB08 */ if (_t43) goto L_027DAB14; else goto L_027DAB0C;
|
|
L_027DAB0C: ; // 0x27dab0c
|
|
/* 027DAB0C */ cpu->r[11] = cpu->r[12] + 0x00000018u;
|
|
/* 027DAB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DAB10 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB10 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027DAB10 */ if (_t45) goto L_027DAB14; else goto L_027DAD54;
|
|
L_027DAB14: ; // 0x27dab14
|
|
/* 027DAB14 */ _t46 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DAB14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DAB18 */ _t47 = cpu->r[27] + 0x00000010u;
|
|
/* 027DAB18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DAB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[4]);
|
|
/* 027DAB20 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAB20 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027DAB20 */ if (_t49) goto L_027DAB24; else goto L_027DAD28;
|
|
L_027DAB24: ; // 0x27dab24
|
|
/* 027DAB24 */ _t50 = cpu->r[27] + 0x00000004u;
|
|
/* 027DAB24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027DAB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DAB2C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB2C */ _t52 = _t51 & 0x00000001u;
|
|
/* 027DAB2C */ if (_t52) goto L_027DAB38; else goto L_027DAB30;
|
|
L_027DAB30: ; // 0x27dab30
|
|
/* 027DAB30 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 027DAB30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027DAB34 */ _t54 = cpu->r[27] + 0x00000004u;
|
|
/* 027DAB34 */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
|
|
L_027DAB38: ; // 0x27dab38
|
|
/* 027DAB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DAB3C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB3C */ _t56 = _t55 & 0x00000001u;
|
|
/* 027DAB3C */ if (_t56) goto L_027DACE4; else goto L_027DAB40;
|
|
L_027DAB40: ; // 0x27dab40
|
|
/* 027DAB40 */ cpu->r[19] = cpu->r[11];
|
|
/* 027DAB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 027DAB44 */ cpu->r[12] = cpu->r[19];
|
|
/* 027DAB48 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB48 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DAB48 */ if (_t58) goto L_027DAB4C; else goto L_027DAB5C;
|
|
L_027DAB4C: ; // 0x27dab4c
|
|
/* 027DAB4C */ cpu->r[3] = 0x00000018u;
|
|
/* 027DAB50 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DAB54 */ cpu->r[12] = cpu->r[3];
|
|
/* 027DAB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DAB58 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAB58 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027DAB58 */ if (_t60) goto L_027DAB74; else goto L_027DAB5C;
|
|
L_027DAB5C: ; // 0x27dab5c
|
|
/* 027DAB5C */ _t61 = cpu->r[12] + 0x00000014u;
|
|
/* 027DAB5C */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
/* 027DAB60 */ _t62 = cpu->r[12] + 0x00000004u;
|
|
/* 027DAB60 */ rbrew_write32(cpu->mem, _t62, cpu->r[22]);
|
|
/* 027DAB64 */ _t63 = cpu->r[12] + 0x00000008u;
|
|
/* 027DAB64 */ rbrew_write32(cpu->mem, _t63, cpu->r[22]);
|
|
/* 027DAB68 */ _t64 = cpu->r[12] + 0x00000000u;
|
|
/* 027DAB68 */ rbrew_write32(cpu->mem, _t64, cpu->r[22]);
|
|
/* 027DAB6C */ _t65 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DAB6C */ rbrew_write32(cpu->mem, _t65, cpu->r[25]);
|
|
/* 027DAB70 */ _t66 = cpu->r[12] + 0x00000010u;
|
|
/* 027DAB70 */ rbrew_write32(cpu->mem, _t66, cpu->r[15]);
|
|
L_027DAB74: ; // 0x27dab74
|
|
/* 027DAB74 */ cpu->r[6] = 0x10110000u;
|
|
/* 027DAB78 */ _t67 = cpu->r[19] + 0x00000060u;
|
|
/* 027DAB78 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[21]);
|
|
/* 027DAB7C */ cpu->r[6] = cpu->r[6] + 0xFFFFEC0Cu;
|
|
/* 027DAB80 */ _t68 = cpu->r[19] + 0x0000001Cu;
|
|
/* 027DAB80 */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 027DAB84 */ _t69 = cpu->r[19] + 0x00000014u;
|
|
/* 027DAB84 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 027DAB88 */ _t70 = cpu->r[19] + 0x00000018u;
|
|
/* 027DAB88 */ rbrew_write32(cpu->mem, _t70, cpu->r[31]);
|
|
/* 027DAB8C */ _t71 = cpu->r[31] + 0x00000004u;
|
|
/* 027DAB8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027DAB90 */ _t72 = cpu->r[7] + 0x00000014u;
|
|
/* 027DAB90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027DAB94 */ cpu->ctr = cpu->r[9];
|
|
/* 027DAB98 */ cpu->r[26] = cpu->r[19] + 0x00000020u;
|
|
/* 027DAB9C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DABA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DABA4 */ _t73 = cpu->r[31] + 0x00000000u;
|
|
/* 027DABA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027DABA8 */ cpu->r[0] = cpu->r[21];
|
|
/* 027DABAC */ _t74 = cpu->r[9] + 0x00000000u;
|
|
/* 027DABAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t74);
|
|
/* 027DABB0 */ cpu->r[10] = 0x00000000u;
|
|
/* 027DABB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 027DABB8 */ cpu->r[11] = 0x00080000u;
|
|
/* 027DABBC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DABBC */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DABBC */ if (_t76) goto L_027DAC60; else goto L_027DABC0;
|
|
L_027DABC0: ; // 0x27dabc0
|
|
/* 027DABC0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027DABC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 027DABC8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027DABCC */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DABCC */ _t78 = _t77 & 0x00000001u;
|
|
/* 027DABCC */ if (_t78) goto L_027DABEC; else goto L_027DABD0;
|
|
L_027DABD0: ; // 0x27dabd0
|
|
/* 027DABD0 */ _t79 = cpu->r[9] + 0x00000000u;
|
|
/* 027DABD0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t79);
|
|
/* 027DABD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 027DABD8 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DABD8 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027DABD8 */ if (_t81) goto L_027DABDC; else goto L_027DABC0;
|
|
L_027DABDC: ; // 0x27dabdc
|
|
/* 027DABDC */ cpu->r[20] = cpu->r[10];
|
|
/* 027DABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000041u);
|
|
/* 027DABE4 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DABE4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027DABE4 */ if (_t83) goto L_027DABE8; else goto L_027DAC6C;
|
|
L_027DABE8: ; // 0x27dabe8
|
|
/* 027DABE8 */ goto L_027DAC70;
|
|
L_027DABEC: ; // 0x27dabec
|
|
/* 027DABEC */ _t84 = cpu->r[31] + 0x00000004u;
|
|
/* 027DABEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027DABF0 */ _t85 = cpu->r[7] + 0x00000014u;
|
|
/* 027DABF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027DABF4 */ cpu->ctr = cpu->r[0];
|
|
/* 027DABF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DABFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DAC00 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DAC04 */ _t86 = cpu->r[31] + 0x00000000u;
|
|
/* 027DAC04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DAC08 */ cpu->r[6] = cpu->r[5];
|
|
/* 027DAC0C */ cpu->r[3] = cpu->r[26];
|
|
/* 027DAC10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027DAC14 */ _t87 = cpu->r[26] + 0x00000000u;
|
|
/* 027DAC14 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[21]);
|
|
/* 027DAC18 */ _t88 = cpu->r[19] + 0x0000000Cu;
|
|
/* 027DAC18 */ rbrew_write32(cpu->mem, _t88, cpu->r[26]);
|
|
/* 027DAC1C */ _t89 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DAC1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027DAC20 */ cpu->r[5] = cpu->r[19];
|
|
/* 027DAC24 */ _t90 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAC24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DAC28 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027DAC2C */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAC30 */ _t91 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DAC30 */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 027DAC34 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DAC38 */ _t92 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAC38 */ rbrew_write32(cpu->mem, _t92, cpu->r[3]);
|
|
/* 027DAC3C */ cpu->r[27] = cpu->r[31] + 0x00000008u;
|
|
/* 027DAC40 */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 027DAC40 */ rbrew_write32(cpu->mem, _t93, cpu->r[24]);
|
|
/* 027DAC44 */ _t94 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAC44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027DAC48 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAC4C */ cpu->r[5] = cpu->r[27];
|
|
/* 027DAC50 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAC54 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DAC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DAC58 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAC58 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027DAC58 */ if (_t96) goto L_027DAC5C; else goto L_027DAD70;
|
|
L_027DAC5C: ; // 0x27dac5c
|
|
/* 027DAC5C */ goto L_027DAD78;
|
|
L_027DAC60: ; // 0x27dac60
|
|
/* 027DAC60 */ cpu->r[20] = cpu->r[10];
|
|
/* 027DAC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000041u);
|
|
/* 027DAC68 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAC68 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027DAC68 */ if (_t98) goto L_027DAC70; else goto L_027DAC6C;
|
|
L_027DAC6C: ; // 0x27dac6c
|
|
/* 027DAC6C */ cpu->r[20] = 0x00000040u;
|
|
L_027DAC70: ; // 0x27dac70
|
|
/* 027DAC70 */ _t99 = cpu->r[31] + 0x00000004u;
|
|
/* 027DAC70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027DAC74 */ _t100 = cpu->r[7] + 0x00000014u;
|
|
/* 027DAC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DAC78 */ cpu->ctr = cpu->r[0];
|
|
/* 027DAC7C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DAC80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DAC84 */ _t101 = cpu->r[31] + 0x00000000u;
|
|
/* 027DAC84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027DAC88 */ cpu->r[3] = cpu->r[26];
|
|
/* 027DAC8C */ cpu->r[5] = cpu->r[20];
|
|
/* 027DAC90 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DAC94 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027DAC98 */ _t102 = cpu->r[26] + cpu->r[20];
|
|
/* 027DAC98 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[21]);
|
|
/* 027DAC9C */ _t103 = cpu->r[19] + 0x0000000Cu;
|
|
/* 027DAC9C */ rbrew_write32(cpu->mem, _t103, cpu->r[26]);
|
|
/* 027DACA0 */ _t104 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DACA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DACA4 */ cpu->r[5] = cpu->r[19];
|
|
/* 027DACA8 */ _t105 = cpu->r[27] + 0x00000000u;
|
|
/* 027DACA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027DACAC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027DACB0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DACB4 */ _t106 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DACB4 */ rbrew_write32(cpu->mem, _t106, cpu->r[12]);
|
|
/* 027DACB8 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DACBC */ _t107 = cpu->r[27] + 0x00000000u;
|
|
/* 027DACBC */ rbrew_write32(cpu->mem, _t107, cpu->r[3]);
|
|
/* 027DACC0 */ cpu->r[27] = cpu->r[31] + 0x00000008u;
|
|
/* 027DACC4 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 027DACC4 */ rbrew_write32(cpu->mem, _t108, cpu->r[24]);
|
|
/* 027DACC8 */ _t109 = cpu->r[28] + 0x00000000u;
|
|
/* 027DACC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027DACCC */ cpu->r[3] = cpu->r[28];
|
|
/* 027DACD0 */ cpu->r[5] = cpu->r[27];
|
|
/* 027DACD4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DACD8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DACD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DACDC */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DACDC */ _t111 = _t110 & 0x00000001u;
|
|
/* 027DACDC */ if (_t111) goto L_027DACE0; else goto L_027DAD70;
|
|
L_027DACE0: ; // 0x27dace0
|
|
/* 027DACE0 */ goto L_027DAD78;
|
|
L_027DACE4: ; // 0x27dace4
|
|
/* 027DACE4 */ _t112 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DACE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027DACE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DACEC */ _t113 = cpu->r[27] + 0x00000000u;
|
|
/* 027DACEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027DACF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027DACF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DACF8 */ _t114 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DACF8 */ rbrew_write32(cpu->mem, _t114, cpu->r[12]);
|
|
/* 027DACFC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DAD00 */ _t115 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAD00 */ rbrew_write32(cpu->mem, _t115, cpu->r[3]);
|
|
/* 027DAD04 */ cpu->r[27] = cpu->r[31] + 0x00000008u;
|
|
/* 027DAD08 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 027DAD08 */ rbrew_write32(cpu->mem, _t116, cpu->r[24]);
|
|
/* 027DAD0C */ _t117 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAD0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 027DAD10 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAD14 */ cpu->r[5] = cpu->r[27];
|
|
/* 027DAD18 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAD1C */ cpu->r[4] = cpu->r[3];
|
|
/* 027DAD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DAD20 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD20 */ _t119 = _t118 & 0x00000001u;
|
|
/* 027DAD20 */ if (_t119) goto L_027DAD24; else goto L_027DAD70;
|
|
L_027DAD24: ; // 0x27dad24
|
|
/* 027DAD24 */ goto L_027DAD78;
|
|
L_027DAD28: ; // 0x27dad28
|
|
/* 027DAD28 */ _t120 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAD28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DAD2C */ cpu->r[5] = cpu->r[31];
|
|
/* 027DAD30 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAD34 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAD38 */ cpu->r[8] = cpu->r[3];
|
|
/* 027DAD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DAD3C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD3C */ _t122 = _t121 & 0x00000001u;
|
|
/* 027DAD3C */ if (_t122) goto L_027DAD54; else goto L_027DAD40;
|
|
L_027DAD40: ; // 0x27dad40
|
|
/* 027DAD40 */ cpu->r[8] = cpu->r[8] + 0x00000018u;
|
|
/* 027DAD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DAD44 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD44 */ _t124 = _t123 & 0x00000001u;
|
|
/* 027DAD44 */ if (_t124) goto L_027DAD54; else goto L_027DAD48;
|
|
L_027DAD48: ; // 0x27dad48
|
|
/* 027DAD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DAD4C */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD4C */ _t126 = _t125 & 0x00000001u;
|
|
/* 027DAD4C */ if (_t126) goto L_027DAD54; else goto L_027DAD50;
|
|
L_027DAD50: ; // 0x27dad50
|
|
/* 027DAD50 */ _t127 = cpu->r[8] + 0x00000000u;
|
|
/* 027DAD50 */ rbrew_write32(cpu->mem, _t127, cpu->r[31]);
|
|
L_027DAD54: ; // 0x27dad54
|
|
/* 027DAD54 */ cpu->r[27] = cpu->r[31] + 0x00000008u;
|
|
/* 027DAD58 */ _t128 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAD58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DAD5C */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAD60 */ cpu->r[5] = cpu->r[27];
|
|
/* 027DAD64 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAD68 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DAD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DAD6C */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD6C */ _t130 = _t129 & 0x00000001u;
|
|
/* 027DAD6C */ if (_t130) goto L_027DAD78; else goto L_027DAD70;
|
|
L_027DAD70: ; // 0x27dad70
|
|
/* 027DAD70 */ cpu->r[0] = cpu->r[4] + 0x00000018u;
|
|
/* 027DAD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DAD74 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAD74 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027DAD74 */ if (_t132) goto L_027DAD78; else goto L_027DAFCC;
|
|
L_027DAD78: ; // 0x27dad78
|
|
/* 027DAD78 */ cpu->r[4] = cpu->r[17];
|
|
/* 027DAD7C */ cpu->r[3] = 0x00000008u;
|
|
/* 027DAD80 */ cpu->r[5] = 0x00000004u;
|
|
/* 027DAD84 */ Gambit_fn_02801AC8(cpu);
|
|
/* 027DAD88 */ _t133 = cpu->r[31] + 0x00000010u;
|
|
/* 027DAD88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027DAD8C */ cpu->r[26] = cpu->r[3];
|
|
/* 027DAD90 */ cpu->r[4] = cpu->r[17];
|
|
/* 027DAD94 */ cpu->r[3] = 0x00000010u;
|
|
/* 027DAD98 */ _t134 = cpu->r[26] + 0x00000000u;
|
|
/* 027DAD98 */ rbrew_write32(cpu->mem, _t134, cpu->r[5]);
|
|
/* 027DAD9C */ cpu->r[5] = 0x00000004u;
|
|
/* 027DADA0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 027DADA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DADA8 */ cpu->r[0] = cpu->r[3];
|
|
/* 027DADAC */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DADAC */ _t136 = _t135 & 0x00000001u;
|
|
/* 027DADAC */ if (_t136) goto L_027DADB8; else goto L_027DADB0;
|
|
L_027DADB0: ; // 0x27dadb0
|
|
/* 027DADB0 */ Gambit_fn_020F4024(cpu);
|
|
/* 027DADB4 */ cpu->r[0] = cpu->r[3];
|
|
L_027DADB8: ; // 0x27dadb8
|
|
/* 027DADB8 */ _t137 = cpu->r[26] + 0x00000004u;
|
|
/* 027DADB8 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 027DADBC */ _t138 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DADBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027DADC0 */ _t139 = cpu->r[28] + 0x00000010u;
|
|
/* 027DADC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t139);
|
|
/* 027DADC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 027DADC8 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DADC8 */ _t141 = _t140 & 0x00000001u;
|
|
/* 027DADC8 */ if (_t141) goto L_027DADCC; else goto L_027DAFA0;
|
|
L_027DADCC: ; // 0x27dadcc
|
|
/* 027DADCC */ _t142 = cpu->r[28] + 0x00000004u;
|
|
/* 027DADCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027DADD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DADD4 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DADD4 */ _t144 = _t143 & 0x00000001u;
|
|
/* 027DADD4 */ if (_t144) goto L_027DADE0; else goto L_027DADD8;
|
|
L_027DADD8: ; // 0x27dadd8
|
|
/* 027DADD8 */ _t145 = cpu->r[31] + 0x00000000u;
|
|
/* 027DADD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027DADDC */ _t146 = cpu->r[28] + 0x00000004u;
|
|
/* 027DADDC */ rbrew_write32(cpu->mem, _t146, cpu->r[8]);
|
|
L_027DADE0: ; // 0x27dade0
|
|
/* 027DADE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DADE4 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DADE4 */ _t148 = _t147 & 0x00000001u;
|
|
/* 027DADE4 */ if (_t148) goto L_027DAF68; else goto L_027DADE8;
|
|
L_027DADE8: ; // 0x27dade8
|
|
/* 027DADE8 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DADE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DADEC */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DADEC */ _t150 = _t149 & 0x00000001u;
|
|
/* 027DADEC */ if (_t150) goto L_027DADF0; else goto L_027DAE00;
|
|
L_027DADF0: ; // 0x27dadf0
|
|
/* 027DADF0 */ cpu->r[3] = 0x00000018u;
|
|
/* 027DADF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DADF8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DADF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DADFC */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DADFC */ _t152 = _t151 & 0x00000001u;
|
|
/* 027DADFC */ if (_t152) goto L_027DAE18; else goto L_027DAE00;
|
|
L_027DAE00: ; // 0x27dae00
|
|
/* 027DAE00 */ _t153 = cpu->r[5] + 0x00000014u;
|
|
/* 027DAE00 */ rbrew_write32(cpu->mem, _t153, cpu->r[30]);
|
|
/* 027DAE04 */ _t154 = cpu->r[5] + 0x00000004u;
|
|
/* 027DAE04 */ rbrew_write32(cpu->mem, _t154, cpu->r[22]);
|
|
/* 027DAE08 */ _t155 = cpu->r[5] + 0x00000008u;
|
|
/* 027DAE08 */ rbrew_write32(cpu->mem, _t155, cpu->r[22]);
|
|
/* 027DAE0C */ _t156 = cpu->r[5] + 0x00000000u;
|
|
/* 027DAE0C */ rbrew_write32(cpu->mem, _t156, cpu->r[22]);
|
|
/* 027DAE10 */ _t157 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027DAE10 */ rbrew_write32(cpu->mem, _t157, cpu->r[25]);
|
|
/* 027DAE14 */ _t158 = cpu->r[5] + 0x00000010u;
|
|
/* 027DAE14 */ rbrew_write32(cpu->mem, _t158, cpu->r[15]);
|
|
L_027DAE18: ; // 0x27dae18
|
|
/* 027DAE18 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DAE1C */ _t159 = cpu->r[31] + 0x00000060u;
|
|
/* 027DAE1C */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[21]);
|
|
/* 027DAE20 */ cpu->r[9] = cpu->r[9] + 0xFFFFEC24u;
|
|
/* 027DAE24 */ _t160 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DAE24 */ rbrew_write32(cpu->mem, _t160, cpu->r[28]);
|
|
/* 027DAE28 */ _t161 = cpu->r[31] + 0x00000014u;
|
|
/* 027DAE28 */ rbrew_write32(cpu->mem, _t161, cpu->r[9]);
|
|
/* 027DAE2C */ _t162 = cpu->r[31] + 0x00000018u;
|
|
/* 027DAE2C */ rbrew_write32(cpu->mem, _t162, cpu->r[26]);
|
|
/* 027DAE30 */ _t163 = cpu->r[27] + 0x00000004u;
|
|
/* 027DAE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027DAE34 */ _t164 = cpu->r[11] + 0x00000014u;
|
|
/* 027DAE34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 027DAE38 */ cpu->ctr = cpu->r[0];
|
|
/* 027DAE3C */ cpu->r[26] = cpu->r[31] + 0x00000020u;
|
|
/* 027DAE40 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAE44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DAE48 */ _t165 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAE48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t165);
|
|
/* 027DAE4C */ cpu->r[12] = cpu->r[21];
|
|
/* 027DAE50 */ _t166 = cpu->r[4] + 0x00000000u;
|
|
/* 027DAE50 */ cpu->r[5] = rbrew_read8(cpu->mem, _t166);
|
|
/* 027DAE54 */ cpu->r[20] = 0x00000000u;
|
|
/* 027DAE58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 027DAE5C */ cpu->r[6] = 0x00080000u;
|
|
/* 027DAE60 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAE60 */ _t168 = _t167 & 0x00000001u;
|
|
/* 027DAE60 */ if (_t168) goto L_027DAEF4; else goto L_027DAE64;
|
|
L_027DAE64: ; // 0x27dae64
|
|
/* 027DAE64 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
/* 027DAE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[6]);
|
|
/* 027DAE6C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 027DAE70 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DAE70 */ _t170 = _t169 & 0x00000001u;
|
|
/* 027DAE70 */ if (_t170) goto L_027DAE8C; else goto L_027DAE74;
|
|
L_027DAE74: ; // 0x27dae74
|
|
/* 027DAE74 */ _t171 = cpu->r[4] + 0x00000000u;
|
|
/* 027DAE74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t171);
|
|
/* 027DAE78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 027DAE7C */ _t172 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAE7C */ _t173 = _t172 & 0x00000001u;
|
|
/* 027DAE7C */ if (_t173) goto L_027DAE80; else goto L_027DAE64;
|
|
L_027DAE80: ; // 0x27dae80
|
|
/* 027DAE80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000041u);
|
|
/* 027DAE84 */ _t174 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAE84 */ _t175 = _t174 & 0x00000001u;
|
|
/* 027DAE84 */ if (_t175) goto L_027DAE88; else goto L_027DAEFC;
|
|
L_027DAE88: ; // 0x27dae88
|
|
/* 027DAE88 */ goto L_027DAF00;
|
|
L_027DAE8C: ; // 0x27dae8c
|
|
/* 027DAE8C */ _t176 = cpu->r[27] + 0x00000004u;
|
|
/* 027DAE8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 027DAE90 */ _t177 = cpu->r[9] + 0x00000014u;
|
|
/* 027DAE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t177);
|
|
/* 027DAE94 */ cpu->ctr = cpu->r[0];
|
|
/* 027DAE98 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAE9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DAEA0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DAEA4 */ cpu->r[3] = cpu->r[26];
|
|
/* 027DAEA8 */ _t178 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAEA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t178);
|
|
/* 027DAEAC */ cpu->r[6] = cpu->r[5];
|
|
/* 027DAEB0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027DAEB4 */ _t179 = cpu->r[26] + 0x00000000u;
|
|
/* 027DAEB4 */ rbrew_write8(cpu->mem, _t179, (uint8_t)cpu->r[21]);
|
|
/* 027DAEB8 */ _t180 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DAEB8 */ rbrew_write32(cpu->mem, _t180, cpu->r[26]);
|
|
/* 027DAEBC */ _t181 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAEBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
|
|
/* 027DAEC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAEC4 */ _t182 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAEC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t182);
|
|
/* 027DAEC8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DAECC */ cpu->r[5] = cpu->r[31];
|
|
/* 027DAED0 */ _t183 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAED0 */ rbrew_write32(cpu->mem, _t183, cpu->r[11]);
|
|
/* 027DAED4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DAED8 */ _t184 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAED8 */ rbrew_write32(cpu->mem, _t184, cpu->r[3]);
|
|
/* 027DAEDC */ _t185 = cpu->r[3] + 0x00000008u;
|
|
/* 027DAEDC */ rbrew_write32(cpu->mem, _t185, cpu->r[24]);
|
|
/* 027DAEE0 */ _t186 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAEE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
|
|
/* 027DAEE4 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 027DAEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 027DAEEC */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAEEC */ _t188 = _t187 & 0x00000001u;
|
|
/* 027DAEEC */ if (_t188) goto L_027DAADC; else goto L_027DAEF0;
|
|
L_027DAEF0: ; // 0x27daef0
|
|
/* 027DAEF0 */ goto L_027DAFDC;
|
|
L_027DAEF4: ; // 0x27daef4
|
|
/* 027DAEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000041u);
|
|
/* 027DAEF8 */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAEF8 */ _t190 = _t189 & 0x00000001u;
|
|
/* 027DAEF8 */ if (_t190) goto L_027DAF00; else goto L_027DAEFC;
|
|
L_027DAEFC: ; // 0x27daefc
|
|
/* 027DAEFC */ cpu->r[20] = 0x00000040u;
|
|
L_027DAF00: ; // 0x27daf00
|
|
/* 027DAF00 */ _t191 = cpu->r[27] + 0x00000004u;
|
|
/* 027DAF00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t191);
|
|
/* 027DAF04 */ _t192 = cpu->r[9] + 0x00000014u;
|
|
/* 027DAF04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 027DAF08 */ cpu->ctr = cpu->r[0];
|
|
/* 027DAF0C */ cpu->r[3] = cpu->r[27];
|
|
/* 027DAF10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DAF14 */ _t193 = cpu->r[27] + 0x00000000u;
|
|
/* 027DAF14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027DAF18 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DAF1C */ cpu->r[5] = cpu->r[20];
|
|
/* 027DAF20 */ cpu->r[3] = cpu->r[26];
|
|
/* 027DAF24 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027DAF28 */ _t194 = cpu->r[26] + cpu->r[20];
|
|
/* 027DAF28 */ rbrew_write8(cpu->mem, _t194, (uint8_t)cpu->r[21]);
|
|
/* 027DAF2C */ _t195 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DAF2C */ rbrew_write32(cpu->mem, _t195, cpu->r[26]);
|
|
/* 027DAF30 */ _t196 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAF30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027DAF34 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAF38 */ _t197 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAF38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t197);
|
|
/* 027DAF3C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DAF40 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DAF44 */ _t198 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAF44 */ rbrew_write32(cpu->mem, _t198, cpu->r[11]);
|
|
/* 027DAF48 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DAF4C */ _t199 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAF4C */ rbrew_write32(cpu->mem, _t199, cpu->r[3]);
|
|
/* 027DAF50 */ _t200 = cpu->r[3] + 0x00000008u;
|
|
/* 027DAF50 */ rbrew_write32(cpu->mem, _t200, cpu->r[24]);
|
|
/* 027DAF54 */ _t201 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAF54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t201);
|
|
/* 027DAF58 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 027DAF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 027DAF60 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAF60 */ _t203 = _t202 & 0x00000001u;
|
|
/* 027DAF60 */ if (_t203) goto L_027DAADC; else goto L_027DAF64;
|
|
L_027DAF64: ; // 0x27daf64
|
|
/* 027DAF64 */ goto L_027DAFDC;
|
|
L_027DAF68: ; // 0x27daf68
|
|
/* 027DAF68 */ _t204 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAF68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t204);
|
|
/* 027DAF6C */ cpu->r[5] = 0x00000000u;
|
|
/* 027DAF70 */ _t205 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAF70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t205);
|
|
/* 027DAF74 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DAF78 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAF7C */ _t206 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DAF7C */ rbrew_write32(cpu->mem, _t206, cpu->r[11]);
|
|
/* 027DAF80 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 027DAF84 */ _t207 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAF84 */ rbrew_write32(cpu->mem, _t207, cpu->r[3]);
|
|
/* 027DAF88 */ _t208 = cpu->r[3] + 0x00000008u;
|
|
/* 027DAF88 */ rbrew_write32(cpu->mem, _t208, cpu->r[24]);
|
|
/* 027DAF8C */ _t209 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAF8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t209);
|
|
/* 027DAF90 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 027DAF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 027DAF98 */ _t210 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAF98 */ _t211 = _t210 & 0x00000001u;
|
|
/* 027DAF98 */ if (_t211) goto L_027DAADC; else goto L_027DAF9C;
|
|
L_027DAF9C: ; // 0x27daf9c
|
|
/* 027DAF9C */ goto L_027DAFDC;
|
|
L_027DAFA0: ; // 0x27dafa0
|
|
/* 027DAFA0 */ _t212 = cpu->r[28] + 0x00000000u;
|
|
/* 027DAFA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t212);
|
|
/* 027DAFA4 */ cpu->r[5] = cpu->r[27];
|
|
/* 027DAFA8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DAFAC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DAFB0 */ cpu->r[7] = cpu->r[3];
|
|
/* 027DAFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DAFB4 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAFB4 */ _t214 = _t213 & 0x00000001u;
|
|
/* 027DAFB4 */ if (_t214) goto L_027DAFCC; else goto L_027DAFB8;
|
|
L_027DAFB8: ; // 0x27dafb8
|
|
/* 027DAFB8 */ cpu->r[7] = cpu->r[7] + 0x00000018u;
|
|
/* 027DAFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DAFBC */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAFBC */ _t216 = _t215 & 0x00000001u;
|
|
/* 027DAFBC */ if (_t216) goto L_027DAFCC; else goto L_027DAFC0;
|
|
L_027DAFC0: ; // 0x27dafc0
|
|
/* 027DAFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DAFC4 */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DAFC4 */ _t218 = _t217 & 0x00000001u;
|
|
/* 027DAFC4 */ if (_t218) goto L_027DAFCC; else goto L_027DAFC8;
|
|
L_027DAFC8: ; // 0x27dafc8
|
|
/* 027DAFC8 */ _t219 = cpu->r[7] + 0x00000000u;
|
|
/* 027DAFC8 */ rbrew_write32(cpu->mem, _t219, cpu->r[26]);
|
|
L_027DAFCC: ; // 0x27dafcc
|
|
/* 027DAFCC */ _t220 = cpu->r[29] + 0x00000000u;
|
|
/* 027DAFCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t220);
|
|
/* 027DAFD0 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 027DAFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 027DAFD8 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DAFD8 */ _t222 = _t221 & 0x00000001u;
|
|
/* 027DAFD8 */ if (_t222) goto L_027DAADC; else goto L_027DAFDC;
|
|
L_027DAFDC: ; // 0x27dafdc
|
|
/* 027DAFDC */ /* nop */
|
|
/* 027DAFE0 */ _t223 = cpu->r[1] + 0x00000054u;
|
|
/* 027DAFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 027DAFE4 */ cpu->lr = cpu->r[0];
|
|
/* 027DAFE8 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027DAFEC */ return;
|
|
}
|
|
|
|
// fn_027DAFF0 @ 0x27daff0
|
|
void Gambit_fn_027DAFF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DAFF0: ; // 0x27daff0
|
|
/* 027DAFF0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DAFF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DAFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DAFF4 */ cpu->r[1] = _t0;
|
|
/* 027DAFF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DAFF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DAFFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DAFFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB000 */ _t3 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027DB000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB008 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB008 */ if (_t5) goto L_027DB044; else goto L_027DB00C;
|
|
L_027DB00C: ; // 0x27db00c
|
|
/* 027DB00C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027DB014 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB014 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB014 */ if (_t8) goto L_027DB038; else goto L_027DB018;
|
|
L_027DB018: ; // 0x27db018
|
|
/* 027DB018 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 027DB018 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB01C */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB020 */ cpu->r[7] = cpu->r[5] | cpu->r[31];
|
|
/* 027DB024 */ _t10 = cpu->r[10] + 0x00000008u;
|
|
/* 027DB024 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 027DB028 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB02C */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB02C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027DB034 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB034 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DB034 */ if (_t14) goto L_027DB038; else goto L_027DB018;
|
|
L_027DB038: ; // 0x27db038
|
|
/* 027DB038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB03C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB03C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DB03C */ if (_t16) goto L_027DB0F0; else goto L_027DB040;
|
|
L_027DB040: ; // 0x27db040
|
|
/* 027DB040 */ goto L_027DB05C;
|
|
L_027DB044: ; // 0x27db044
|
|
/* 027DB044 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB048 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DB04C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB050 */ cpu->lr = cpu->r[0];
|
|
/* 027DB054 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB058 */ return;
|
|
L_027DB05C: ; // 0x27db05c
|
|
/* 027DB05C */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 027DB05C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB060 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 027DB060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB064 */ Gambit_fn_0280236C(cpu);
|
|
/* 027DB068 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB070 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB070 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027DB070 */ if (_t23) goto L_027DB0C0; else goto L_027DB074;
|
|
L_027DB074: ; // 0x27db074
|
|
/* 027DB074 */ _t24 = cpu->r[12] + 0x00000008u;
|
|
/* 027DB074 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB078 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB07C */ cpu->r[0] = cpu->r[9] | cpu->r[31];
|
|
/* 027DB080 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 027DB080 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027DB084 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DB088 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB088 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DB08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DB090 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB090 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027DB090 */ if (_t29) goto L_027DB0B4; else goto L_027DB094;
|
|
L_027DB094: ; // 0x27db094
|
|
/* 027DB094 */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 027DB094 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DB098 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB09C */ cpu->r[9] = cpu->r[7] | cpu->r[12];
|
|
/* 027DB0A0 */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 027DB0A0 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 027DB0A4 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027DB0A8 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DB0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DB0B0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0B0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027DB0B0 */ if (_t35) goto L_027DB0B4; else goto L_027DB094;
|
|
L_027DB0B4: ; // 0x27db0b4
|
|
/* 027DB0B4 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB0B8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0B8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027DB0B8 */ if (_t37) goto L_027DB0BC; else goto L_027DB05C;
|
|
L_027DB0BC: ; // 0x27db0bc
|
|
/* 027DB0BC */ goto L_027DB0F0;
|
|
L_027DB0C0: ; // 0x27db0c0
|
|
/* 027DB0C0 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB0C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027DB0C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 027DB0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB0C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DB0C8 */ if (_t40) goto L_027DB0E8; else goto L_027DB0CC;
|
|
L_027DB0CC: ; // 0x27db0cc
|
|
/* 027DB0CC */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DB0D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027DB0D4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0D4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DB0D4 */ if (_t43) goto L_027DB0E8; else goto L_027DB0D8;
|
|
L_027DB0D8: ; // 0x27db0d8
|
|
/* 027DB0D8 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0DC */ _t44 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB0DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DB0E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 027DB0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB0E4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0E4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DB0E4 */ if (_t46) goto L_027DB0E8; else goto L_027DB0CC;
|
|
L_027DB0E8: ; // 0x27db0e8
|
|
/* 027DB0E8 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB0EC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0EC */ _t48 = _t47 & 0x00000001u;
|
|
/* 027DB0EC */ if (_t48) goto L_027DB0F0; else goto L_027DB05C;
|
|
L_027DB0F0: ; // 0x27db0f0
|
|
/* 027DB0F0 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027DB0F4 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027DB0F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DB0FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB100 */ return;
|
|
}
|
|
|
|
// fn_027DAFF4 @ 0x27daff4
|
|
void Gambit_fn_027DAFF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DAFF4: ; // 0x27daff4
|
|
/* 027DAFF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DAFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DAFF4 */ cpu->r[1] = _t0;
|
|
/* 027DAFF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DAFF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DAFFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DAFFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB000 */ _t3 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027DB000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB008 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB008 */ if (_t5) goto L_027DB044; else goto L_027DB00C;
|
|
L_027DB00C: ; // 0x27db00c
|
|
/* 027DB00C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027DB014 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB014 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB014 */ if (_t8) goto L_027DB038; else goto L_027DB018;
|
|
L_027DB018: ; // 0x27db018
|
|
/* 027DB018 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 027DB018 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB01C */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB020 */ cpu->r[7] = cpu->r[5] | cpu->r[31];
|
|
/* 027DB024 */ _t10 = cpu->r[10] + 0x00000008u;
|
|
/* 027DB024 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 027DB028 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB02C */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB02C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027DB034 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB034 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DB034 */ if (_t14) goto L_027DB038; else goto L_027DB018;
|
|
L_027DB038: ; // 0x27db038
|
|
/* 027DB038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB03C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB03C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DB03C */ if (_t16) goto L_027DB0F0; else goto L_027DB040;
|
|
L_027DB040: ; // 0x27db040
|
|
/* 027DB040 */ goto L_027DB05C;
|
|
L_027DB044: ; // 0x27db044
|
|
/* 027DB044 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB048 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DB04C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB04C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB050 */ cpu->lr = cpu->r[0];
|
|
/* 027DB054 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB058 */ return;
|
|
L_027DB05C: ; // 0x27db05c
|
|
/* 027DB05C */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 027DB05C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB060 */ _t20 = cpu->r[8] + 0x00000004u;
|
|
/* 027DB060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB064 */ Gambit_fn_0280236C(cpu);
|
|
/* 027DB068 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB070 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB070 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027DB070 */ if (_t23) goto L_027DB0C0; else goto L_027DB074;
|
|
L_027DB074: ; // 0x27db074
|
|
/* 027DB074 */ _t24 = cpu->r[12] + 0x00000008u;
|
|
/* 027DB074 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB078 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB07C */ cpu->r[0] = cpu->r[9] | cpu->r[31];
|
|
/* 027DB080 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 027DB080 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027DB084 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DB088 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB088 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DB08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DB090 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB090 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027DB090 */ if (_t29) goto L_027DB0B4; else goto L_027DB094;
|
|
L_027DB094: ; // 0x27db094
|
|
/* 027DB094 */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 027DB094 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DB098 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB09C */ cpu->r[9] = cpu->r[7] | cpu->r[12];
|
|
/* 027DB0A0 */ _t31 = cpu->r[4] + 0x00000008u;
|
|
/* 027DB0A0 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 027DB0A4 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027DB0A8 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DB0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DB0B0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0B0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027DB0B0 */ if (_t35) goto L_027DB0B4; else goto L_027DB094;
|
|
L_027DB0B4: ; // 0x27db0b4
|
|
/* 027DB0B4 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB0B8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0B8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027DB0B8 */ if (_t37) goto L_027DB0BC; else goto L_027DB05C;
|
|
L_027DB0BC: ; // 0x27db0bc
|
|
/* 027DB0BC */ goto L_027DB0F0;
|
|
L_027DB0C0: ; // 0x27db0c0
|
|
/* 027DB0C0 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB0C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027DB0C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 027DB0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB0C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DB0C8 */ if (_t40) goto L_027DB0E8; else goto L_027DB0CC;
|
|
L_027DB0CC: ; // 0x27db0cc
|
|
/* 027DB0CC */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DB0D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027DB0D4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0D4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DB0D4 */ if (_t43) goto L_027DB0E8; else goto L_027DB0D8;
|
|
L_027DB0D8: ; // 0x27db0d8
|
|
/* 027DB0D8 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0DC */ _t44 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB0DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DB0E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 027DB0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB0E4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0E4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DB0E4 */ if (_t46) goto L_027DB0E8; else goto L_027DB0CC;
|
|
L_027DB0E8: ; // 0x27db0e8
|
|
/* 027DB0E8 */ cpu->r[31] = cpu->r[12];
|
|
/* 027DB0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB0EC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB0EC */ _t48 = _t47 & 0x00000001u;
|
|
/* 027DB0EC */ if (_t48) goto L_027DB0F0; else goto L_027DB05C;
|
|
L_027DB0F0: ; // 0x27db0f0
|
|
/* 027DB0F0 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027DB0F4 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027DB0F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DB0FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB100 */ return;
|
|
}
|
|
|
|
// fn_027DB104 @ 0x27db104
|
|
void Gambit_fn_027DB104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_027DB104: ; // 0x27db104
|
|
/* 027DB104 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB108 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB108 */ cpu->r[1] = _t0;
|
|
/* 027DB10C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB10C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB110 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB110 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DB114 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB118 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB118 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB11C */ _t4 = cpu->r[31] + 0x00000020u;
|
|
/* 027DB11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB124 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB128 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB128 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB128 */ if (_t6) goto L_027DB178; else goto L_027DB12C;
|
|
L_027DB12C: ; // 0x27db12c
|
|
/* 027DB12C */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 027DB12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB134 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB134 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DB134 */ if (_t9) goto L_027DB178; else goto L_027DB138;
|
|
L_027DB138: ; // 0x27db138
|
|
/* 027DB138 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 027DB138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB13C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 027DB140 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB148 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB148 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DB148 */ if (_t12) goto L_027DB178; else goto L_027DB14C;
|
|
L_027DB14C: ; // 0x27db14c
|
|
/* 027DB14C */ cpu->r[8] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DB150 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB150 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DB150 */ if (_t14) goto L_027DB178; else goto L_027DB154;
|
|
L_027DB154: ; // 0x27db154
|
|
/* 027DB154 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 027DB154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB158 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DB158 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB15C */ cpu->r[5] = cpu->r[7] + 0x00000008u;
|
|
/* 027DB160 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DB164 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB16C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB16C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB16C */ if (_t18) goto L_027DB178; else goto L_027DB170;
|
|
L_027DB170: ; // 0x27db170
|
|
/* 027DB170 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DB174 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB174 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027DB174 */ if (_t20) goto L_027DB178; else goto L_027DB194;
|
|
L_027DB178: ; // 0x27db178
|
|
/* 027DB178 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB17C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB17C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB180 */ cpu->lr = cpu->r[0];
|
|
/* 027DB184 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB184 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB188 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB18C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB190 */ return;
|
|
L_027DB194: ; // 0x27db194
|
|
/* 027DB194 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 027DB194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB198 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 027DB198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DB19C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DB19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DB1A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB1A4 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 027DB1A8 */ Gambit_fn_02801EBC(cpu);
|
|
/* 027DB1AC */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB1AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DB1B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DB1B4 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB1B4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 027DB1B8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB1B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DB1BC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB1BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DB1C0 */ cpu->lr = cpu->r[0];
|
|
/* 027DB1C4 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DB1C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB1CC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DB1D0 */ return;
|
|
}
|
|
|
|
// fn_027DB108 @ 0x27db108
|
|
void Gambit_fn_027DB108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_027DB108: ; // 0x27db108
|
|
/* 027DB108 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB108 */ cpu->r[1] = _t0;
|
|
/* 027DB10C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB10C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB110 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB110 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DB114 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB118 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB118 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB11C */ _t4 = cpu->r[31] + 0x00000020u;
|
|
/* 027DB11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB124 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB128 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB128 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB128 */ if (_t6) goto L_027DB178; else goto L_027DB12C;
|
|
L_027DB12C: ; // 0x27db12c
|
|
/* 027DB12C */ _t7 = cpu->r[31] + 0x00000034u;
|
|
/* 027DB12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB134 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB134 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DB134 */ if (_t9) goto L_027DB178; else goto L_027DB138;
|
|
L_027DB138: ; // 0x27db138
|
|
/* 027DB138 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 027DB138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB13C */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 027DB140 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB148 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB148 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DB148 */ if (_t12) goto L_027DB178; else goto L_027DB14C;
|
|
L_027DB14C: ; // 0x27db14c
|
|
/* 027DB14C */ cpu->r[8] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DB150 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB150 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DB150 */ if (_t14) goto L_027DB178; else goto L_027DB154;
|
|
L_027DB154: ; // 0x27db154
|
|
/* 027DB154 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 027DB154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB158 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DB158 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB15C */ cpu->r[5] = cpu->r[7] + 0x00000008u;
|
|
/* 027DB160 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DB164 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB16C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB16C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB16C */ if (_t18) goto L_027DB178; else goto L_027DB170;
|
|
L_027DB170: ; // 0x27db170
|
|
/* 027DB170 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DB174 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB174 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027DB174 */ if (_t20) goto L_027DB178; else goto L_027DB194;
|
|
L_027DB178: ; // 0x27db178
|
|
/* 027DB178 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB17C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB17C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB180 */ cpu->lr = cpu->r[0];
|
|
/* 027DB184 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB184 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB188 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB18C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB190 */ return;
|
|
L_027DB194: ; // 0x27db194
|
|
/* 027DB194 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 027DB194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB198 */ _t25 = cpu->r[12] + 0x00000004u;
|
|
/* 027DB198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DB19C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DB19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DB1A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB1A4 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 027DB1A8 */ Gambit_fn_02801EBC(cpu);
|
|
/* 027DB1AC */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB1AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DB1B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027DB1B4 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 027DB1B4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 027DB1B8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB1B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DB1BC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB1BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DB1C0 */ cpu->lr = cpu->r[0];
|
|
/* 027DB1C4 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DB1C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB1CC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DB1D0 */ return;
|
|
}
|
|
|
|
// fn_027DB1E0 @ 0x27db1e0
|
|
void Gambit_fn_027DB1E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DB1E0: ; // 0x27db1e0
|
|
/* 027DB1E0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DB1E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB1E0 */ cpu->r[1] = _t0;
|
|
/* 027DB1E4 */ _t1 = cpu->r[12] + 0x00000020u;
|
|
/* 027DB1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DB1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB1EC */ cpu->r[5] = cpu->r[4];
|
|
/* 027DB1F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB1F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB1F0 */ if (_t3) goto L_027DB21C; else goto L_027DB1F4;
|
|
L_027DB1F4: ; // 0x27db1f4
|
|
/* 027DB1F4 */ _t4 = cpu->r[12] + 0x00000034u;
|
|
/* 027DB1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB1FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB1FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB1FC */ if (_t6) goto L_027DB21C; else goto L_027DB200;
|
|
L_027DB200: ; // 0x27db200
|
|
/* 027DB200 */ _t7 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027DB200 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB204 */ cpu->r[3] = cpu->r[12] + 0x0000002Cu;
|
|
/* 027DB208 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB210 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB210 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DB210 */ if (_t9) goto L_027DB21C; else goto L_027DB214;
|
|
L_027DB214: ; // 0x27db214
|
|
/* 027DB214 */ cpu->r[11] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DB218 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB218 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DB218 */ if (_t11) goto L_027DB21C; else goto L_027DB230;
|
|
L_027DB21C: ; // 0x27db21c
|
|
/* 027DB21C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB220 */ cpu->lr = cpu->r[0];
|
|
/* 027DB224 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB228 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB22C */ return;
|
|
L_027DB230: ; // 0x27db230
|
|
/* 027DB230 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB234 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 027DB234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB238 */ cpu->lr = cpu->r[0];
|
|
/* 027DB23C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 027DB23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB240 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB244 */ return;
|
|
}
|
|
|
|
// fn_027DB248 @ 0x27db248
|
|
void Gambit_fn_027DB248(CPUState* cpu) {
|
|
uint32_t _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_027DB248: ; // 0x27db248
|
|
/* 027DB248 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB24C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB24C */ cpu->r[1] = _t0;
|
|
/* 027DB250 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB250 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB254 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB254 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027DB258 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB258 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB25C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB25C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DB260 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB260 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DB264 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DB268 */ cpu->r[28] = cpu->r[4];
|
|
/* 027DB26C */ _t6 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027DB26C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB26C */ cpu->r[3] = _t6;
|
|
/* 027DB270 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DB274 */ cpu->r[30] = cpu->r[7];
|
|
/* 027DB278 */ cpu->r[31] = cpu->r[8];
|
|
/* 027DB27C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB284 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB284 */ if (_t8) goto L_027DB2D4; else goto L_027DB288;
|
|
L_027DB288: ; // 0x27db288
|
|
/* 027DB288 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DB28C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB28C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DB28C */ if (_t10) goto L_027DB2D4; else goto L_027DB290;
|
|
L_027DB290: ; // 0x27db290
|
|
/* 027DB290 */ _t11 = cpu->r[9] + 0x00000000u;
|
|
/* 027DB290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB294 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027DB294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB298 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB298 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB29C */ cpu->ctr = cpu->r[0];
|
|
/* 027DB2A0 */ cpu->r[6] = cpu->r[30];
|
|
/* 027DB2A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DB2A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DB2AC */ cpu->r[7] = cpu->r[31];
|
|
/* 027DB2B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DB2B4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB2B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB2B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB2B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB2BC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB2C0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB2C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB2C4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB2C8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB2CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB2D0 */ return;
|
|
L_027DB2D4: ; // 0x27db2d4
|
|
/* 027DB2D4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB2D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB2D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB2D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB2DC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB2E0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB2E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB2E4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB2E8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB2E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB2EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB2F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB2F4 */ return;
|
|
}
|
|
|
|
// fn_027DB24C @ 0x27db24c
|
|
void Gambit_fn_027DB24C(CPUState* cpu) {
|
|
uint32_t _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_027DB24C: ; // 0x27db24c
|
|
/* 027DB24C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB24C */ cpu->r[1] = _t0;
|
|
/* 027DB250 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB250 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB254 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB254 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027DB258 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB258 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB25C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB25C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DB260 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB260 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DB264 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DB268 */ cpu->r[28] = cpu->r[4];
|
|
/* 027DB26C */ _t6 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027DB26C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB26C */ cpu->r[3] = _t6;
|
|
/* 027DB270 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DB274 */ cpu->r[30] = cpu->r[7];
|
|
/* 027DB278 */ cpu->r[31] = cpu->r[8];
|
|
/* 027DB27C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 027DB280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB284 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB284 */ if (_t8) goto L_027DB2D4; else goto L_027DB288;
|
|
L_027DB288: ; // 0x27db288
|
|
/* 027DB288 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 027DB288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DB28C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB28C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DB28C */ if (_t10) goto L_027DB2D4; else goto L_027DB290;
|
|
L_027DB290: ; // 0x27db290
|
|
/* 027DB290 */ _t11 = cpu->r[9] + 0x00000000u;
|
|
/* 027DB290 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB294 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027DB294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB298 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB298 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB29C */ cpu->ctr = cpu->r[0];
|
|
/* 027DB2A0 */ cpu->r[6] = cpu->r[30];
|
|
/* 027DB2A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DB2A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DB2AC */ cpu->r[7] = cpu->r[31];
|
|
/* 027DB2B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DB2B4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB2B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB2B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB2B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB2BC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB2C0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB2C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB2C4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB2C8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB2CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB2D0 */ return;
|
|
L_027DB2D4: ; // 0x27db2d4
|
|
/* 027DB2D4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB2D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB2D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB2D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB2DC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB2E0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB2E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB2E4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB2E8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB2E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB2EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB2F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB2F4 */ return;
|
|
}
|
|
|
|
// fn_027DB2F8 @ 0x27db2f8
|
|
void Gambit_fn_027DB2F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DB2F8: ; // 0x27db2f8
|
|
/* 027DB2F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DB2FC */ _t0 = cpu->r[12] + 0xFFFF9660u;
|
|
/* 027DB2FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB300 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DB304 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 027DB308 */ cpu->r[11] = cpu->r[10] + 0x101F0000u;
|
|
/* 027DB30C */ _t1 = cpu->r[12] + 0xFFFF9660u;
|
|
/* 027DB30C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027DB310 */ _t2 = cpu->r[11] + 0x00002D4Cu;
|
|
/* 027DB310 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 027DB314 */ return;
|
|
}
|
|
|
|
// fn_027DB318 @ 0x27db318
|
|
void Gambit_fn_027DB318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DB318: ; // 0x27db318
|
|
/* 027DB318 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DB318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB318 */ cpu->r[1] = _t0;
|
|
/* 027DB31C */ /* nop */
|
|
/* 027DB320 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB324 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027DB324 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027DB328 */ cpu->r[27] = cpu->r[3];
|
|
/* 027DB32C */ cpu->r[28] = cpu->r[4];
|
|
/* 027DB32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DB330 */ cpu->r[30] = 0x00000000u;
|
|
/* 027DB334 */ _t2 = cpu->r[27] + 0x00000008u;
|
|
/* 027DB334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DB338 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB338 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB338 */ if (_t4) goto L_027DB33C; else goto L_027DB354;
|
|
L_027DB33C: ; // 0x27db33c
|
|
/* 027DB33C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB340 */ /* nop */
|
|
/* 027DB344 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DB344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DB348 */ cpu->lr = cpu->r[0];
|
|
/* 027DB34C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DB350 */ return;
|
|
L_027DB354: ; // 0x27db354
|
|
/* 027DB354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB358 */ cpu->r[29] = 0x00000000u;
|
|
/* 027DB35C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DB35C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB35C */ if (_t7) goto L_027DB360; else goto L_027DB39C;
|
|
L_027DB360: ; // 0x27db360
|
|
/* 027DB360 */ cpu->r[3] = cpu->r[27];
|
|
/* 027DB364 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DB368 */ Gambit_fn_02801F14(cpu);
|
|
/* 027DB36C */ cpu->r[12] = cpu->r[3];
|
|
/* 027DB36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB370 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB370 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DB370 */ if (_t9) goto L_027DB37C; else goto L_027DB374;
|
|
L_027DB374: ; // 0x27db374
|
|
/* 027DB374 */ _t10 = cpu->r[27] + 0x0000000Cu;
|
|
/* 027DB374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB378 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
L_027DB37C: ; // 0x27db37c
|
|
/* 027DB37C */ cpu->ctr = cpu->r[28];
|
|
/* 027DB380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DB384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB388 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB388 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DB388 */ if (_t12) goto L_027DB390; else goto L_027DB38C;
|
|
L_027DB38C: ; // 0x27db38c
|
|
/* 027DB38C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_027DB390: ; // 0x27db390
|
|
/* 027DB390 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027DB390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB394 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027DB398 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB398 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DB398 */ if (_t14) goto L_027DB39C; else goto L_027DB360;
|
|
L_027DB39C: ; // 0x27db39c
|
|
/* 027DB39C */ cpu->r[3] = cpu->r[30];
|
|
/* 027DB3A0 */ /* nop */
|
|
/* 027DB3A4 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 027DB3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB3A8 */ cpu->lr = cpu->r[0];
|
|
/* 027DB3AC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DB3B0 */ return;
|
|
}
|
|
|
|
// fn_027DB3B4 @ 0x27db3b4
|
|
void Gambit_fn_027DB3B4(CPUState* cpu) {
|
|
uint32_t _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_027DB3B4: ; // 0x27db3b4
|
|
/* 027DB3B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB3B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB3B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB3B8 */ cpu->r[1] = _t0;
|
|
/* 027DB3BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB3BC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027DB3C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 027DB3C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB3C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB3C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB3C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB3CC */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB3D0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB3D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027DB3D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB3D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DB3D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB3D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB3D8 */ if (_t7) goto L_027DB43C; else goto L_027DB3DC;
|
|
L_027DB3DC: ; // 0x27db3dc
|
|
/* 027DB3DC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DB3E0 */ cpu->r[6] = cpu->r[6] + 0xFFFFEC3Cu;
|
|
/* 027DB3E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DB3E8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DB3E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027DB3EC */ _t9 = cpu->r[12] + 0xFFFF9664u;
|
|
/* 027DB3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB3EC */ cpu->r[12] = _t9;
|
|
/* 027DB3F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027DB3F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB3F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DB3F4 */ if (_t11) goto L_027DB3F8; else goto L_027DB420;
|
|
L_027DB3F8: ; // 0x27db3f8
|
|
/* 027DB3F8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027DB3FC */ cpu->r[29] = 0x00000000u;
|
|
/* 027DB400 */ _t12 = cpu->r[30] + 0xFFFF965Cu;
|
|
/* 027DB400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB404 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB404 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027DB408 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB40C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027DB40C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB410 */ cpu->ctr = cpu->r[10];
|
|
/* 027DB414 */ cpu->r[4] = 0x00000002u;
|
|
/* 027DB418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DB41C */ _t16 = cpu->r[30] + 0xFFFF965Cu;
|
|
/* 027DB41C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_027DB420: ; // 0x27db420
|
|
/* 027DB420 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB424 */ cpu->r[4] = 0x00000000u;
|
|
/* 027DB428 */ Gambit_fn_02821E68(cpu);
|
|
/* 027DB42C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB430 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB430 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB430 */ if (_t18) goto L_027DB43C; else goto L_027DB434;
|
|
L_027DB434: ; // 0x27db434
|
|
/* 027DB434 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB438 */ Gambit_fn_02801BB0(cpu);
|
|
L_027DB43C: ; // 0x27db43c
|
|
/* 027DB43C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB43C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB440 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB440 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB444 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB448 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB44C */ cpu->lr = cpu->r[0];
|
|
/* 027DB450 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB454 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB458 */ return;
|
|
}
|
|
|
|
// fn_027DB3B8 @ 0x27db3b8
|
|
void Gambit_fn_027DB3B8(CPUState* cpu) {
|
|
uint32_t _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_027DB3B8: ; // 0x27db3b8
|
|
/* 027DB3B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB3B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB3B8 */ cpu->r[1] = _t0;
|
|
/* 027DB3BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB3BC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027DB3C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 027DB3C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB3C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB3C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB3C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB3CC */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB3D0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB3D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027DB3D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB3D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DB3D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB3D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB3D8 */ if (_t7) goto L_027DB43C; else goto L_027DB3DC;
|
|
L_027DB3DC: ; // 0x27db3dc
|
|
/* 027DB3DC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DB3E0 */ cpu->r[6] = cpu->r[6] + 0xFFFFEC3Cu;
|
|
/* 027DB3E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DB3E8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DB3E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027DB3EC */ _t9 = cpu->r[12] + 0xFFFF9664u;
|
|
/* 027DB3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB3EC */ cpu->r[12] = _t9;
|
|
/* 027DB3F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027DB3F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB3F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DB3F4 */ if (_t11) goto L_027DB3F8; else goto L_027DB420;
|
|
L_027DB3F8: ; // 0x27db3f8
|
|
/* 027DB3F8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027DB3FC */ cpu->r[29] = 0x00000000u;
|
|
/* 027DB400 */ _t12 = cpu->r[30] + 0xFFFF965Cu;
|
|
/* 027DB400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB404 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB404 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027DB408 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB40C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027DB40C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB410 */ cpu->ctr = cpu->r[10];
|
|
/* 027DB414 */ cpu->r[4] = 0x00000002u;
|
|
/* 027DB418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DB41C */ _t16 = cpu->r[30] + 0xFFFF965Cu;
|
|
/* 027DB41C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_027DB420: ; // 0x27db420
|
|
/* 027DB420 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB424 */ cpu->r[4] = 0x00000000u;
|
|
/* 027DB428 */ Gambit_fn_02821E68(cpu);
|
|
/* 027DB42C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB430 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB430 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB430 */ if (_t18) goto L_027DB43C; else goto L_027DB434;
|
|
L_027DB434: ; // 0x27db434
|
|
/* 027DB434 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB438 */ Gambit_fn_02801BB0(cpu);
|
|
L_027DB43C: ; // 0x27db43c
|
|
/* 027DB43C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB43C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB440 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB440 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB444 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB448 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB44C */ cpu->lr = cpu->r[0];
|
|
/* 027DB450 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB454 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB458 */ return;
|
|
}
|
|
|
|
// fn_027DB45C @ 0x27db45c
|
|
void Gambit_fn_027DB45C(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_027DB45C: ; // 0x27db45c
|
|
/* 027DB45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB460 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB460 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DB460 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB460 */ goto L_027DB464;
|
|
L_027DB464: ; // 0x27db464
|
|
/* 027DB464 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB468 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB468 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB468 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB468 */ goto L_027DB46C;
|
|
L_027DB46C: ; // 0x27db46c
|
|
/* 027DB46C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DB470 @ 0x27db470
|
|
void Gambit_fn_027DB470(CPUState* cpu) {
|
|
L_027DB470: ; // 0x27db470
|
|
/* 027DB470 */ return;
|
|
}
|
|
|
|
// fn_027DB474 @ 0x27db474
|
|
void Gambit_fn_027DB474(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_027DB474: ; // 0x27db474
|
|
/* 027DB474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB478 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB478 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DB478 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB478 */ goto L_027DB47C;
|
|
L_027DB47C: ; // 0x27db47c
|
|
/* 027DB47C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB480 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB480 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB480 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB480 */ goto L_027DB484;
|
|
L_027DB484: ; // 0x27db484
|
|
/* 027DB484 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DB488 @ 0x27db488
|
|
void Gambit_fn_027DB488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DB488: ; // 0x27db488
|
|
/* 027DB488 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB48C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027DB48C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DB490 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027DB494 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DB498 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027DB498 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027DB49C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027DB49C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027DB4A0 */ return;
|
|
}
|
|
|
|
// fn_027DB4A4 @ 0x27db4a4
|
|
void Gambit_fn_027DB4A4(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_027DB4A4: ; // 0x27db4a4
|
|
/* 027DB4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB4A8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB4A8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DB4A8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB4A8 */ goto L_027DB4AC;
|
|
L_027DB4AC: ; // 0x27db4ac
|
|
/* 027DB4AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB4AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB4B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB4B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB4B0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB4B0 */ goto L_027DB4B4;
|
|
L_027DB4B4: ; // 0x27db4b4
|
|
/* 027DB4B4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DB4B8 @ 0x27db4b8
|
|
void Gambit_fn_027DB4B8(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_027DB4B8: ; // 0x27db4b8
|
|
/* 027DB4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB4BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB4BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DB4BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB4BC */ goto L_027DB4C0;
|
|
L_027DB4C0: ; // 0x27db4c0
|
|
/* 027DB4C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DB4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB4C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB4C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB4C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DB4C4 */ goto L_027DB4C8;
|
|
L_027DB4C8: ; // 0x27db4c8
|
|
/* 027DB4C8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DB4CC @ 0x27db4cc
|
|
void Gambit_fn_027DB4CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DB4CC: ; // 0x27db4cc
|
|
/* 027DB4CC */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027DB4CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB4D0 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DB4D4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB4D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB4D8 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DB4D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB4DC */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB4DC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 027DB4E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027DB4E4 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DB4E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027DB4E8 */ return;
|
|
}
|
|
|
|
// fn_027DB4EC @ 0x27db4ec
|
|
void Gambit_fn_027DB4EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DB4EC: ; // 0x27db4ec
|
|
/* 027DB4EC */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027DB4EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB4F0 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DB4F4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB4F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB4F8 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DB4F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB4FC */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 027DB4FC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 027DB500 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027DB504 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DB504 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027DB508 */ return;
|
|
}
|
|
|
|
// fn_027DB50C @ 0x27db50c
|
|
void Gambit_fn_027DB50C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027DB50C: ; // 0x27db50c
|
|
/* 027DB50C */ cpu->r[0] = cpu->lr;
|
|
/* 027DB510 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DB510 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DB514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB518 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DB518 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DB518 */ cpu->r[1] = _t1;
|
|
/* 027DB51C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB51C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DB51C */ if (_t3) goto L_027DB520; else goto L_027DB530;
|
|
L_027DB520: ; // 0x27db520
|
|
/* 027DB520 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB524 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB52C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB52C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB52C */ if (_t5) goto L_027DB53C; else goto L_027DB530;
|
|
L_027DB530: ; // 0x27db530
|
|
/* 027DB530 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB534 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB534 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027DB538 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB538 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_027DB53C: ; // 0x27db53c
|
|
/* 027DB53C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DB540 */ cpu->lr = cpu->r[0];
|
|
/* 027DB544 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB548 */ return;
|
|
}
|
|
|
|
// fn_027DB518 @ 0x27db518
|
|
void Gambit_fn_027DB518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DB518: ; // 0x27db518
|
|
/* 027DB518 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DB518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB518 */ cpu->r[1] = _t0;
|
|
/* 027DB51C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB51C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DB51C */ if (_t2) goto L_027DB520; else goto L_027DB530;
|
|
L_027DB520: ; // 0x27db520
|
|
/* 027DB520 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB524 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB52C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB52C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB52C */ if (_t4) goto L_027DB53C; else goto L_027DB530;
|
|
L_027DB530: ; // 0x27db530
|
|
/* 027DB530 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB534 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB534 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DB538 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB538 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_027DB53C: ; // 0x27db53c
|
|
/* 027DB53C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB540 */ cpu->lr = cpu->r[0];
|
|
/* 027DB544 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB548 */ return;
|
|
}
|
|
|
|
// fn_027DB54C @ 0x27db54c
|
|
void Gambit_fn_027DB54C(CPUState* cpu) {
|
|
uint32_t _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_027DB54C: ; // 0x27db54c
|
|
/* 027DB54C */ cpu->r[0] = cpu->lr;
|
|
/* 027DB550 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB550 */ cpu->r[1] = _t0;
|
|
/* 027DB554 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB554 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB558 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB558 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB55C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB560 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB564 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB564 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB568 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB568 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DB56C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB56C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB56C */ if (_t6) goto L_027DB570; else goto L_027DB580;
|
|
L_027DB570: ; // 0x27db570
|
|
/* 027DB570 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB574 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB578 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB57C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB57C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB57C */ if (_t8) goto L_027DB5C4; else goto L_027DB580;
|
|
L_027DB580: ; // 0x27db580
|
|
/* 027DB580 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB580 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 027DB584 */ cpu->r[29] = 0x00000000u;
|
|
/* 027DB588 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DB58C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB58C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 027DB590 */ Gambit_fn_027DCA2C(cpu);
|
|
/* 027DB594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB598 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB598 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DB598 */ if (_t12) goto L_027DB59C; else goto L_027DB5AC;
|
|
L_027DB59C: ; // 0x27db59c
|
|
/* 027DB59C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB59C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027DB5A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB5A4 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB5A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DB5A8 */ goto L_027DB5C4;
|
|
L_027DB5AC: ; // 0x27db5ac
|
|
/* 027DB5AC */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB5AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB5B0 */ _t16 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DB5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB5B8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB5B8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB5B8 */ if (_t18) goto L_027DB5C4; else goto L_027DB5BC;
|
|
L_027DB5BC: ; // 0x27db5bc
|
|
/* 027DB5BC */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 027DB5C0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB5C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027DB5C4: ; // 0x27db5c4
|
|
/* 027DB5C4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB5C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB5C8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB5CC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB5D0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB5D4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB5D8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB5DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB5E0 */ return;
|
|
}
|
|
|
|
// fn_027DB550 @ 0x27db550
|
|
void Gambit_fn_027DB550(CPUState* cpu) {
|
|
uint32_t _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_027DB550: ; // 0x27db550
|
|
/* 027DB550 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB550 */ cpu->r[1] = _t0;
|
|
/* 027DB554 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB554 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB558 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB558 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB55C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB560 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB564 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB564 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DB568 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB568 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DB56C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB56C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB56C */ if (_t6) goto L_027DB570; else goto L_027DB580;
|
|
L_027DB570: ; // 0x27db570
|
|
/* 027DB570 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB574 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB578 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB57C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB57C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB57C */ if (_t8) goto L_027DB5C4; else goto L_027DB580;
|
|
L_027DB580: ; // 0x27db580
|
|
/* 027DB580 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB580 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 027DB584 */ cpu->r[29] = 0x00000000u;
|
|
/* 027DB588 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DB58C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB58C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 027DB590 */ Gambit_fn_027DCA2C(cpu);
|
|
/* 027DB594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB598 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB598 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DB598 */ if (_t12) goto L_027DB59C; else goto L_027DB5AC;
|
|
L_027DB59C: ; // 0x27db59c
|
|
/* 027DB59C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB59C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027DB5A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB5A4 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB5A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DB5A8 */ goto L_027DB5C4;
|
|
L_027DB5AC: ; // 0x27db5ac
|
|
/* 027DB5AC */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB5AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB5B0 */ _t16 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DB5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DB5B8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB5B8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DB5B8 */ if (_t18) goto L_027DB5C4; else goto L_027DB5BC;
|
|
L_027DB5BC: ; // 0x27db5bc
|
|
/* 027DB5BC */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 027DB5C0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB5C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027DB5C4: ; // 0x27db5c4
|
|
/* 027DB5C4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB5C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB5C8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB5CC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB5D0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB5D4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB5D8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB5DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB5E0 */ return;
|
|
}
|
|
|
|
// fn_027DB5E4 @ 0x27db5e4
|
|
void Gambit_fn_027DB5E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DB5E4: ; // 0x27db5e4
|
|
/* 027DB5E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB5E8 */ cpu->r[1] = _t0;
|
|
/* 027DB5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB5F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB5F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB5FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB5FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB5FC */ if (_t4) goto L_027DB600; else goto L_027DB610;
|
|
L_027DB600: ; // 0x27db600
|
|
/* 027DB600 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB604 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB60C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB60C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB60C */ if (_t6) goto L_027DB620; else goto L_027DB610;
|
|
L_027DB610: ; // 0x27db610
|
|
/* 027DB610 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB614 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB614 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027DB618 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB61C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB61C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027DB620: ; // 0x27db620
|
|
/* 027DB620 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB624 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB628 */ cpu->lr = cpu->r[0];
|
|
/* 027DB62C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB630 */ return;
|
|
}
|
|
|
|
// fn_027DB5E8 @ 0x27db5e8
|
|
void Gambit_fn_027DB5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DB5E8: ; // 0x27db5e8
|
|
/* 027DB5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB5E8 */ cpu->r[1] = _t0;
|
|
/* 027DB5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB5F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB5F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB5FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB5FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB5FC */ if (_t4) goto L_027DB600; else goto L_027DB610;
|
|
L_027DB600: ; // 0x27db600
|
|
/* 027DB600 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB604 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB60C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB60C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB60C */ if (_t6) goto L_027DB620; else goto L_027DB610;
|
|
L_027DB610: ; // 0x27db610
|
|
/* 027DB610 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 027DB610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB614 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB614 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027DB618 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 027DB618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB61C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB61C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027DB620: ; // 0x27db620
|
|
/* 027DB620 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB624 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB624 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB628 */ cpu->lr = cpu->r[0];
|
|
/* 027DB62C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB630 */ return;
|
|
}
|
|
|
|
// fn_027DB634 @ 0x27db634
|
|
void Gambit_fn_027DB634(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DB634: ; // 0x27db634
|
|
/* 027DB634 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB638 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB638 */ cpu->r[1] = _t0;
|
|
/* 027DB63C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB63C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB640 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[4]);
|
|
/* 027DB648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB648 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB64C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB64C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB64C */ if (_t4) goto L_027DB660; else goto L_027DB650;
|
|
L_027DB650: ; // 0x27db650
|
|
/* 027DB650 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DB654 */ cpu->r[5] = 0x00000008u;
|
|
/* 027DB658 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB65C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_027DB660: ; // 0x27db660
|
|
/* 027DB660 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DB664 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB668 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB66C */ cpu->lr = cpu->r[0];
|
|
/* 027DB670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB674 */ return;
|
|
}
|
|
|
|
// fn_027DB638 @ 0x27db638
|
|
void Gambit_fn_027DB638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DB638: ; // 0x27db638
|
|
/* 027DB638 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB638 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB638 */ cpu->r[1] = _t0;
|
|
/* 027DB63C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB63C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB640 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[4]);
|
|
/* 027DB648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB648 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB64C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB64C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DB64C */ if (_t4) goto L_027DB660; else goto L_027DB650;
|
|
L_027DB650: ; // 0x27db650
|
|
/* 027DB650 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DB654 */ cpu->r[5] = 0x00000008u;
|
|
/* 027DB658 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB65C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_027DB660: ; // 0x27db660
|
|
/* 027DB660 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DB664 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB668 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB66C */ cpu->lr = cpu->r[0];
|
|
/* 027DB670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB674 */ return;
|
|
}
|
|
|
|
// fn_027DB678 @ 0x27db678
|
|
void Gambit_fn_027DB678(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027DB678: ; // 0x27db678
|
|
/* 027DB678 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB67C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027DB680 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 027DB684 */ return;
|
|
}
|
|
|
|
// fn_027DB688 @ 0x27db688
|
|
void Gambit_fn_027DB688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DB688: ; // 0x27db688
|
|
/* 027DB688 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB690 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB694 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB694 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DB694 */ if (_t2) goto L_027DB6A8; else goto L_027DB698;
|
|
L_027DB698: ; // 0x27db698
|
|
/* 027DB698 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB698 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027DB69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DB6A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB6A0 */ if (_t5) goto L_027DB6A4; else goto L_027DB6A8;
|
|
L_027DB6A4: ; // 0x27db6a4
|
|
/* 027DB6A4 */ cpu->r[0] = 0x00000001u;
|
|
L_027DB6A8: ; // 0x27db6a8
|
|
/* 027DB6A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027DB6AC */ return;
|
|
}
|
|
|
|
// fn_027DB6B0 @ 0x27db6b0
|
|
void Gambit_fn_027DB6B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DB6B0: ; // 0x27db6b0
|
|
/* 027DB6B0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB6B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB6B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB6BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6BC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DB6BC */ if (_t2) goto L_027DB6D0; else goto L_027DB6C0;
|
|
L_027DB6C0: ; // 0x27db6c0
|
|
/* 027DB6C0 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB6C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027DB6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DB6C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB6C8 */ if (_t5) goto L_027DB6CC; else goto L_027DB6D0;
|
|
L_027DB6CC: ; // 0x27db6cc
|
|
/* 027DB6CC */ cpu->r[0] = 0x00000001u;
|
|
L_027DB6D0: ; // 0x27db6d0
|
|
/* 027DB6D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027DB6D4 */ return;
|
|
}
|
|
|
|
// fn_027DB6D8 @ 0x27db6d8
|
|
void Gambit_fn_027DB6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DB6D8: ; // 0x27db6d8
|
|
/* 027DB6D8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB6D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DB6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DB6E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DB6E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DB6E4 */ if (_t2) goto L_027DB700; else goto L_027DB6E8;
|
|
L_027DB6E8: ; // 0x27db6e8
|
|
/* 027DB6E8 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DB6E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027DB6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DB6F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB6F0 */ if (_t5) goto L_027DB6FC; else goto L_027DB6F4;
|
|
L_027DB6F4: ; // 0x27db6f4
|
|
/* 027DB6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DB6F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB6F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB6F8 */ if (_t7) goto L_027DB6FC; else goto L_027DB700;
|
|
L_027DB6FC: ; // 0x27db6fc
|
|
/* 027DB6FC */ cpu->r[0] = 0x00000001u;
|
|
L_027DB700: ; // 0x27db700
|
|
/* 027DB700 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027DB704 */ return;
|
|
}
|
|
|
|
// fn_027DB708 @ 0x27db708
|
|
void Gambit_fn_027DB708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DB708: ; // 0x27db708
|
|
/* 027DB708 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB70C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB70C */ cpu->r[1] = _t0;
|
|
/* 027DB710 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB714 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB714 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB718 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB71C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 027DB71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB724 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB728 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DB72C */ Gambit_fn_027DC358(cpu);
|
|
/* 027DB730 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB734 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB738 */ Gambit_fn_027DC440(cpu);
|
|
/* 027DB73C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DB740 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB744 */ cpu->lr = cpu->r[0];
|
|
/* 027DB748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB74C */ return;
|
|
}
|
|
|
|
// fn_027DB70C @ 0x27db70c
|
|
void Gambit_fn_027DB70C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DB70C: ; // 0x27db70c
|
|
/* 027DB70C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB70C */ cpu->r[1] = _t0;
|
|
/* 027DB710 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB714 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB714 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB718 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB71C */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 027DB71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB724 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB728 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DB72C */ Gambit_fn_027DC358(cpu);
|
|
/* 027DB730 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB734 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB738 */ Gambit_fn_027DC440(cpu);
|
|
/* 027DB73C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DB740 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DB744 */ cpu->lr = cpu->r[0];
|
|
/* 027DB748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB74C */ return;
|
|
}
|
|
|
|
// fn_027DB750 @ 0x27db750
|
|
void Gambit_fn_027DB750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DB750: ; // 0x27db750
|
|
/* 027DB750 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB754 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB754 */ cpu->r[1] = _t0;
|
|
/* 027DB758 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB758 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB75C */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB760 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB760 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB764 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB764 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB768 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DB76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB770 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB770 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB770 */ if (_t5) goto L_027DB784; else goto L_027DB774;
|
|
L_027DB774: ; // 0x27db774
|
|
/* 027DB774 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DB778 */ Gambit_fn_027DB708(cpu);
|
|
/* 027DB77C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB780 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DB780 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB780 */ if (_t7) goto L_027DB784; else goto L_027DB7A0;
|
|
L_027DB784: ; // 0x27db784
|
|
/* 027DB784 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DB788 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB78C */ cpu->lr = cpu->r[0];
|
|
/* 027DB790 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB794 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB798 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB79C */ return;
|
|
L_027DB7A0: ; // 0x27db7a0
|
|
/* 027DB7A0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 027DB7A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB7A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB7A8 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DB7AC */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB7B4 */ Gambit_fn_027DC6DC(cpu);
|
|
/* 027DB7B8 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027DB7BC */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB7C0 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027DB7C4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB7C8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB7C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB7CC */ cpu->lr = cpu->r[0];
|
|
/* 027DB7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB7D4 */ return;
|
|
}
|
|
|
|
// fn_027DB754 @ 0x27db754
|
|
void Gambit_fn_027DB754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DB754: ; // 0x27db754
|
|
/* 027DB754 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB754 */ cpu->r[1] = _t0;
|
|
/* 027DB758 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB758 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB75C */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB760 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB760 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB764 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB764 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB768 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DB76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB770 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB770 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB770 */ if (_t5) goto L_027DB784; else goto L_027DB774;
|
|
L_027DB774: ; // 0x27db774
|
|
/* 027DB774 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DB778 */ Gambit_fn_027DB708(cpu);
|
|
/* 027DB77C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DB77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DB780 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DB780 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB780 */ if (_t7) goto L_027DB784; else goto L_027DB7A0;
|
|
L_027DB784: ; // 0x27db784
|
|
/* 027DB784 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DB788 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB788 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB78C */ cpu->lr = cpu->r[0];
|
|
/* 027DB790 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB794 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB798 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB79C */ return;
|
|
L_027DB7A0: ; // 0x27db7a0
|
|
/* 027DB7A0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 027DB7A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB7A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB7A8 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DB7AC */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB7B4 */ Gambit_fn_027DC6DC(cpu);
|
|
/* 027DB7B8 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027DB7BC */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB7C0 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027DB7C4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB7C8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB7C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB7CC */ cpu->lr = cpu->r[0];
|
|
/* 027DB7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB7D4 */ return;
|
|
}
|
|
|
|
// fn_027DB7D8 @ 0x27db7d8
|
|
void Gambit_fn_027DB7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027DB7D8: ; // 0x27db7d8
|
|
/* 027DB7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB7DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB7DC */ cpu->r[1] = _t0;
|
|
/* 027DB7E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB7E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB7E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DB7EC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB7EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027DB7F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB7F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DB7F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DB7F8 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DB7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB800 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB800 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB800 */ if (_t6) goto L_027DB818; else goto L_027DB804;
|
|
L_027DB804: ; // 0x27db804
|
|
/* 027DB804 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DB808 */ cpu->r[4] = cpu->r[5];
|
|
/* 027DB80C */ Gambit_fn_027DB708(cpu);
|
|
/* 027DB810 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DB814 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DB814 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB814 */ if (_t8) goto L_027DB818; else goto L_027DB838;
|
|
L_027DB818: ; // 0x27db818
|
|
/* 027DB818 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB818 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB81C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB820 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB820 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB824 */ cpu->lr = cpu->r[0];
|
|
/* 027DB828 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB828 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB82C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB830 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB834 */ return;
|
|
L_027DB838: ; // 0x27db838
|
|
/* 027DB838 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 027DB838 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB83C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB840 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DB844 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DB848 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB84C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB850 */ Gambit_fn_027DC764(cpu);
|
|
/* 027DB854 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB854 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB858 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB85C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB85C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB860 */ cpu->lr = cpu->r[0];
|
|
/* 027DB864 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB868 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB86C */ return;
|
|
}
|
|
|
|
// fn_027DB7DC @ 0x27db7dc
|
|
void Gambit_fn_027DB7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027DB7DC: ; // 0x27db7dc
|
|
/* 027DB7DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB7DC */ cpu->r[1] = _t0;
|
|
/* 027DB7E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB7E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB7E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DB7EC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB7EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027DB7F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB7F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DB7F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DB7F8 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DB7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB800 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB800 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB800 */ if (_t6) goto L_027DB818; else goto L_027DB804;
|
|
L_027DB804: ; // 0x27db804
|
|
/* 027DB804 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DB808 */ cpu->r[4] = cpu->r[5];
|
|
/* 027DB80C */ Gambit_fn_027DB708(cpu);
|
|
/* 027DB810 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DB814 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DB814 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB814 */ if (_t8) goto L_027DB818; else goto L_027DB838;
|
|
L_027DB818: ; // 0x27db818
|
|
/* 027DB818 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB818 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB81C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB820 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB820 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB824 */ cpu->lr = cpu->r[0];
|
|
/* 027DB828 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB828 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB82C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB830 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DB834 */ return;
|
|
L_027DB838: ; // 0x27db838
|
|
/* 027DB838 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 027DB838 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB83C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB840 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DB844 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DB848 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB84C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DB850 */ Gambit_fn_027DC764(cpu);
|
|
/* 027DB854 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB854 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB858 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB85C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB85C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DB860 */ cpu->lr = cpu->r[0];
|
|
/* 027DB864 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DB868 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB86C */ return;
|
|
}
|
|
|
|
// fn_027DB870 @ 0x27db870
|
|
void Gambit_fn_027DB870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DB870: ; // 0x27db870
|
|
/* 027DB870 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB874 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB874 */ cpu->r[1] = _t0;
|
|
/* 027DB878 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB878 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB87C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB87C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB880 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DB884 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB88C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB890 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB890 */ if (_t5) goto L_027DB894; else goto L_027DB8A4;
|
|
L_027DB894: ; // 0x27db894
|
|
/* 027DB894 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB898 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB8A0 */ if (_t7) goto L_027DB8AC; else goto L_027DB8A4;
|
|
L_027DB8A4: ; // 0x27db8a4
|
|
/* 027DB8A4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB8A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 027DB8A8 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB8A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
L_027DB8AC: ; // 0x27db8ac
|
|
/* 027DB8AC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB8B0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB8B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB8B4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB8B8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB8BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB8C0 */ return;
|
|
}
|
|
|
|
// fn_027DB874 @ 0x27db874
|
|
void Gambit_fn_027DB874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DB874: ; // 0x27db874
|
|
/* 027DB874 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DB874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB874 */ cpu->r[1] = _t0;
|
|
/* 027DB878 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB878 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB87C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB87C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB880 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DB884 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DB888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB88C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB890 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB890 */ if (_t5) goto L_027DB894; else goto L_027DB8A4;
|
|
L_027DB894: ; // 0x27db894
|
|
/* 027DB894 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DB898 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DB89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DB8A0 */ if (_t7) goto L_027DB8AC; else goto L_027DB8A4;
|
|
L_027DB8A4: ; // 0x27db8a4
|
|
/* 027DB8A4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 027DB8A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 027DB8A8 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 027DB8A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
L_027DB8AC: ; // 0x27db8ac
|
|
/* 027DB8AC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DB8B0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB8B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB8B4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB8B8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB8B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB8BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DB8C0 */ return;
|
|
}
|
|
|
|
// fn_027DB8C4 @ 0x27db8c4
|
|
void Gambit_fn_027DB8C4(CPUState* cpu) {
|
|
uint32_t _t0, _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_027DB8C4: ; // 0x27db8c4
|
|
/* 027DB8C4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB8C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB8C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB8C8 */ cpu->r[1] = _t0;
|
|
/* 027DB8CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB8CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB8D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB8D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB8D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB8D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB8DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB8E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB8E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB8E4 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DB8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB8EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB8EC */ if (_t5) goto L_027DB960; else goto L_027DB8F0;
|
|
L_027DB8F0: ; // 0x27db8f0
|
|
/* 027DB8F0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB8F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DB8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C0u);
|
|
/* 027DB8F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB8F8 */ if (_t8) goto L_027DB904; else goto L_027DB8FC;
|
|
L_027DB8FC: ; // 0x27db8fc
|
|
/* 027DB8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C1u);
|
|
/* 027DB900 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB900 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DB900 */ if (_t10) goto L_027DB904; else goto L_027DB930;
|
|
L_027DB904: ; // 0x27db904
|
|
/* 027DB904 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 027DB904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB908 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB90C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB910 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DB914 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DB918 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB91C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB91C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB920 */ cpu->lr = cpu->r[0];
|
|
/* 027DB924 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB928 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB92C */ return;
|
|
L_027DB930: ; // 0x27db930
|
|
/* 027DB930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
|
|
/* 027DB934 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB934 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DB934 */ if (_t17) goto L_027DB938; else goto L_027DB960;
|
|
L_027DB938: ; // 0x27db938
|
|
/* 027DB938 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DB938 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB93C */ cpu->r[5] = 0x00000000u;
|
|
/* 027DB940 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB944 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DB948 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB94C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB94C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB950 */ cpu->lr = cpu->r[0];
|
|
/* 027DB954 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB954 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB958 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB95C */ return;
|
|
L_027DB960: ; // 0x27db960
|
|
/* 027DB960 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB964 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027DB968 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB96C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB970 */ cpu->lr = cpu->r[0];
|
|
/* 027DB974 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB978 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB97C */ return;
|
|
}
|
|
|
|
// fn_027DB8C8 @ 0x27db8c8
|
|
void Gambit_fn_027DB8C8(CPUState* cpu) {
|
|
uint32_t _t0, _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_027DB8C8: ; // 0x27db8c8
|
|
/* 027DB8C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB8C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB8C8 */ cpu->r[1] = _t0;
|
|
/* 027DB8CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB8CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB8D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB8D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB8D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB8D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB8DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027DB8E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB8E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB8E4 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DB8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DB8EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DB8EC */ if (_t5) goto L_027DB960; else goto L_027DB8F0;
|
|
L_027DB8F0: ; // 0x27db8f0
|
|
/* 027DB8F0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DB8F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DB8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C0u);
|
|
/* 027DB8F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB8F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DB8F8 */ if (_t8) goto L_027DB904; else goto L_027DB8FC;
|
|
L_027DB8FC: ; // 0x27db8fc
|
|
/* 027DB8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C1u);
|
|
/* 027DB900 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB900 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DB900 */ if (_t10) goto L_027DB904; else goto L_027DB930;
|
|
L_027DB904: ; // 0x27db904
|
|
/* 027DB904 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 027DB904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DB908 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB90C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DB90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DB910 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DB914 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DB918 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DB91C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB91C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DB920 */ cpu->lr = cpu->r[0];
|
|
/* 027DB924 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DB928 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB92C */ return;
|
|
L_027DB930: ; // 0x27db930
|
|
/* 027DB930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FFu);
|
|
/* 027DB934 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB934 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DB934 */ if (_t17) goto L_027DB938; else goto L_027DB960;
|
|
L_027DB938: ; // 0x27db938
|
|
/* 027DB938 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DB938 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DB93C */ cpu->r[5] = 0x00000000u;
|
|
/* 027DB940 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB944 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DB948 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DB94C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB94C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DB950 */ cpu->lr = cpu->r[0];
|
|
/* 027DB954 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB954 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DB958 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB95C */ return;
|
|
L_027DB960: ; // 0x27db960
|
|
/* 027DB960 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB964 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027DB968 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DB96C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB96C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DB970 */ cpu->lr = cpu->r[0];
|
|
/* 027DB974 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DB978 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB97C */ return;
|
|
}
|
|
|
|
// fn_027DB980 @ 0x27db980
|
|
void Gambit_fn_027DB980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DB980: ; // 0x27db980
|
|
/* 027DB980 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB984 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB984 */ cpu->r[1] = _t0;
|
|
/* 027DB988 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB988 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB98C */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB990 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB994 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB994 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB998 */ Gambit_fn_027DB8C4(cpu);
|
|
/* 027DB99C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB9A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB9A4 */ Gambit_fn_027DB634(cpu);
|
|
/* 027DB9A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB9AC */ Gambit_fn_027DB678(cpu);
|
|
/* 027DB9B0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB9B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB9B8 */ cpu->lr = cpu->r[0];
|
|
/* 027DB9BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB9C0 */ return;
|
|
}
|
|
|
|
// fn_027DB984 @ 0x27db984
|
|
void Gambit_fn_027DB984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DB984: ; // 0x27db984
|
|
/* 027DB984 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB984 */ cpu->r[1] = _t0;
|
|
/* 027DB988 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB988 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DB98C */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB990 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB994 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB994 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DB998 */ Gambit_fn_027DB8C4(cpu);
|
|
/* 027DB99C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB9A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DB9A4 */ Gambit_fn_027DB634(cpu);
|
|
/* 027DB9A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DB9AC */ Gambit_fn_027DB678(cpu);
|
|
/* 027DB9B0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DB9B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DB9B8 */ cpu->lr = cpu->r[0];
|
|
/* 027DB9BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DB9C0 */ return;
|
|
}
|
|
|
|
// fn_027DB9C4 @ 0x27db9c4
|
|
void Gambit_fn_027DB9C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DB9C4: ; // 0x27db9c4
|
|
/* 027DB9C4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DB9C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB9C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB9C8 */ cpu->r[1] = _t0;
|
|
/* 027DB9CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB9CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB9D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB9D4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DB9D8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB9DC */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 027DB9DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027DB9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000A0u);
|
|
/* 027DB9E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB9E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB9E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB9E8 */ if (_t6) goto L_027DBA08; else goto L_027DB9EC;
|
|
L_027DB9EC: ; // 0x27db9ec
|
|
/* 027DB9EC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB9F0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DB9F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB9F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB9FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA00 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBA04 */ return;
|
|
L_027DBA08: ; // 0x27dba08
|
|
/* 027DBA08 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027DBA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBA0C */ _t11 = cpu->r[12] + 0x00000008u;
|
|
/* 027DBA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBA10 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA14 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DBA18 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DBA1C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBA1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBA20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA24 */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DBA28 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027DBA28 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 027DBA2C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBA30 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBA30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBA34 */ cpu->lr = cpu->r[0];
|
|
/* 027DBA38 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DBA3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA40 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBA44 */ return;
|
|
}
|
|
|
|
// fn_027DB9C8 @ 0x27db9c8
|
|
void Gambit_fn_027DB9C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DB9C8: ; // 0x27db9c8
|
|
/* 027DB9C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DB9C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DB9C8 */ cpu->r[1] = _t0;
|
|
/* 027DB9CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB9CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DB9D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DB9D4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DB9D8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DB9DC */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 027DB9DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027DB9E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000A0u);
|
|
/* 027DB9E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DB9E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DB9E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DB9E8 */ if (_t6) goto L_027DBA08; else goto L_027DB9EC;
|
|
L_027DB9EC: ; // 0x27db9ec
|
|
/* 027DB9EC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DB9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DB9F0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DB9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DB9F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DB9F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DB9F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DB9FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA00 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBA04 */ return;
|
|
L_027DBA08: ; // 0x27dba08
|
|
/* 027DBA08 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027DBA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBA0C */ _t11 = cpu->r[12] + 0x00000008u;
|
|
/* 027DBA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBA10 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA14 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DBA18 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DBA1C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBA1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBA20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA24 */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DBA28 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027DBA28 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 027DBA2C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBA30 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBA30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBA34 */ cpu->lr = cpu->r[0];
|
|
/* 027DBA38 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DBA3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA40 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBA44 */ return;
|
|
}
|
|
|
|
// fn_027DBA48 @ 0x27dba48
|
|
void Gambit_fn_027DBA48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBA48: ; // 0x27dba48
|
|
/* 027DBA48 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBA4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBA4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBA4C */ cpu->r[1] = _t0;
|
|
/* 027DBA50 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBA54 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBA58 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBA58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBA5C */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBA60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBA68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBA68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBA6C */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBA70 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBA78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBA78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBA78 */ if (_t6) goto L_027DBA90; else goto L_027DBA7C;
|
|
L_027DBA7C: ; // 0x27dba7c
|
|
/* 027DBA7C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA80 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBA84 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBA88 */ Gambit_fn_027DB9C4(cpu);
|
|
/* 027DBA8C */ cpu->r[31] = cpu->r[3];
|
|
L_027DBA90: ; // 0x27dba90
|
|
/* 027DBA90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBA94 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBA98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBA9C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBAA0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBAA4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBAA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBAAC */ return;
|
|
}
|
|
|
|
// fn_027DBA4C @ 0x27dba4c
|
|
void Gambit_fn_027DBA4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBA4C: ; // 0x27dba4c
|
|
/* 027DBA4C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBA4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBA4C */ cpu->r[1] = _t0;
|
|
/* 027DBA50 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBA54 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBA58 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBA58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBA5C */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBA60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBA68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBA68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBA6C */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBA70 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBA78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBA78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBA78 */ if (_t6) goto L_027DBA90; else goto L_027DBA7C;
|
|
L_027DBA7C: ; // 0x27dba7c
|
|
/* 027DBA7C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBA80 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBA84 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBA88 */ Gambit_fn_027DB9C4(cpu);
|
|
/* 027DBA8C */ cpu->r[31] = cpu->r[3];
|
|
L_027DBA90: ; // 0x27dba90
|
|
/* 027DBA90 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBA90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBA94 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBA98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBA9C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBAA0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBAA4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBAA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBAAC */ return;
|
|
}
|
|
|
|
// fn_027DBAB0 @ 0x27dbab0
|
|
void Gambit_fn_027DBAB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DBAB0: ; // 0x27dbab0
|
|
/* 027DBAB0 */ _t0 = cpu->r[5] + 0x00000004u;
|
|
/* 027DBAB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027DBAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000D1u);
|
|
/* 027DBAB8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBAB8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DBAB8 */ if (_t2) goto L_027DBAC4; else goto L_027DBABC;
|
|
L_027DBABC: ; // 0x27dbabc
|
|
/* 027DBABC */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBAC0 */ return;
|
|
L_027DBAC4: ; // 0x27dbac4
|
|
/* 027DBAC4 */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 027DBAC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DBAC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBACC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 027DBACC */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027DBAD0 */ return;
|
|
}
|
|
|
|
// fn_027DBAD4 @ 0x27dbad4
|
|
void Gambit_fn_027DBAD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBAD4: ; // 0x27dbad4
|
|
/* 027DBAD4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBAD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBAD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBAD8 */ cpu->r[1] = _t0;
|
|
/* 027DBADC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBADC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBAE0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBAE4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBAE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBAE8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBAEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBAF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBAF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBAF4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBAF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBAF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBAFC */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBB04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBB04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBB04 */ if (_t6) goto L_027DBB1C; else goto L_027DBB08;
|
|
L_027DBB08: ; // 0x27dbb08
|
|
/* 027DBB08 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB0C */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBB10 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBB14 */ Gambit_fn_027DBAB0(cpu);
|
|
/* 027DBB18 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBB1C: ; // 0x27dbb1c
|
|
/* 027DBB1C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBB1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBB20 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBB24 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBB28 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBB2C */ cpu->lr = cpu->r[0];
|
|
/* 027DBB30 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBB34 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBB38 */ return;
|
|
}
|
|
|
|
// fn_027DBAD8 @ 0x27dbad8
|
|
void Gambit_fn_027DBAD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBAD8: ; // 0x27dbad8
|
|
/* 027DBAD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBAD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBAD8 */ cpu->r[1] = _t0;
|
|
/* 027DBADC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBADC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBAE0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBAE4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBAE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBAE8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBAEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBAF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBAF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBAF4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBAF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBAF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBAFC */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBB04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBB04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBB04 */ if (_t6) goto L_027DBB1C; else goto L_027DBB08;
|
|
L_027DBB08: ; // 0x27dbb08
|
|
/* 027DBB08 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB0C */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBB10 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBB14 */ Gambit_fn_027DBAB0(cpu);
|
|
/* 027DBB18 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBB1C: ; // 0x27dbb1c
|
|
/* 027DBB1C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBB1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBB20 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBB24 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBB28 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBB28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBB2C */ cpu->lr = cpu->r[0];
|
|
/* 027DBB30 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBB34 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBB38 */ return;
|
|
}
|
|
|
|
// fn_027DBB3C @ 0x27dbb3c
|
|
void Gambit_fn_027DBB3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DBB3C: ; // 0x27dbb3c
|
|
/* 027DBB3C */ _t0 = cpu->r[5] + 0x00000004u;
|
|
/* 027DBB3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027DBB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000D1u);
|
|
/* 027DBB44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBB44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DBB44 */ if (_t2) goto L_027DBB50; else goto L_027DBB48;
|
|
L_027DBB48: ; // 0x27dbb48
|
|
/* 027DBB48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBB4C */ return;
|
|
L_027DBB50: ; // 0x27dbb50
|
|
/* 027DBB50 */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 027DBB50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DBB54 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBB58 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 027DBB58 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027DBB5C */ return;
|
|
}
|
|
|
|
// fn_027DBB60 @ 0x27dbb60
|
|
void Gambit_fn_027DBB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBB60: ; // 0x27dbb60
|
|
/* 027DBB60 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBB64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBB64 */ cpu->r[1] = _t0;
|
|
/* 027DBB68 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBB6C */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBB70 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBB74 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBB78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBB80 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBB80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBB84 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBB88 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBB90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBB90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBB90 */ if (_t6) goto L_027DBBA8; else goto L_027DBB94;
|
|
L_027DBB94: ; // 0x27dbb94
|
|
/* 027DBB94 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB98 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBB9C */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBBA0 */ Gambit_fn_027DBB3C(cpu);
|
|
/* 027DBBA4 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBBA8: ; // 0x27dbba8
|
|
/* 027DBBA8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBBA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBBAC */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBBB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBBB4 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBBB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBBB8 */ cpu->lr = cpu->r[0];
|
|
/* 027DBBBC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBBBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBBC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBBC4 */ return;
|
|
}
|
|
|
|
// fn_027DBB64 @ 0x27dbb64
|
|
void Gambit_fn_027DBB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBB64: ; // 0x27dbb64
|
|
/* 027DBB64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBB64 */ cpu->r[1] = _t0;
|
|
/* 027DBB68 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBB6C */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBB70 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBB74 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBB78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBB80 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBB80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBB84 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBB88 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBB90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBB90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBB90 */ if (_t6) goto L_027DBBA8; else goto L_027DBB94;
|
|
L_027DBB94: ; // 0x27dbb94
|
|
/* 027DBB94 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBB98 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBB9C */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBBA0 */ Gambit_fn_027DBB3C(cpu);
|
|
/* 027DBBA4 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBBA8: ; // 0x27dbba8
|
|
/* 027DBBA8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBBA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBBAC */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBBB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBBB4 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBBB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBBB8 */ cpu->lr = cpu->r[0];
|
|
/* 027DBBBC */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBBBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBBC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBBC4 */ return;
|
|
}
|
|
|
|
// fn_027DBBC8 @ 0x27dbbc8
|
|
void Gambit_fn_027DBBC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DBBC8: ; // 0x27dbbc8
|
|
/* 027DBBC8 */ _t0 = cpu->r[5] + 0x00000004u;
|
|
/* 027DBBC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027DBBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000D2u);
|
|
/* 027DBBD0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBBD0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DBBD0 */ if (_t2) goto L_027DBBDC; else goto L_027DBBD4;
|
|
L_027DBBD4: ; // 0x27dbbd4
|
|
/* 027DBBD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBBD8 */ return;
|
|
L_027DBBDC: ; // 0x27dbbdc
|
|
/* 027DBBDC */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 027DBBDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027DBBE0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBBE4 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 027DBBE4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 027DBBE8 */ return;
|
|
}
|
|
|
|
// fn_027DBBEC @ 0x27dbbec
|
|
void Gambit_fn_027DBBEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBBEC: ; // 0x27dbbec
|
|
/* 027DBBEC */ cpu->r[0] = cpu->lr;
|
|
/* 027DBBF0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBBF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBBF0 */ cpu->r[1] = _t0;
|
|
/* 027DBBF4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBBF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBBF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBBFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBBFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBC00 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBC04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBC08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBC08 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBC0C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBC0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBC10 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBC14 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBC1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBC1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBC1C */ if (_t6) goto L_027DBC34; else goto L_027DBC20;
|
|
L_027DBC20: ; // 0x27dbc20
|
|
/* 027DBC20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBC24 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBC28 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBC2C */ Gambit_fn_027DBBC8(cpu);
|
|
/* 027DBC30 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBC34: ; // 0x27dbc34
|
|
/* 027DBC34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBC34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBC38 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBC3C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBC40 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBC40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBC44 */ cpu->lr = cpu->r[0];
|
|
/* 027DBC48 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBC48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBC4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBC50 */ return;
|
|
}
|
|
|
|
// fn_027DBBF0 @ 0x27dbbf0
|
|
void Gambit_fn_027DBBF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBBF0: ; // 0x27dbbf0
|
|
/* 027DBBF0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBBF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBBF0 */ cpu->r[1] = _t0;
|
|
/* 027DBBF4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBBF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBBF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBBFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBBFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBC00 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBC04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBC08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBC08 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBC0C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBC0C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBC10 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBC14 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBC1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBC1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBC1C */ if (_t6) goto L_027DBC34; else goto L_027DBC20;
|
|
L_027DBC20: ; // 0x27dbc20
|
|
/* 027DBC20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBC24 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBC28 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBC2C */ Gambit_fn_027DBBC8(cpu);
|
|
/* 027DBC30 */ cpu->r[31] = cpu->r[3];
|
|
L_027DBC34: ; // 0x27dbc34
|
|
/* 027DBC34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBC34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBC38 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBC3C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBC40 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBC40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBC44 */ cpu->lr = cpu->r[0];
|
|
/* 027DBC48 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBC48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBC4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBC50 */ return;
|
|
}
|
|
|
|
// fn_027DBC54 @ 0x27dbc54
|
|
void Gambit_fn_027DBC54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DBC54: ; // 0x27dbc54
|
|
/* 027DBC54 */ _t0 = cpu->r[5] + 0x00000004u;
|
|
/* 027DBC54 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027DBC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000D1u);
|
|
/* 027DBC5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBC5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DBC5C */ if (_t2) goto L_027DBC70; else goto L_027DBC60;
|
|
L_027DBC60: ; // 0x27dbc60
|
|
/* 027DBC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000D0u);
|
|
/* 027DBC64 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBC64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DBC64 */ if (_t4) goto L_027DBC70; else goto L_027DBC68;
|
|
L_027DBC68: ; // 0x27dbc68
|
|
/* 027DBC68 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBC6C */ return;
|
|
L_027DBC70: ; // 0x27dbc70
|
|
/* 027DBC70 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 027DBC70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DBC74 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027DBC78 */ cpu->r[0] = cpu->r[11] - cpu->r[0];
|
|
/* 027DBC7C */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBC80 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 027DBC80 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 027DBC84 */ return;
|
|
}
|
|
|
|
// fn_027DBC88 @ 0x27dbc88
|
|
void Gambit_fn_027DBC88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBC88: ; // 0x27dbc88
|
|
/* 027DBC88 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBC8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBC8C */ cpu->r[1] = _t0;
|
|
/* 027DBC90 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBC94 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBC98 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBC98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBC9C */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBCA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBCA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBCA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBCA8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBCA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBCAC */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBCB0 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBCB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBCB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBCB8 */ if (_t6) goto L_027DBCD0; else goto L_027DBCBC;
|
|
L_027DBCBC: ; // 0x27dbcbc
|
|
/* 027DBCBC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBCC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBCC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBCC8 */ Gambit_fn_027DBC54(cpu);
|
|
/* 027DBCCC */ cpu->r[31] = cpu->r[3];
|
|
L_027DBCD0: ; // 0x27dbcd0
|
|
/* 027DBCD0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBCD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBCD4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBCD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBCDC */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBCDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBCE0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBCE4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBCE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBCE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBCEC */ return;
|
|
}
|
|
|
|
// fn_027DBC8C @ 0x27dbc8c
|
|
void Gambit_fn_027DBC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DBC8C: ; // 0x27dbc8c
|
|
/* 027DBC8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBC8C */ cpu->r[1] = _t0;
|
|
/* 027DBC90 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBC94 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBC98 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBC98 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBC9C */ cpu->r[31] = 0x00000000u;
|
|
/* 027DBCA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBCA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBCA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DBCA8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBCA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBCAC */ cpu->r[29] = cpu->r[3];
|
|
/* 027DBCB0 */ Gambit_fn_027DB7D8(cpu);
|
|
/* 027DBCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBCB8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBCB8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBCB8 */ if (_t6) goto L_027DBCD0; else goto L_027DBCBC;
|
|
L_027DBCBC: ; // 0x27dbcbc
|
|
/* 027DBCBC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBCC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DBCC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DBCC8 */ Gambit_fn_027DBC54(cpu);
|
|
/* 027DBCCC */ cpu->r[31] = cpu->r[3];
|
|
L_027DBCD0: ; // 0x27dbcd0
|
|
/* 027DBCD0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBCD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBCD4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBCD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBCDC */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBCDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBCE0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBCE4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBCE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBCE8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBCEC */ return;
|
|
}
|
|
|
|
// fn_027DBCF0 @ 0x27dbcf0
|
|
void Gambit_fn_027DBCF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DBCF0: ; // 0x27dbcf0
|
|
/* 027DBCF0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBCF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBCF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBCF4 */ cpu->r[1] = _t0;
|
|
/* 027DBCF8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBCF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBCFC */ cpu->r[31] = cpu->r[5];
|
|
/* 027DBD00 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DBD04 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DBD08 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBD0C */ cpu->r[0] = 0x10110000u;
|
|
/* 027DBD10 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBD14 */ cpu->r[0] = cpu->r[0] + 0xFFFFECC8u;
|
|
/* 027DBD18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD1C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD1C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBD20 */ Gambit_fn_027DBA48(cpu);
|
|
/* 027DBD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBD28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBD28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBD28 */ if (_t6) goto L_027DBD2C; else goto L_027DBD48;
|
|
L_027DBD2C: ; // 0x27dbd2c
|
|
/* 027DBD2C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBD30 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBD34 */ cpu->lr = cpu->r[0];
|
|
/* 027DBD38 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBD3C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBD40 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBD44 */ return;
|
|
L_027DBD48: ; // 0x27dbd48
|
|
/* 027DBD48 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DBD4C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBD50 */ cpu->r[11] = cpu->r[11] + 0xFFFFECB0u;
|
|
/* 027DBD54 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DBD58 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBD58 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DBD5C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBD60 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBD64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBD64 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DBD68 */ Gambit_fn_027FFE0C(cpu);
|
|
/* 027DBD6C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBD70 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBD70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBD74 */ cpu->lr = cpu->r[0];
|
|
/* 027DBD78 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBD7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBD80 */ return;
|
|
}
|
|
|
|
// fn_027DBCF4 @ 0x27dbcf4
|
|
void Gambit_fn_027DBCF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DBCF4: ; // 0x27dbcf4
|
|
/* 027DBCF4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBCF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBCF4 */ cpu->r[1] = _t0;
|
|
/* 027DBCF8 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBCF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBCFC */ cpu->r[31] = cpu->r[5];
|
|
/* 027DBD00 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DBD04 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DBD08 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBD0C */ cpu->r[0] = 0x10110000u;
|
|
/* 027DBD10 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DBD14 */ cpu->r[0] = cpu->r[0] + 0xFFFFECC8u;
|
|
/* 027DBD18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD1C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD1C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DBD20 */ Gambit_fn_027DBA48(cpu);
|
|
/* 027DBD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBD28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBD28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DBD28 */ if (_t6) goto L_027DBD2C; else goto L_027DBD48;
|
|
L_027DBD2C: ; // 0x27dbd2c
|
|
/* 027DBD2C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBD30 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBD34 */ cpu->lr = cpu->r[0];
|
|
/* 027DBD38 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBD38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBD3C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBD40 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBD44 */ return;
|
|
L_027DBD48: ; // 0x27dbd48
|
|
/* 027DBD48 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DBD4C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DBD50 */ cpu->r[11] = cpu->r[11] + 0xFFFFECB0u;
|
|
/* 027DBD54 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DBD58 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBD58 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DBD5C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBD60 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBD64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBD64 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DBD68 */ Gambit_fn_027FFE0C(cpu);
|
|
/* 027DBD6C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBD70 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBD70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBD74 */ cpu->lr = cpu->r[0];
|
|
/* 027DBD78 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBD78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBD7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DBD80 */ return;
|
|
}
|
|
|
|
// fn_027DBD84 @ 0x27dbd84
|
|
void Gambit_fn_027DBD84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DBD84: ; // 0x27dbd84
|
|
/* 027DBD84 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBD88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBD88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBD88 */ cpu->r[1] = _t0;
|
|
/* 027DBD8C */ cpu->r[6] = cpu->r[5];
|
|
/* 027DBD90 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBD90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBD94 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBD98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD9C */ cpu->r[5] = 0x00000003u;
|
|
/* 027DBDA0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DBDA4 */ Gambit_fn_027DBCF0(cpu);
|
|
/* 027DBDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBDAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBDAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DBDAC */ if (_t4) goto L_027DBDE0; else goto L_027DBDB0;
|
|
L_027DBDB0: ; // 0x27dbdb0
|
|
/* 027DBDB0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBDB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DBDB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBDB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DBDB8 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 027DBDB8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027DBDBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBDBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DBDC0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027DBDC0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027DBDC4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027DBDC4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 027DBDC8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBDCC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBDCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBDD0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBDD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBDD8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBDDC */ return;
|
|
L_027DBDE0: ; // 0x27dbde0
|
|
/* 027DBDE0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBDE4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBDE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBDE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DBDEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBDF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBDF4 */ return;
|
|
}
|
|
|
|
// fn_027DBD88 @ 0x27dbd88
|
|
void Gambit_fn_027DBD88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DBD88: ; // 0x27dbd88
|
|
/* 027DBD88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBD88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBD88 */ cpu->r[1] = _t0;
|
|
/* 027DBD8C */ cpu->r[6] = cpu->r[5];
|
|
/* 027DBD90 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBD90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBD94 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBD98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBD9C */ cpu->r[5] = 0x00000003u;
|
|
/* 027DBDA0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DBDA4 */ Gambit_fn_027DBCF0(cpu);
|
|
/* 027DBDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBDAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBDAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DBDAC */ if (_t4) goto L_027DBDE0; else goto L_027DBDB0;
|
|
L_027DBDB0: ; // 0x27dbdb0
|
|
/* 027DBDB0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBDB0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DBDB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBDB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DBDB8 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 027DBDB8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027DBDBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBDBC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DBDC0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 027DBDC0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027DBDC4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 027DBDC4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 027DBDC8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBDCC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBDCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBDD0 */ cpu->lr = cpu->r[0];
|
|
/* 027DBDD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBDD8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DBDDC */ return;
|
|
L_027DBDE0: ; // 0x27dbde0
|
|
/* 027DBDE0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBDE4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBDE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBDE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DBDEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBDF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBDF4 */ return;
|
|
}
|
|
|
|
// fn_027DBDF8 @ 0x27dbdf8
|
|
void Gambit_fn_027DBDF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027DBDF8: ; // 0x27dbdf8
|
|
/* 027DBDF8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBDFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBDFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBDFC */ cpu->r[1] = _t0;
|
|
/* 027DBE00 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBE04 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DBE08 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DBE0C */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBE10 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DBE14 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBE18 */ Gambit_fn_027DB6B0(cpu);
|
|
/* 027DBE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBE20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBE20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DBE20 */ if (_t5) goto L_027DBE58; else goto L_027DBE24;
|
|
L_027DBE24: ; // 0x27dbe24
|
|
/* 027DBE24 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 027DBE24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DBE28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBE2C */ Gambit_fn_027DC4E8(cpu);
|
|
/* 027DBE30 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DBE34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBE38 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBE3C */ Gambit_fn_027DC580(cpu);
|
|
/* 027DBE40 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBE44 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBE48 */ cpu->lr = cpu->r[0];
|
|
/* 027DBE4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBE54 */ return;
|
|
L_027DBE58: ; // 0x27dbe58
|
|
/* 027DBE58 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DBE5C */ Gambit_fn_027DB688(cpu);
|
|
/* 027DBE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBE64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBE64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DBE64 */ if (_t11) goto L_027DBE9C; else goto L_027DBE68;
|
|
L_027DBE68: ; // 0x27dbe68
|
|
/* 027DBE68 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 027DBE68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBE6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBE70 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DBE74 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DBE78 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBE7C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBE80 */ Gambit_fn_027DC668(cpu);
|
|
/* 027DBE84 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBE88 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBE8C */ cpu->lr = cpu->r[0];
|
|
/* 027DBE90 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBE94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBE98 */ return;
|
|
L_027DBE9C: ; // 0x27dbe9c
|
|
/* 027DBE9C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DBEA0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBEA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DBEA4 */ cpu->lr = cpu->r[0];
|
|
/* 027DBEA8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBEA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DBEAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBEB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBEB4 */ return;
|
|
}
|
|
|
|
// fn_027DBDFC @ 0x27dbdfc
|
|
void Gambit_fn_027DBDFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027DBDFC: ; // 0x27dbdfc
|
|
/* 027DBDFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBDFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBDFC */ cpu->r[1] = _t0;
|
|
/* 027DBE00 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBE04 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DBE08 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DBE0C */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBE10 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DBE14 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBE18 */ Gambit_fn_027DB6B0(cpu);
|
|
/* 027DBE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBE20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBE20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DBE20 */ if (_t5) goto L_027DBE58; else goto L_027DBE24;
|
|
L_027DBE24: ; // 0x27dbe24
|
|
/* 027DBE24 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 027DBE24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DBE28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBE2C */ Gambit_fn_027DC4E8(cpu);
|
|
/* 027DBE30 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DBE34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBE38 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBE3C */ Gambit_fn_027DC580(cpu);
|
|
/* 027DBE40 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DBE44 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBE48 */ cpu->lr = cpu->r[0];
|
|
/* 027DBE4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DBE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBE54 */ return;
|
|
L_027DBE58: ; // 0x27dbe58
|
|
/* 027DBE58 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DBE5C */ Gambit_fn_027DB688(cpu);
|
|
/* 027DBE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBE64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBE64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DBE64 */ if (_t11) goto L_027DBE9C; else goto L_027DBE68;
|
|
L_027DBE68: ; // 0x27dbe68
|
|
/* 027DBE68 */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 027DBE68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBE6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBE70 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DBE74 */ cpu->r[5] = cpu->r[30];
|
|
/* 027DBE78 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBE7C */ cpu->r[4] = cpu->r[31];
|
|
/* 027DBE80 */ Gambit_fn_027DC668(cpu);
|
|
/* 027DBE84 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBE88 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBE8C */ cpu->lr = cpu->r[0];
|
|
/* 027DBE90 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBE90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBE94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBE98 */ return;
|
|
L_027DBE9C: ; // 0x27dbe9c
|
|
/* 027DBE9C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DBEA0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBEA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DBEA4 */ cpu->lr = cpu->r[0];
|
|
/* 027DBEA8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBEA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DBEAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBEB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DBEB4 */ return;
|
|
}
|
|
|
|
// fn_027DBEB8 @ 0x27dbeb8
|
|
void Gambit_fn_027DBEB8(CPUState* cpu) {
|
|
uint32_t _t0, _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_027DBEB8: ; // 0x27dbeb8
|
|
/* 027DBEB8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBEBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBEBC */ cpu->r[1] = _t0;
|
|
/* 027DBEC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBEC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBEC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBEC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBED0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DBED4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBED8 */ Gambit_fn_027DBDF8(cpu);
|
|
/* 027DBEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBEE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DBEE0 */ if (_t5) goto L_027DBF54; else goto L_027DBEE4;
|
|
L_027DBEE4: ; // 0x27dbee4
|
|
/* 027DBEE4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBEE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DBEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DBEEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DBEEC */ if (_t8) goto L_027DBEF8; else goto L_027DBEF0;
|
|
L_027DBEF0: ; // 0x27dbef0
|
|
/* 027DBEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DBEF4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEF4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DBEF4 */ if (_t10) goto L_027DBEF8; else goto L_027DBF24;
|
|
L_027DBEF8: ; // 0x27dbef8
|
|
/* 027DBEF8 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBEF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBEFC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF00 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBF04 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DBF08 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DBF0C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBF10 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBF14 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF18 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBF1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF20 */ return;
|
|
L_027DBF24: ; // 0x27dbf24
|
|
/* 027DBF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 027DBF28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBF28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DBF28 */ if (_t17) goto L_027DBF2C; else goto L_027DBF54;
|
|
L_027DBF2C: ; // 0x27dbf2c
|
|
/* 027DBF2C */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBF2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DBF30 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DBF34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF38 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DBF3C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DBF40 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DBF44 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF48 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DBF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF50 */ return;
|
|
L_027DBF54: ; // 0x27dbf54
|
|
/* 027DBF54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF58 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027DBF5C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DBF60 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DBF64 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF68 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DBF6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF70 */ return;
|
|
}
|
|
|
|
// fn_027DBEBC @ 0x27dbebc
|
|
void Gambit_fn_027DBEBC(CPUState* cpu) {
|
|
uint32_t _t0, _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_027DBEBC: ; // 0x27dbebc
|
|
/* 027DBEBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBEBC */ cpu->r[1] = _t0;
|
|
/* 027DBEC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBEC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBEC4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBEC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBED0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DBED4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBED4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DBED8 */ Gambit_fn_027DBDF8(cpu);
|
|
/* 027DBEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBEE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DBEE0 */ if (_t5) goto L_027DBF54; else goto L_027DBEE4;
|
|
L_027DBEE4: ; // 0x27dbee4
|
|
/* 027DBEE4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DBEE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DBEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DBEEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DBEEC */ if (_t8) goto L_027DBEF8; else goto L_027DBEF0;
|
|
L_027DBEF0: ; // 0x27dbef0
|
|
/* 027DBEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DBEF4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBEF4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DBEF4 */ if (_t10) goto L_027DBEF8; else goto L_027DBF24;
|
|
L_027DBEF8: ; // 0x27dbef8
|
|
/* 027DBEF8 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBEF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DBEFC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF00 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DBF04 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DBF08 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DBF0C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DBF10 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DBF14 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF18 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DBF1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF20 */ return;
|
|
L_027DBF24: ; // 0x27dbf24
|
|
/* 027DBF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 027DBF28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBF28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DBF28 */ if (_t17) goto L_027DBF2C; else goto L_027DBF54;
|
|
L_027DBF2C: ; // 0x27dbf2c
|
|
/* 027DBF2C */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DBF2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DBF30 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DBF34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF38 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DBF3C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DBF40 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DBF44 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF48 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DBF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF50 */ return;
|
|
L_027DBF54: ; // 0x27dbf54
|
|
/* 027DBF54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF58 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027DBF5C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DBF60 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBF60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DBF64 */ cpu->lr = cpu->r[0];
|
|
/* 027DBF68 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DBF6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBF70 */ return;
|
|
}
|
|
|
|
// fn_027DBF74 @ 0x27dbf74
|
|
void Gambit_fn_027DBF74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DBF74: ; // 0x27dbf74
|
|
/* 027DBF74 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBF78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBF78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBF78 */ cpu->r[1] = _t0;
|
|
/* 027DBF7C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBF84 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF88 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DBF8C */ Gambit_fn_027DBEB8(cpu);
|
|
/* 027DBF90 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF94 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF98 */ Gambit_fn_027DB634(cpu);
|
|
/* 027DBF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBFA0 */ Gambit_fn_027DB678(cpu);
|
|
/* 027DBFA4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DBFA8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBFA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DBFAC */ cpu->lr = cpu->r[0];
|
|
/* 027DBFB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBFB4 */ return;
|
|
}
|
|
|
|
// fn_027DBF78 @ 0x27dbf78
|
|
void Gambit_fn_027DBF78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DBF78: ; // 0x27dbf78
|
|
/* 027DBF78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DBF78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBF78 */ cpu->r[1] = _t0;
|
|
/* 027DBF7C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBF7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DBF80 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DBF84 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF88 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBF88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DBF8C */ Gambit_fn_027DBEB8(cpu);
|
|
/* 027DBF90 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBF94 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBF98 */ Gambit_fn_027DB634(cpu);
|
|
/* 027DBF9C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DBFA0 */ Gambit_fn_027DB678(cpu);
|
|
/* 027DBFA4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DBFA8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBFA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DBFAC */ cpu->lr = cpu->r[0];
|
|
/* 027DBFB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DBFB4 */ return;
|
|
}
|
|
|
|
// fn_027DBFB8 @ 0x27dbfb8
|
|
void Gambit_fn_027DBFB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DBFB8: ; // 0x27dbfb8
|
|
/* 027DBFB8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DBFBC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBFBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBFBC */ cpu->r[1] = _t0;
|
|
/* 027DBFC0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBFC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBFC4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBFC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBFC8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBFC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027DBFCC */ cpu->r[28] = cpu->r[3];
|
|
/* 027DBFD0 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DBFD4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027DBFD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027DBFDC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBFDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DBFE0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DBFE4 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DBFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBFEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBFEC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DBFEC */ if (_t7) goto L_027DC06C; else goto L_027DBFF0;
|
|
L_027DBFF0: ; // 0x27dbff0
|
|
/* 027DBFF0 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 027DBFF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBFF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBFF8 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DBFFC */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC000 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC004 */ Gambit_fn_027DC7DC(cpu);
|
|
/* 027DC008 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DC008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DC00C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC00C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC00C */ if (_t10) goto L_027DC06C; else goto L_027DC010;
|
|
L_027DC010: ; // 0x27dc010
|
|
/* 027DC010 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 027DC010 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027DC014 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 027DC014 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[9]);
|
|
/* 027DC018 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 027DC018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC01C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 027DC01C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027DC020 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DC024 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 027DC024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DC028 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC02C */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DC030 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DC034 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DC038 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC03C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC040 */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC044 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DC044 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 027DC048 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC048 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC04C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC050 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DC054 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DC058 */ cpu->lr = cpu->r[0];
|
|
/* 027DC05C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DC060 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC064 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC068 */ return;
|
|
L_027DC06C: ; // 0x27dc06c
|
|
/* 027DC06C */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC06C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DC070 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DC074 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC078 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DC07C */ cpu->lr = cpu->r[0];
|
|
/* 027DC080 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DC084 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC088 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC08C */ return;
|
|
}
|
|
|
|
// fn_027DBFBC @ 0x27dbfbc
|
|
void Gambit_fn_027DBFBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DBFBC: ; // 0x27dbfbc
|
|
/* 027DBFBC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DBFBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DBFBC */ cpu->r[1] = _t0;
|
|
/* 027DBFC0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DBFC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DBFC4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DBFC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DBFC8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DBFC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027DBFCC */ cpu->r[28] = cpu->r[3];
|
|
/* 027DBFD0 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DBFD4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027DBFD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027DBFD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027DBFDC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DBFDC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DBFE0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DBFE4 */ Gambit_fn_027DB688(cpu);
|
|
/* 027DBFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DBFEC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DBFEC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DBFEC */ if (_t7) goto L_027DC06C; else goto L_027DBFF0;
|
|
L_027DBFF0: ; // 0x27dbff0
|
|
/* 027DBFF0 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 027DBFF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DBFF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DBFF8 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DBFFC */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC000 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC004 */ Gambit_fn_027DC7DC(cpu);
|
|
/* 027DC008 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DC008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DC00C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC00C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC00C */ if (_t10) goto L_027DC06C; else goto L_027DC010;
|
|
L_027DC010: ; // 0x27dc010
|
|
/* 027DC010 */ _t11 = cpu->r[31] + 0x00000003u;
|
|
/* 027DC010 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027DC014 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 027DC014 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[9]);
|
|
/* 027DC018 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 027DC018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC01C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 027DC01C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027DC020 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DC024 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 027DC024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DC028 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC02C */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 027DC030 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DC034 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DC038 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC03C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC040 */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC044 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027DC044 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 027DC048 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC048 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC04C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC04C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC050 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DC054 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DC058 */ cpu->lr = cpu->r[0];
|
|
/* 027DC05C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC05C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DC060 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC064 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC068 */ return;
|
|
L_027DC06C: ; // 0x27dc06c
|
|
/* 027DC06C */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC06C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DC070 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DC074 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC078 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DC07C */ cpu->lr = cpu->r[0];
|
|
/* 027DC080 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DC084 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC088 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC08C */ return;
|
|
}
|
|
|
|
// fn_027DC090 @ 0x27dc090
|
|
void Gambit_fn_027DC090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027DC090: ; // 0x27dc090
|
|
/* 027DC090 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC094 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027DC094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC094 */ cpu->r[1] = _t0;
|
|
/* 027DC098 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC098 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027DC09C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC09C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DC0A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027DC0A4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC0A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DC0A8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC0A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027DC0AC */ cpu->r[31] = cpu->r[6];
|
|
/* 027DC0B0 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC0B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DC0B4 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DC0B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC0BC */ cpu->r[30] = cpu->r[5];
|
|
/* 027DC0C0 */ Gambit_fn_027DBFB8(cpu);
|
|
/* 027DC0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC0C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC0C8 */ if (_t7) goto L_027DC14C; else goto L_027DC0CC;
|
|
L_027DC0CC: ; // 0x27dc0cc
|
|
/* 027DC0CC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC0CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027DC0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DC0D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC0D4 */ if (_t10) goto L_027DC0E0; else goto L_027DC0D8;
|
|
L_027DC0D8: ; // 0x27dc0d8
|
|
/* 027DC0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DC0DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DC0DC */ if (_t12) goto L_027DC0E0; else goto L_027DC104;
|
|
L_027DC0E0: ; // 0x27dc0e0
|
|
/* 027DC0E0 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC0E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC0E4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC0E8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC0EC */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DC0F0 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DC0F4 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC0F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC0FC */ Gambit_fn_027DB634(cpu);
|
|
/* 027DC100 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
L_027DC104: ; // 0x27dc104
|
|
/* 027DC104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 027DC108 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC108 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DC108 */ if (_t17) goto L_027DC10C; else goto L_027DC128;
|
|
L_027DC10C: ; // 0x27dc10c
|
|
/* 027DC10C */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC10C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DC110 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC114 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DC118 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DC11C */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC120 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC124 */ Gambit_fn_027DB634(cpu);
|
|
L_027DC128: ; // 0x27dc128
|
|
/* 027DC128 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC128 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC12C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC12C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC130 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DC134 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DC138 */ cpu->lr = cpu->r[0];
|
|
/* 027DC13C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC13C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DC140 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027DC144 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC148 */ return;
|
|
L_027DC14C: ; // 0x27dc14c
|
|
/* 027DC14C */ cpu->r[0] = 0x00000000u;
|
|
/* 027DC150 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DC154 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DC158 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DC15C */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 027DC15C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027DC160 */ Gambit_fn_027DBF74(cpu);
|
|
/* 027DC164 */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC164 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DC168 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC168 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC16C */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DC170 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC170 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DC174 */ cpu->lr = cpu->r[0];
|
|
/* 027DC178 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DC17C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027DC180 */ return;
|
|
}
|
|
|
|
// fn_027DC094 @ 0x27dc094
|
|
void Gambit_fn_027DC094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027DC094: ; // 0x27dc094
|
|
/* 027DC094 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027DC094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC094 */ cpu->r[1] = _t0;
|
|
/* 027DC098 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC098 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027DC09C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC09C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DC0A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027DC0A4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC0A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DC0A8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC0A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027DC0AC */ cpu->r[31] = cpu->r[6];
|
|
/* 027DC0B0 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC0B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DC0B4 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DC0B8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC0BC */ cpu->r[30] = cpu->r[5];
|
|
/* 027DC0C0 */ Gambit_fn_027DBFB8(cpu);
|
|
/* 027DC0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC0C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC0C8 */ if (_t7) goto L_027DC14C; else goto L_027DC0CC;
|
|
L_027DC0CC: ; // 0x27dc0cc
|
|
/* 027DC0CC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC0CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027DC0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C0u);
|
|
/* 027DC0D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC0D4 */ if (_t10) goto L_027DC0E0; else goto L_027DC0D8;
|
|
L_027DC0D8: ; // 0x27dc0d8
|
|
/* 027DC0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000C1u);
|
|
/* 027DC0DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC0DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DC0DC */ if (_t12) goto L_027DC0E0; else goto L_027DC104;
|
|
L_027DC0E0: ; // 0x27dc0e0
|
|
/* 027DC0E0 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC0E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC0E4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC0E8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC0EC */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 027DC0F0 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DC0F4 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC0F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC0FC */ Gambit_fn_027DB634(cpu);
|
|
/* 027DC100 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
L_027DC104: ; // 0x27dc104
|
|
/* 027DC104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 027DC108 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC108 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DC108 */ if (_t17) goto L_027DC10C; else goto L_027DC128;
|
|
L_027DC10C: ; // 0x27dc10c
|
|
/* 027DC10C */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 027DC10C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DC110 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC114 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DC118 */ Gambit_fn_027DB870(cpu);
|
|
/* 027DC11C */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC120 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC124 */ Gambit_fn_027DB634(cpu);
|
|
L_027DC128: ; // 0x27dc128
|
|
/* 027DC128 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC128 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC12C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC12C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC130 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DC134 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DC138 */ cpu->lr = cpu->r[0];
|
|
/* 027DC13C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC13C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DC140 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027DC144 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC148 */ return;
|
|
L_027DC14C: ; // 0x27dc14c
|
|
/* 027DC14C */ cpu->r[0] = 0x00000000u;
|
|
/* 027DC150 */ cpu->r[3] = cpu->r[28];
|
|
/* 027DC154 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DC158 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DC15C */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 027DC15C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027DC160 */ Gambit_fn_027DBF74(cpu);
|
|
/* 027DC164 */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 027DC164 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DC168 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC168 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC16C */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 027DC16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DC170 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 027DC170 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DC174 */ cpu->lr = cpu->r[0];
|
|
/* 027DC178 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DC178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DC17C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027DC180 */ return;
|
|
}
|
|
|
|
// fn_027DC184 @ 0x27dc184
|
|
void Gambit_fn_027DC184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DC184: ; // 0x27dc184
|
|
/* 027DC184 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC188 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DC188 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC188 */ cpu->r[1] = _t0;
|
|
/* 027DC18C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC18C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DC190 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DC194 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC194 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DC198 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DC19C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC1A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC1A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DC1A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC1A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DC1A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DC1AC */ Gambit_fn_027DBDF8(cpu);
|
|
/* 027DC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC1B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC1B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC1B4 */ if (_t6) goto L_027DC1CC; else goto L_027DC1B8;
|
|
L_027DC1B8: ; // 0x27dc1b8
|
|
/* 027DC1B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC1BC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DC1C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC1C4 */ Gambit_fn_027DB9C4(cpu);
|
|
/* 027DC1C8 */ cpu->r[31] = cpu->r[3];
|
|
L_027DC1CC: ; // 0x27dc1cc
|
|
/* 027DC1CC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC1CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC1D0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC1D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DC1D8 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC1DC */ cpu->lr = cpu->r[0];
|
|
/* 027DC1E0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC1E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC1E8 */ return;
|
|
}
|
|
|
|
// fn_027DC188 @ 0x27dc188
|
|
void Gambit_fn_027DC188(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DC188: ; // 0x27dc188
|
|
/* 027DC188 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DC188 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC188 */ cpu->r[1] = _t0;
|
|
/* 027DC18C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC18C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DC190 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DC194 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC194 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DC198 */ cpu->r[31] = 0x00000000u;
|
|
/* 027DC19C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC1A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC1A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DC1A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC1A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DC1A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DC1AC */ Gambit_fn_027DBDF8(cpu);
|
|
/* 027DC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC1B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC1B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC1B4 */ if (_t6) goto L_027DC1CC; else goto L_027DC1B8;
|
|
L_027DC1B8: ; // 0x27dc1b8
|
|
/* 027DC1B8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC1BC */ cpu->r[4] = cpu->r[30];
|
|
/* 027DC1C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DC1C4 */ Gambit_fn_027DB9C4(cpu);
|
|
/* 027DC1C8 */ cpu->r[31] = cpu->r[3];
|
|
L_027DC1CC: ; // 0x27dc1cc
|
|
/* 027DC1CC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC1CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC1D0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC1D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DC1D8 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC1DC */ cpu->lr = cpu->r[0];
|
|
/* 027DC1E0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC1E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC1E8 */ return;
|
|
}
|
|
|
|
// fn_027DC1EC @ 0x27dc1ec
|
|
void Gambit_fn_027DC1EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DC1EC: ; // 0x27dc1ec
|
|
/* 027DC1EC */ cpu->r[0] = cpu->lr;
|
|
/* 027DC1F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DC1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC1F0 */ cpu->r[1] = _t0;
|
|
/* 027DC1F4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DC1F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DC1FC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC1FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DC200 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC204 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC204 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DC208 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DC20C */ cpu->r[31] = cpu->r[5];
|
|
/* 027DC210 */ cpu->r[0] = cpu->r[0] + 0xFFFFECC9u;
|
|
/* 027DC214 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DC218 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DC21C */ Gambit_fn_027DC184(cpu);
|
|
/* 027DC220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC224 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC224 */ if (_t6) goto L_027DC228; else goto L_027DC244;
|
|
L_027DC228: ; // 0x27dc228
|
|
/* 027DC228 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC22C */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC22C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC230 */ cpu->lr = cpu->r[0];
|
|
/* 027DC234 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC238 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC23C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC240 */ return;
|
|
L_027DC244: ; // 0x27dc244
|
|
/* 027DC244 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DC248 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC24C */ cpu->r[12] = cpu->r[12] + 0xFFFFECB0u;
|
|
/* 027DC250 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DC254 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC254 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 027DC258 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC25C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC260 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC260 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DC264 */ Gambit_fn_027FFE0C(cpu);
|
|
/* 027DC268 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC26C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC270 */ cpu->lr = cpu->r[0];
|
|
/* 027DC274 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DC278 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC27C */ return;
|
|
}
|
|
|
|
// fn_027DC1F0 @ 0x27dc1f0
|
|
void Gambit_fn_027DC1F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DC1F0: ; // 0x27dc1f0
|
|
/* 027DC1F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DC1F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC1F0 */ cpu->r[1] = _t0;
|
|
/* 027DC1F4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DC1F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DC1FC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC1FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DC200 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC204 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC204 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DC208 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DC20C */ cpu->r[31] = cpu->r[5];
|
|
/* 027DC210 */ cpu->r[0] = cpu->r[0] + 0xFFFFECC9u;
|
|
/* 027DC214 */ cpu->r[5] = cpu->r[6];
|
|
/* 027DC218 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DC21C */ Gambit_fn_027DC184(cpu);
|
|
/* 027DC220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC224 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC224 */ if (_t6) goto L_027DC228; else goto L_027DC244;
|
|
L_027DC228: ; // 0x27dc228
|
|
/* 027DC228 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC22C */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC22C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC230 */ cpu->lr = cpu->r[0];
|
|
/* 027DC234 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC238 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC23C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC240 */ return;
|
|
L_027DC244: ; // 0x27dc244
|
|
/* 027DC244 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DC248 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027DC248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC24C */ cpu->r[12] = cpu->r[12] + 0xFFFFECB0u;
|
|
/* 027DC250 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DC254 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC254 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 027DC258 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC25C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC260 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC260 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DC264 */ Gambit_fn_027FFE0C(cpu);
|
|
/* 027DC268 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 027DC268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC26C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC270 */ cpu->lr = cpu->r[0];
|
|
/* 027DC274 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027DC274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DC278 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DC27C */ return;
|
|
}
|
|
|
|
// fn_027DC280 @ 0x27dc280
|
|
void Gambit_fn_027DC280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DC280: ; // 0x27dc280
|
|
/* 027DC280 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC284 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC288 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC288 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC28C */ cpu->r[10] = 0x00000000u;
|
|
/* 027DC290 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC290 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC290 */ cpu->r[1] = _t1;
|
|
/* 027DC294 */ Gambit_fn_027DB6D8(cpu);
|
|
/* 027DC298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC29C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC29C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC29C */ if (_t3) goto L_027DC2AC; else goto L_027DC2A0;
|
|
L_027DC2A0: ; // 0x27dc2a0
|
|
/* 027DC2A0 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 027DC2A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DC2A4 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027DC2A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DC2A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
L_027DC2AC: ; // 0x27dc2ac
|
|
/* 027DC2AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC2B0 */ cpu->lr = cpu->r[0];
|
|
/* 027DC2B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC2B8 */ cpu->r[3] = cpu->r[10];
|
|
/* 027DC2BC */ return;
|
|
}
|
|
|
|
// fn_027DC290 @ 0x27dc290
|
|
void Gambit_fn_027DC290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DC290: ; // 0x27dc290
|
|
/* 027DC290 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC290 */ cpu->r[1] = _t0;
|
|
/* 027DC294 */ Gambit_fn_027DB6D8(cpu);
|
|
/* 027DC298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC29C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC29C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC29C */ if (_t2) goto L_027DC2AC; else goto L_027DC2A0;
|
|
L_027DC2A0: ; // 0x27dc2a0
|
|
/* 027DC2A0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 027DC2A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC2A4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027DC2A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DC2A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
L_027DC2AC: ; // 0x27dc2ac
|
|
/* 027DC2AC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DC2B0 */ cpu->lr = cpu->r[0];
|
|
/* 027DC2B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC2B8 */ cpu->r[3] = cpu->r[10];
|
|
/* 027DC2BC */ return;
|
|
}
|
|
|
|
// fn_027DC2C0 @ 0x27dc2c0
|
|
void Gambit_fn_027DC2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DC2C0: ; // 0x27dc2c0
|
|
/* 027DC2C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC2C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DC2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC2C4 */ cpu->r[1] = _t0;
|
|
/* 027DC2C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC2C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC2CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC2CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DC2D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DC2D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC2D8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC2D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DC2DC */ Gambit_fn_027DB688(cpu);
|
|
/* 027DC2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC2E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC2E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC2E4 */ if (_t5) goto L_027DC324; else goto L_027DC2E8;
|
|
L_027DC2E8: ; // 0x27dc2e8
|
|
/* 027DC2E8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 027DC2E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC2EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC2F0 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DC2F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC2F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DC2FC */ Gambit_fn_027DB708(cpu);
|
|
/* 027DC300 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC304 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC308 */ Gambit_fn_027DC838(cpu);
|
|
/* 027DC30C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC30C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC310 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC310 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC314 */ cpu->lr = cpu->r[0];
|
|
/* 027DC318 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC318 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC31C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC320 */ return;
|
|
L_027DC324: ; // 0x27dc324
|
|
/* 027DC324 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC328 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC32C */ cpu->lr = cpu->r[0];
|
|
/* 027DC330 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC334 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC338 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027DC33C */ return;
|
|
}
|
|
|
|
// fn_027DC2C4 @ 0x27dc2c4
|
|
void Gambit_fn_027DC2C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DC2C4: ; // 0x27dc2c4
|
|
/* 027DC2C4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DC2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC2C4 */ cpu->r[1] = _t0;
|
|
/* 027DC2C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC2C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC2CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC2CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DC2D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DC2D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC2D8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC2D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DC2DC */ Gambit_fn_027DB688(cpu);
|
|
/* 027DC2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC2E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC2E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC2E4 */ if (_t5) goto L_027DC324; else goto L_027DC2E8;
|
|
L_027DC2E8: ; // 0x27dc2e8
|
|
/* 027DC2E8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 027DC2E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC2EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC2F0 */ Gambit_fn_027DC5F4(cpu);
|
|
/* 027DC2F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC2F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DC2FC */ Gambit_fn_027DB708(cpu);
|
|
/* 027DC300 */ cpu->r[4] = cpu->r[3];
|
|
/* 027DC304 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC308 */ Gambit_fn_027DC838(cpu);
|
|
/* 027DC30C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC30C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC310 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC310 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC314 */ cpu->lr = cpu->r[0];
|
|
/* 027DC318 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC318 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC31C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC320 */ return;
|
|
L_027DC324: ; // 0x27dc324
|
|
/* 027DC324 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DC324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC328 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DC328 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC32C */ cpu->lr = cpu->r[0];
|
|
/* 027DC330 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC334 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DC338 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027DC33C */ return;
|
|
}
|
|
|
|
// fn_027DC340 @ 0x27dc340
|
|
void Gambit_fn_027DC340(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_027DC340: ; // 0x27dc340
|
|
/* 027DC340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC344 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC344 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DC344 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DC344 */ goto L_027DC348;
|
|
L_027DC348: ; // 0x27dc348
|
|
/* 027DC348 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DC348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DC34C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC34C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC34C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DC34C */ goto L_027DC350;
|
|
L_027DC350: ; // 0x27dc350
|
|
/* 027DC350 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DC354 @ 0x27dc354
|
|
void Gambit_fn_027DC354(CPUState* cpu) {
|
|
L_027DC354: ; // 0x27dc354
|
|
/* 027DC354 */ return;
|
|
}
|
|
|
|
// fn_027DC358 @ 0x27dc358
|
|
void Gambit_fn_027DC358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC358: ; // 0x27dc358
|
|
/* 027DC358 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC35C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC35C */ cpu->r[1] = _t0;
|
|
/* 027DC360 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC360 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC364 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC36C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC36C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC370 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC370 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC370 */ if (_t4) goto L_027DC374; else goto L_027DC384;
|
|
L_027DC374: ; // 0x27dc374
|
|
/* 027DC374 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC378 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC380 */ if (_t6) goto L_027DC388; else goto L_027DC384;
|
|
L_027DC384: ; // 0x27dc384
|
|
/* 027DC384 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC384 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC388: ; // 0x27dc388
|
|
/* 027DC388 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC38C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC390 */ cpu->lr = cpu->r[0];
|
|
/* 027DC394 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC398 */ return;
|
|
}
|
|
|
|
// fn_027DC35C @ 0x27dc35c
|
|
void Gambit_fn_027DC35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC35C: ; // 0x27dc35c
|
|
/* 027DC35C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC35C */ cpu->r[1] = _t0;
|
|
/* 027DC360 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC360 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC364 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC36C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC36C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC370 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC370 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC370 */ if (_t4) goto L_027DC374; else goto L_027DC384;
|
|
L_027DC374: ; // 0x27dc374
|
|
/* 027DC374 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC378 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC380 */ if (_t6) goto L_027DC388; else goto L_027DC384;
|
|
L_027DC384: ; // 0x27dc384
|
|
/* 027DC384 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC384 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC388: ; // 0x27dc388
|
|
/* 027DC388 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC38C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC390 */ cpu->lr = cpu->r[0];
|
|
/* 027DC394 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC398 */ return;
|
|
}
|
|
|
|
// fn_027DC39C @ 0x27dc39c
|
|
void Gambit_fn_027DC39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027DC39C: ; // 0x27dc39c
|
|
/* 027DC39C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC39C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC3A0 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 027DC3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC3A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC3A8 */ return;
|
|
}
|
|
|
|
// fn_027DC3AC @ 0x27dc3ac
|
|
void Gambit_fn_027DC3AC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027DC3AC: ; // 0x27dc3ac
|
|
/* 027DC3AC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC3AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC3B0 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 027DC3B4 */ return;
|
|
}
|
|
|
|
// fn_027DC3B8 @ 0x27dc3b8
|
|
void Gambit_fn_027DC3B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DC3B8: ; // 0x27dc3b8
|
|
/* 027DC3B8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC3BC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC3BC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC3C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC3C4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC3C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC3C4 */ cpu->r[1] = _t1;
|
|
/* 027DC3C8 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC3CC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC3D0 */ cpu->lr = cpu->r[0];
|
|
/* 027DC3D4 */ _t3 = cpu->r[11] + cpu->r[3];
|
|
/* 027DC3D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC3D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC3DC */ return;
|
|
}
|
|
|
|
// fn_027DC3C4 @ 0x27dc3c4
|
|
void Gambit_fn_027DC3C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DC3C4: ; // 0x27dc3c4
|
|
/* 027DC3C4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC3C4 */ cpu->r[1] = _t0;
|
|
/* 027DC3C8 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC3CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC3D0 */ cpu->lr = cpu->r[0];
|
|
/* 027DC3D4 */ _t2 = cpu->r[11] + cpu->r[3];
|
|
/* 027DC3D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC3D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC3DC */ return;
|
|
}
|
|
|
|
// fn_027DC3E0 @ 0x27dc3e0
|
|
void Gambit_fn_027DC3E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DC3E0: ; // 0x27dc3e0
|
|
/* 027DC3E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC3E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC3E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC3E8 */ cpu->r[10] = cpu->r[3];
|
|
/* 027DC3EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC3EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC3EC */ cpu->r[1] = _t1;
|
|
/* 027DC3F0 */ Gambit_fn_027DC3B8(cpu);
|
|
/* 027DC3F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC3F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC3FC */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 027DC3FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC400 */ cpu->r[3] = cpu->r[12] + cpu->r[3];
|
|
/* 027DC404 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC408 */ return;
|
|
}
|
|
|
|
// fn_027DC3EC @ 0x27dc3ec
|
|
void Gambit_fn_027DC3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DC3EC: ; // 0x27dc3ec
|
|
/* 027DC3EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC3EC */ cpu->r[1] = _t0;
|
|
/* 027DC3F0 */ Gambit_fn_027DC3B8(cpu);
|
|
/* 027DC3F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC3F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC3FC */ _t2 = cpu->r[10] + 0x00000000u;
|
|
/* 027DC3FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC400 */ cpu->r[3] = cpu->r[12] + cpu->r[3];
|
|
/* 027DC404 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC408 */ return;
|
|
}
|
|
|
|
// fn_027DC40C @ 0x27dc40c
|
|
void Gambit_fn_027DC40C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DC40C: ; // 0x27dc40c
|
|
/* 027DC40C */ cpu->r[0] = cpu->lr;
|
|
/* 027DC410 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC410 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC414 */ cpu->r[10] = cpu->r[3];
|
|
/* 027DC418 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC418 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC418 */ cpu->r[1] = _t1;
|
|
/* 027DC41C */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC420 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC424 */ cpu->r[3] = cpu->r[10];
|
|
/* 027DC428 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC42C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC430 */ cpu->lr = cpu->r[0];
|
|
/* 027DC434 */ _t3 = cpu->r[11] + cpu->r[3];
|
|
/* 027DC434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC438 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC43C */ return;
|
|
}
|
|
|
|
// fn_027DC418 @ 0x27dc418
|
|
void Gambit_fn_027DC418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DC418: ; // 0x27dc418
|
|
/* 027DC418 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC418 */ cpu->r[1] = _t0;
|
|
/* 027DC41C */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC420 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC424 */ cpu->r[3] = cpu->r[10];
|
|
/* 027DC428 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC42C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC430 */ cpu->lr = cpu->r[0];
|
|
/* 027DC434 */ _t2 = cpu->r[11] + cpu->r[3];
|
|
/* 027DC434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC438 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC43C */ return;
|
|
}
|
|
|
|
// fn_027DC440 @ 0x27dc440
|
|
void Gambit_fn_027DC440(CPUState* 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_027DC440: ; // 0x27dc440
|
|
/* 027DC440 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC444 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC444 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC448 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC44C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC44C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC44C */ cpu->r[1] = _t1;
|
|
/* 027DC450 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC454 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DC458 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC45C */ cpu->r[6] = 0x00000000u;
|
|
/* 027DC460 */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC468 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC468 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC468 */ if (_t3) goto L_027DC46C; else goto L_027DC4D0;
|
|
L_027DC46C: ; // 0x27dc46c
|
|
/* 027DC46C */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 027DC46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
L_027DC470: ; // 0x27dc470
|
|
/* 027DC470 */ cpu->r[8] = cpu->r[6] + cpu->r[3];
|
|
/* 027DC474 */ /* nop */
|
|
/* 027DC478 */ cpu->r[12] = cpu->r[0];
|
|
/* 027DC47C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC480 */ _t5 = cpu->r[9] + cpu->r[5];
|
|
/* 027DC480 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DC484 */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 027DC488 */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027DC48C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_027DC490: ; // 0x27dc490
|
|
/* 027DC490 */ _t6 = cpu->r[8] + 0x00000001u;
|
|
/* 027DC490 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DC490 */ cpu->r[8] = _t6;
|
|
/* 027DC494 */ _t7 = cpu->r[9] + 0x00000001u;
|
|
/* 027DC494 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027DC494 */ cpu->r[9] = _t7;
|
|
/* 027DC498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027DC49C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC49C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DC49C */ if (_t9) goto L_027DC4A0; else goto L_027DC4A8;
|
|
L_027DC4A0: ; // 0x27dc4a0
|
|
/* 027DC4A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u);
|
|
/* 027DC4A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC4A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DC4A4 */ if (_t11) goto L_027DC4A8; else goto L_027DC490;
|
|
L_027DC4A8: ; // 0x27dc4a8
|
|
/* 027DC4A8 */ cpu->r[0] = cpu->r[10] - cpu->r[0];
|
|
/* 027DC4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DC4AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DC4AC */ if (_t13) goto L_027DC4C4; else goto L_027DC4B0;
|
|
L_027DC4B0: ; // 0x27dc4b0
|
|
/* 027DC4B0 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC4B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027DC4B0 */ if (_t15) goto L_027DC4B4; else goto L_027DC4D4;
|
|
L_027DC4B4: ; // 0x27dc4b4
|
|
/* 027DC4B4 */ cpu->r[6] = cpu->r[12] + 0x00000001u;
|
|
/* 027DC4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC4BC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DC4BC */ if (_t17) goto L_027DC470; else goto L_027DC4C0;
|
|
L_027DC4C0: ; // 0x27dc4c0
|
|
/* 027DC4C0 */ goto L_027DC4D0;
|
|
L_027DC4C4: ; // 0x27dc4c4
|
|
/* 027DC4C4 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC4CC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DC4CC */ if (_t19) goto L_027DC470; else goto L_027DC4D0;
|
|
L_027DC4D0: ; // 0x27dc4d0
|
|
/* 027DC4D0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_027DC4D4: ; // 0x27dc4d4
|
|
/* 027DC4D4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC4D8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC4DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC4E0 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC4E4 */ return;
|
|
}
|
|
|
|
// fn_027DC44C @ 0x27dc44c
|
|
void Gambit_fn_027DC44C(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_027DC44C: ; // 0x27dc44c
|
|
/* 027DC44C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC44C */ cpu->r[1] = _t0;
|
|
/* 027DC450 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC454 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DC458 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC45C */ cpu->r[6] = 0x00000000u;
|
|
/* 027DC460 */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC468 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC468 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC468 */ if (_t2) goto L_027DC46C; else goto L_027DC4D0;
|
|
L_027DC46C: ; // 0x27dc46c
|
|
/* 027DC46C */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 027DC46C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
L_027DC470: ; // 0x27dc470
|
|
/* 027DC470 */ cpu->r[8] = cpu->r[6] + cpu->r[3];
|
|
/* 027DC474 */ /* nop */
|
|
/* 027DC478 */ cpu->r[12] = cpu->r[0];
|
|
/* 027DC47C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC480 */ _t4 = cpu->r[9] + cpu->r[5];
|
|
/* 027DC480 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DC484 */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 027DC488 */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027DC48C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_027DC490: ; // 0x27dc490
|
|
/* 027DC490 */ _t5 = cpu->r[8] + 0x00000001u;
|
|
/* 027DC490 */ cpu->r[10] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027DC490 */ cpu->r[8] = _t5;
|
|
/* 027DC494 */ _t6 = cpu->r[9] + 0x00000001u;
|
|
/* 027DC494 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DC494 */ cpu->r[9] = _t6;
|
|
/* 027DC498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027DC49C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC49C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DC49C */ if (_t8) goto L_027DC4A0; else goto L_027DC4A8;
|
|
L_027DC4A0: ; // 0x27dc4a0
|
|
/* 027DC4A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u);
|
|
/* 027DC4A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC4A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC4A4 */ if (_t10) goto L_027DC4A8; else goto L_027DC490;
|
|
L_027DC4A8: ; // 0x27dc4a8
|
|
/* 027DC4A8 */ cpu->r[0] = cpu->r[10] - cpu->r[0];
|
|
/* 027DC4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DC4AC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DC4AC */ if (_t12) goto L_027DC4C4; else goto L_027DC4B0;
|
|
L_027DC4B0: ; // 0x27dc4b0
|
|
/* 027DC4B0 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC4B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DC4B0 */ if (_t14) goto L_027DC4B4; else goto L_027DC4D4;
|
|
L_027DC4B4: ; // 0x27dc4b4
|
|
/* 027DC4B4 */ cpu->r[6] = cpu->r[12] + 0x00000001u;
|
|
/* 027DC4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC4BC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DC4BC */ if (_t16) goto L_027DC470; else goto L_027DC4C0;
|
|
L_027DC4C0: ; // 0x27dc4c0
|
|
/* 027DC4C0 */ goto L_027DC4D0;
|
|
L_027DC4C4: ; // 0x27dc4c4
|
|
/* 027DC4C4 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027DC4CC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC4CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DC4CC */ if (_t18) goto L_027DC470; else goto L_027DC4D0;
|
|
L_027DC4D0: ; // 0x27dc4d0
|
|
/* 027DC4D0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_027DC4D4: ; // 0x27dc4d4
|
|
/* 027DC4D4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC4D8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC4DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC4E0 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC4E4 */ return;
|
|
}
|
|
|
|
// fn_027DC4E8 @ 0x27dc4e8
|
|
void Gambit_fn_027DC4E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC4E8: ; // 0x27dc4e8
|
|
/* 027DC4E8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC4EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC4EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC4EC */ cpu->r[1] = _t0;
|
|
/* 027DC4F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC4F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC4F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC4FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC4FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC500 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC500 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC500 */ if (_t4) goto L_027DC504; else goto L_027DC514;
|
|
L_027DC504: ; // 0x27dc504
|
|
/* 027DC504 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC508 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC510 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC510 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC510 */ if (_t6) goto L_027DC518; else goto L_027DC514;
|
|
L_027DC514: ; // 0x27dc514
|
|
/* 027DC514 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC514 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC518: ; // 0x27dc518
|
|
/* 027DC518 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC51C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC51C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC520 */ cpu->lr = cpu->r[0];
|
|
/* 027DC524 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC528 */ return;
|
|
}
|
|
|
|
// fn_027DC4EC @ 0x27dc4ec
|
|
void Gambit_fn_027DC4EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC4EC: ; // 0x27dc4ec
|
|
/* 027DC4EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC4EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC4EC */ cpu->r[1] = _t0;
|
|
/* 027DC4F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC4F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC4F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC4FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC4FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC500 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC500 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC500 */ if (_t4) goto L_027DC504; else goto L_027DC514;
|
|
L_027DC504: ; // 0x27dc504
|
|
/* 027DC504 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC508 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC510 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC510 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC510 */ if (_t6) goto L_027DC518; else goto L_027DC514;
|
|
L_027DC514: ; // 0x27dc514
|
|
/* 027DC514 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC514 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC518: ; // 0x27dc518
|
|
/* 027DC518 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC51C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC51C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC520 */ cpu->lr = cpu->r[0];
|
|
/* 027DC524 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC528 */ return;
|
|
}
|
|
|
|
// fn_027DC52C @ 0x27dc52c
|
|
void Gambit_fn_027DC52C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027DC52C: ; // 0x27dc52c
|
|
/* 027DC52C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC52C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC530 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 027DC530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC534 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC538 */ return;
|
|
}
|
|
|
|
// fn_027DC53C @ 0x27dc53c
|
|
void Gambit_fn_027DC53C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027DC53C: ; // 0x27dc53c
|
|
/* 027DC53C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC53C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC540 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 027DC544 */ return;
|
|
}
|
|
|
|
// fn_027DC548 @ 0x27dc548
|
|
void Gambit_fn_027DC548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DC548: ; // 0x27dc548
|
|
/* 027DC548 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC54C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC54C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC550 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC554 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC554 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC554 */ cpu->r[1] = _t1;
|
|
/* 027DC558 */ Gambit_fn_027DC52C(cpu);
|
|
/* 027DC55C */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 027DC560 */ _t2 = cpu->r[11] + 0x00000000u;
|
|
/* 027DC560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC568 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 027DC56C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC570 */ cpu->lr = cpu->r[0];
|
|
/* 027DC574 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 027DC578 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC57C */ return;
|
|
}
|
|
|
|
// fn_027DC554 @ 0x27dc554
|
|
void Gambit_fn_027DC554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DC554: ; // 0x27dc554
|
|
/* 027DC554 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC554 */ cpu->r[1] = _t0;
|
|
/* 027DC558 */ Gambit_fn_027DC52C(cpu);
|
|
/* 027DC55C */ cpu->r[0] = cpu->r[3] + 0x00000003u;
|
|
/* 027DC560 */ _t1 = cpu->r[11] + 0x00000000u;
|
|
/* 027DC560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DC564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC568 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 027DC56C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DC570 */ cpu->lr = cpu->r[0];
|
|
/* 027DC574 */ cpu->r[3] = cpu->r[12] + 0x00000004u;
|
|
/* 027DC578 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC57C */ return;
|
|
}
|
|
|
|
// fn_027DC580 @ 0x27dc580
|
|
void Gambit_fn_027DC580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027DC580: ; // 0x27dc580
|
|
/* 027DC580 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DC588 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC588 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC58C */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC590 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC590 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC590 */ cpu->r[1] = _t1;
|
|
/* 027DC594 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC594 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC594 */ if (_t3) goto L_027DC5A8; else goto L_027DC598;
|
|
L_027DC598: ; // 0x27dc598
|
|
/* 027DC598 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC59C */ Gambit_fn_027DC52C(cpu);
|
|
/* 027DC5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
|
|
/* 027DC5A4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC5A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC5A4 */ if (_t5) goto L_027DC5BC; else goto L_027DC5A8;
|
|
L_027DC5A8: ; // 0x27dc5a8
|
|
/* 027DC5A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC5AC */ cpu->lr = cpu->r[0];
|
|
/* 027DC5B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC5B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC5B8 */ return;
|
|
L_027DC5BC: ; // 0x27dc5bc
|
|
/* 027DC5BC */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC5C0 */ Gambit_fn_027DC53C(cpu);
|
|
/* 027DC5C4 */ _t7 = cpu->r[3] + cpu->r[5];
|
|
/* 027DC5C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027DC5C8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC5CC */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC5D0 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 027DC5D0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027DC5D4 */ Gambit_fn_027DC548(cpu);
|
|
/* 027DC5D8 */ _t9 = cpu->r[10] + cpu->r[3];
|
|
/* 027DC5D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC5DC */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027DC5DC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027DC5E0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC5E4 */ cpu->lr = cpu->r[0];
|
|
/* 027DC5E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC5EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC5F0 */ return;
|
|
}
|
|
|
|
// fn_027DC590 @ 0x27dc590
|
|
void Gambit_fn_027DC590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DC590: ; // 0x27dc590
|
|
/* 027DC590 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC590 */ cpu->r[1] = _t0;
|
|
/* 027DC594 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC594 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC594 */ if (_t2) goto L_027DC5A8; else goto L_027DC598;
|
|
L_027DC598: ; // 0x27dc598
|
|
/* 027DC598 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC59C */ Gambit_fn_027DC52C(cpu);
|
|
/* 027DC5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
|
|
/* 027DC5A4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC5A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC5A4 */ if (_t4) goto L_027DC5BC; else goto L_027DC5A8;
|
|
L_027DC5A8: ; // 0x27dc5a8
|
|
/* 027DC5A8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DC5AC */ cpu->lr = cpu->r[0];
|
|
/* 027DC5B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC5B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC5B8 */ return;
|
|
L_027DC5BC: ; // 0x27dc5bc
|
|
/* 027DC5BC */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC5C0 */ Gambit_fn_027DC53C(cpu);
|
|
/* 027DC5C4 */ _t6 = cpu->r[3] + cpu->r[5];
|
|
/* 027DC5C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027DC5C8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC5CC */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC5D0 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 027DC5D0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 027DC5D4 */ Gambit_fn_027DC548(cpu);
|
|
/* 027DC5D8 */ _t8 = cpu->r[10] + cpu->r[3];
|
|
/* 027DC5D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC5DC */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 027DC5DC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027DC5E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC5E4 */ cpu->lr = cpu->r[0];
|
|
/* 027DC5E8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC5EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC5F0 */ return;
|
|
}
|
|
|
|
// fn_027DC5F4 @ 0x27dc5f4
|
|
void Gambit_fn_027DC5F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC5F4: ; // 0x27dc5f4
|
|
/* 027DC5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC5F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC5F8 */ cpu->r[1] = _t0;
|
|
/* 027DC5FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC600 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC608 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC60C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC60C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC60C */ if (_t4) goto L_027DC610; else goto L_027DC620;
|
|
L_027DC610: ; // 0x27dc610
|
|
/* 027DC610 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC614 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC61C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC61C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC61C */ if (_t6) goto L_027DC624; else goto L_027DC620;
|
|
L_027DC620: ; // 0x27dc620
|
|
/* 027DC620 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC620 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC624: ; // 0x27dc624
|
|
/* 027DC624 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC628 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC62C */ cpu->lr = cpu->r[0];
|
|
/* 027DC630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC634 */ return;
|
|
}
|
|
|
|
// fn_027DC5F8 @ 0x27dc5f8
|
|
void Gambit_fn_027DC5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DC5F8: ; // 0x27dc5f8
|
|
/* 027DC5F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC5F8 */ cpu->r[1] = _t0;
|
|
/* 027DC5FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC600 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC608 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC60C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC60C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC60C */ if (_t4) goto L_027DC610; else goto L_027DC620;
|
|
L_027DC610: ; // 0x27dc610
|
|
/* 027DC610 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DC614 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DC618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC61C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC61C */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC61C */ if (_t6) goto L_027DC624; else goto L_027DC620;
|
|
L_027DC620: ; // 0x27dc620
|
|
/* 027DC620 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC620 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
L_027DC624: ; // 0x27dc624
|
|
/* 027DC624 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC628 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC62C */ cpu->lr = cpu->r[0];
|
|
/* 027DC630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC634 */ return;
|
|
}
|
|
|
|
// fn_027DC638 @ 0x27dc638
|
|
void Gambit_fn_027DC638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DC638: ; // 0x27dc638
|
|
/* 027DC638 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC63C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DC644 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC644 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC644 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DC644 */ goto L_027DC648;
|
|
L_027DC648: ; // 0x27dc648
|
|
/* 027DC648 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DC648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC64C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC650 */ return;
|
|
}
|
|
|
|
// fn_027DC654 @ 0x27dc654
|
|
void Gambit_fn_027DC654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DC654: ; // 0x27dc654
|
|
/* 027DC654 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DC658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC65C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC65C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC65C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DC65C */ goto L_027DC660;
|
|
L_027DC660: ; // 0x27dc660
|
|
/* 027DC660 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 027DC664 */ return;
|
|
}
|
|
|
|
// fn_027DC668 @ 0x27dc668
|
|
void Gambit_fn_027DC668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DC668: ; // 0x27dc668
|
|
/* 027DC668 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC66C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC66C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC670 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC674 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC674 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC674 */ cpu->r[1] = _t1;
|
|
/* 027DC678 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC680 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC680 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC680 */ if (_t3) goto L_027DC684; else goto L_027DC694;
|
|
L_027DC684: ; // 0x27dc684
|
|
/* 027DC684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DC688 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC688 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC688 */ if (_t5) goto L_027DC694; else goto L_027DC68C;
|
|
L_027DC68C: ; // 0x27dc68c
|
|
/* 027DC68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
|
|
/* 027DC690 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC690 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC690 */ if (_t7) goto L_027DC6A8; else goto L_027DC694;
|
|
L_027DC694: ; // 0x27dc694
|
|
/* 027DC694 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DC698 */ cpu->lr = cpu->r[0];
|
|
/* 027DC69C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC6A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC6A4 */ return;
|
|
L_027DC6A8: ; // 0x27dc6a8
|
|
/* 027DC6A8 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC6AC */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC6B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC6B4 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 027DC6B8 */ _t9 = cpu->r[12] + 0x00000003u;
|
|
/* 027DC6B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027DC6BC */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 027DC6BC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 027DC6C0 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 027DC6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC6C4 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 027DC6C4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DC6C8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC6CC */ cpu->lr = cpu->r[0];
|
|
/* 027DC6D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC6D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC6D8 */ return;
|
|
}
|
|
|
|
// fn_027DC674 @ 0x27dc674
|
|
void Gambit_fn_027DC674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DC674: ; // 0x27dc674
|
|
/* 027DC674 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC674 */ cpu->r[1] = _t0;
|
|
/* 027DC678 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC680 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC680 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC680 */ if (_t2) goto L_027DC684; else goto L_027DC694;
|
|
L_027DC684: ; // 0x27dc684
|
|
/* 027DC684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DC688 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC688 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC688 */ if (_t4) goto L_027DC694; else goto L_027DC68C;
|
|
L_027DC68C: ; // 0x27dc68c
|
|
/* 027DC68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[3]);
|
|
/* 027DC690 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC690 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC690 */ if (_t6) goto L_027DC6A8; else goto L_027DC694;
|
|
L_027DC694: ; // 0x27dc694
|
|
/* 027DC694 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC698 */ cpu->lr = cpu->r[0];
|
|
/* 027DC69C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC6A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC6A4 */ return;
|
|
L_027DC6A8: ; // 0x27dc6a8
|
|
/* 027DC6A8 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC6AC */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC6B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC6B4 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 027DC6B8 */ _t8 = cpu->r[12] + 0x00000003u;
|
|
/* 027DC6B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027DC6BC */ _t9 = cpu->r[4] + 0x00000004u;
|
|
/* 027DC6BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 027DC6C0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027DC6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC6C4 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 027DC6C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DC6C8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC6CC */ cpu->lr = cpu->r[0];
|
|
/* 027DC6D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC6D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC6D8 */ return;
|
|
}
|
|
|
|
// fn_027DC6DC @ 0x27dc6dc
|
|
void Gambit_fn_027DC6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DC6DC: ; // 0x27dc6dc
|
|
/* 027DC6DC */ cpu->r[0] = cpu->lr;
|
|
/* 027DC6E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC6E4 */ cpu->r[0] = cpu->r[3];
|
|
/* 027DC6E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC6E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC6E8 */ cpu->r[1] = _t1;
|
|
/* 027DC6EC */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC6F0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DC6F4 */ cpu->r[3] = cpu->r[0];
|
|
/* 027DC6F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DC6FC */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC704 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC704 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC704 */ if (_t3) goto L_027DC708; else goto L_027DC74C;
|
|
L_027DC708: ; // 0x27dc708
|
|
/* 027DC708 */ cpu->r[10] = cpu->r[7] + cpu->r[3];
|
|
/* 027DC70C */ /* nop */
|
|
/* 027DC710 */ cpu->r[8] = cpu->r[0];
|
|
/* 027DC714 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC718 */ _t4 = cpu->r[5] + cpu->r[10];
|
|
/* 027DC718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DC71C */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC720 */ cpu->r[9] = cpu->r[4] - cpu->r[11];
|
|
/* 027DC720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DC724 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
/* 027DC728 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC728 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC728 */ if (_t6) goto L_027DC740; else goto L_027DC72C;
|
|
L_027DC72C: ; // 0x27dc72c
|
|
/* 027DC72C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC72C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DC72C */ if (_t8) goto L_027DC730; else goto L_027DC750;
|
|
L_027DC730: ; // 0x27dc730
|
|
/* 027DC730 */ cpu->r[7] = cpu->r[8] + 0x00000001u;
|
|
/* 027DC734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC738 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC738 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC738 */ if (_t10) goto L_027DC708; else goto L_027DC73C;
|
|
L_027DC73C: ; // 0x27dc73c
|
|
/* 027DC73C */ goto L_027DC74C;
|
|
L_027DC740: ; // 0x27dc740
|
|
/* 027DC740 */ cpu->r[3] = cpu->r[8];
|
|
/* 027DC744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC748 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC748 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DC748 */ if (_t12) goto L_027DC708; else goto L_027DC74C;
|
|
L_027DC74C: ; // 0x27dc74c
|
|
/* 027DC74C */ cpu->r[12] = 0x00000000u;
|
|
L_027DC750: ; // 0x27dc750
|
|
/* 027DC750 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC754 */ cpu->lr = cpu->r[0];
|
|
/* 027DC758 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC75C */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC760 */ return;
|
|
}
|
|
|
|
// fn_027DC6E8 @ 0x27dc6e8
|
|
void Gambit_fn_027DC6E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DC6E8: ; // 0x27dc6e8
|
|
/* 027DC6E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC6E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC6E8 */ cpu->r[1] = _t0;
|
|
/* 027DC6EC */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC6F0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DC6F4 */ cpu->r[3] = cpu->r[0];
|
|
/* 027DC6F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DC6FC */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC704 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC704 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC704 */ if (_t2) goto L_027DC708; else goto L_027DC74C;
|
|
L_027DC708: ; // 0x27dc708
|
|
/* 027DC708 */ cpu->r[10] = cpu->r[7] + cpu->r[3];
|
|
/* 027DC70C */ /* nop */
|
|
/* 027DC710 */ cpu->r[8] = cpu->r[0];
|
|
/* 027DC714 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC718 */ _t3 = cpu->r[5] + cpu->r[10];
|
|
/* 027DC718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC71C */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC720 */ cpu->r[9] = cpu->r[4] - cpu->r[11];
|
|
/* 027DC720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DC724 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
/* 027DC728 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC728 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC728 */ if (_t5) goto L_027DC740; else goto L_027DC72C;
|
|
L_027DC72C: ; // 0x27dc72c
|
|
/* 027DC72C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC72C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC72C */ if (_t7) goto L_027DC730; else goto L_027DC750;
|
|
L_027DC730: ; // 0x27dc730
|
|
/* 027DC730 */ cpu->r[7] = cpu->r[8] + 0x00000001u;
|
|
/* 027DC734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC738 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC738 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DC738 */ if (_t9) goto L_027DC708; else goto L_027DC73C;
|
|
L_027DC73C: ; // 0x27dc73c
|
|
/* 027DC73C */ goto L_027DC74C;
|
|
L_027DC740: ; // 0x27dc740
|
|
/* 027DC740 */ cpu->r[3] = cpu->r[8];
|
|
/* 027DC744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC748 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC748 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DC748 */ if (_t11) goto L_027DC708; else goto L_027DC74C;
|
|
L_027DC74C: ; // 0x27dc74c
|
|
/* 027DC74C */ cpu->r[12] = 0x00000000u;
|
|
L_027DC750: ; // 0x27dc750
|
|
/* 027DC750 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC754 */ cpu->lr = cpu->r[0];
|
|
/* 027DC758 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC75C */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC760 */ return;
|
|
}
|
|
|
|
// fn_027DC764 @ 0x27dc764
|
|
void Gambit_fn_027DC764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DC764: ; // 0x27dc764
|
|
/* 027DC764 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC768 */ cpu->r[1] = _t0;
|
|
/* 027DC76C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC76C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC770 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC774 */ cpu->r[4] = cpu->r[5];
|
|
/* 027DC778 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC77C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC780 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC788 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC788 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC788 */ if (_t4) goto L_027DC78C; else goto L_027DC7C4;
|
|
L_027DC78C: ; // 0x27dc78c
|
|
/* 027DC78C */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC790 */ Gambit_fn_027DC6DC(cpu);
|
|
/* 027DC794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC798 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC798 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC798 */ if (_t6) goto L_027DC7C4; else goto L_027DC79C;
|
|
L_027DC79C: ; // 0x27dc79c
|
|
/* 027DC79C */ _t7 = cpu->r[3] + 0x00000003u;
|
|
/* 027DC79C */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027DC7A0 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 027DC7A0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027DC7A4 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 027DC7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC7A8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC7A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027DC7AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC7B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC7B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC7B4 */ cpu->lr = cpu->r[0];
|
|
/* 027DC7B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC7BC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC7C0 */ return;
|
|
L_027DC7C4: ; // 0x27dc7c4
|
|
/* 027DC7C4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC7C8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC7C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC7CC */ cpu->lr = cpu->r[0];
|
|
/* 027DC7D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC7D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC7D8 */ return;
|
|
}
|
|
|
|
// fn_027DC768 @ 0x27dc768
|
|
void Gambit_fn_027DC768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027DC768: ; // 0x27dc768
|
|
/* 027DC768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC768 */ cpu->r[1] = _t0;
|
|
/* 027DC76C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC76C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC770 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DC774 */ cpu->r[4] = cpu->r[5];
|
|
/* 027DC778 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC77C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC780 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC788 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC788 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC788 */ if (_t4) goto L_027DC78C; else goto L_027DC7C4;
|
|
L_027DC78C: ; // 0x27dc78c
|
|
/* 027DC78C */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC790 */ Gambit_fn_027DC6DC(cpu);
|
|
/* 027DC794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DC798 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC798 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC798 */ if (_t6) goto L_027DC7C4; else goto L_027DC79C;
|
|
L_027DC79C: ; // 0x27dc79c
|
|
/* 027DC79C */ _t7 = cpu->r[3] + 0x00000003u;
|
|
/* 027DC79C */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027DC7A0 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 027DC7A0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027DC7A4 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 027DC7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DC7A8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC7A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027DC7AC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DC7B0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC7B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC7B4 */ cpu->lr = cpu->r[0];
|
|
/* 027DC7B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC7BC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC7C0 */ return;
|
|
L_027DC7C4: ; // 0x27dc7c4
|
|
/* 027DC7C4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC7C8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC7C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DC7CC */ cpu->lr = cpu->r[0];
|
|
/* 027DC7D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC7D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC7D8 */ return;
|
|
}
|
|
|
|
// fn_027DC7DC @ 0x27dc7dc
|
|
void Gambit_fn_027DC7DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DC7DC: ; // 0x27dc7dc
|
|
/* 027DC7DC */ cpu->r[0] = cpu->lr;
|
|
/* 027DC7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027DC7E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC7E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC7E8 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC7EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC7EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC7EC */ cpu->r[1] = _t1;
|
|
/* 027DC7F0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC7F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC7F0 */ if (_t3) goto L_027DC804; else goto L_027DC7F4;
|
|
L_027DC7F4: ; // 0x27dc7f4
|
|
/* 027DC7F4 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC7F8 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
|
|
/* 027DC800 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC800 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC800 */ if (_t5) goto L_027DC818; else goto L_027DC804;
|
|
L_027DC804: ; // 0x27dc804
|
|
/* 027DC804 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC808 */ cpu->lr = cpu->r[0];
|
|
/* 027DC80C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC810 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC814 */ return;
|
|
L_027DC818: ; // 0x27dc818
|
|
/* 027DC818 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC81C */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC820 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC824 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 027DC828 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DC82C */ cpu->lr = cpu->r[0];
|
|
/* 027DC830 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC834 */ return;
|
|
}
|
|
|
|
// fn_027DC7EC @ 0x27dc7ec
|
|
void Gambit_fn_027DC7EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DC7EC: ; // 0x27dc7ec
|
|
/* 027DC7EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC7EC */ cpu->r[1] = _t0;
|
|
/* 027DC7F0 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC7F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC7F0 */ if (_t2) goto L_027DC804; else goto L_027DC7F4;
|
|
L_027DC7F4: ; // 0x27dc7f4
|
|
/* 027DC7F4 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC7F8 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[3]);
|
|
/* 027DC800 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC800 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DC800 */ if (_t4) goto L_027DC818; else goto L_027DC804;
|
|
L_027DC804: ; // 0x27dc804
|
|
/* 027DC804 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DC808 */ cpu->lr = cpu->r[0];
|
|
/* 027DC80C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC810 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC814 */ return;
|
|
L_027DC818: ; // 0x27dc818
|
|
/* 027DC818 */ cpu->r[3] = cpu->r[11];
|
|
/* 027DC81C */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC820 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC824 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 027DC828 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DC82C */ cpu->lr = cpu->r[0];
|
|
/* 027DC830 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC834 */ return;
|
|
}
|
|
|
|
// fn_027DC838 @ 0x27dc838
|
|
void Gambit_fn_027DC838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DC838: ; // 0x27dc838
|
|
/* 027DC838 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC83C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DC83C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DC840 */ cpu->r[8] = cpu->r[3];
|
|
/* 027DC844 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC844 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DC844 */ cpu->r[1] = _t1;
|
|
/* 027DC848 */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC84C */ cpu->r[10] = cpu->r[3];
|
|
/* 027DC850 */ cpu->r[3] = cpu->r[8];
|
|
/* 027DC854 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DC858 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC860 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC860 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DC860 */ if (_t3) goto L_027DC864; else goto L_027DC8A4;
|
|
L_027DC864: ; // 0x27dc864
|
|
/* 027DC864 */ cpu->r[9] = cpu->r[7] + cpu->r[3];
|
|
/* 027DC868 */ /* nop */
|
|
/* 027DC86C */ cpu->r[12] = cpu->r[0];
|
|
/* 027DC870 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC874 */ _t4 = cpu->r[11] + cpu->r[10];
|
|
/* 027DC874 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DC878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC87C */ cpu->r[8] = cpu->r[4] - cpu->r[0];
|
|
/* 027DC87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DC880 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC880 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DC880 */ if (_t6) goto L_027DC898; else goto L_027DC884;
|
|
L_027DC884: ; // 0x27dc884
|
|
/* 027DC884 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC884 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DC884 */ if (_t8) goto L_027DC888; else goto L_027DC8A8;
|
|
L_027DC888: ; // 0x27dc888
|
|
/* 027DC888 */ cpu->r[7] = cpu->r[12] + 0x00000001u;
|
|
/* 027DC88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC890 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC890 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DC890 */ if (_t10) goto L_027DC864; else goto L_027DC894;
|
|
L_027DC894: ; // 0x27dc894
|
|
/* 027DC894 */ goto L_027DC8A4;
|
|
L_027DC898: ; // 0x27dc898
|
|
/* 027DC898 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC8A0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC8A0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DC8A0 */ if (_t12) goto L_027DC864; else goto L_027DC8A4;
|
|
L_027DC8A4: ; // 0x27dc8a4
|
|
/* 027DC8A4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_027DC8A8: ; // 0x27dc8a8
|
|
/* 027DC8A8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC8A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DC8AC */ cpu->lr = cpu->r[0];
|
|
/* 027DC8B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC8B4 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC8B8 */ return;
|
|
}
|
|
|
|
// fn_027DC844 @ 0x27dc844
|
|
void Gambit_fn_027DC844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027DC844: ; // 0x27dc844
|
|
/* 027DC844 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DC844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC844 */ cpu->r[1] = _t0;
|
|
/* 027DC848 */ Gambit_fn_027DC654(cpu);
|
|
/* 027DC84C */ cpu->r[10] = cpu->r[3];
|
|
/* 027DC850 */ cpu->r[3] = cpu->r[8];
|
|
/* 027DC854 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DC858 */ Gambit_fn_027DC638(cpu);
|
|
/* 027DC85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC860 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC860 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC860 */ if (_t2) goto L_027DC864; else goto L_027DC8A4;
|
|
L_027DC864: ; // 0x27dc864
|
|
/* 027DC864 */ cpu->r[9] = cpu->r[7] + cpu->r[3];
|
|
/* 027DC868 */ /* nop */
|
|
/* 027DC86C */ cpu->r[12] = cpu->r[0];
|
|
/* 027DC870 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027DC874 */ _t3 = cpu->r[11] + cpu->r[10];
|
|
/* 027DC874 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DC878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 027DC87C */ cpu->r[8] = cpu->r[4] - cpu->r[0];
|
|
/* 027DC87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027DC880 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC880 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC880 */ if (_t5) goto L_027DC898; else goto L_027DC884;
|
|
L_027DC884: ; // 0x27dc884
|
|
/* 027DC884 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC884 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC884 */ if (_t7) goto L_027DC888; else goto L_027DC8A8;
|
|
L_027DC888: ; // 0x27dc888
|
|
/* 027DC888 */ cpu->r[7] = cpu->r[12] + 0x00000001u;
|
|
/* 027DC88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC890 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC890 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DC890 */ if (_t9) goto L_027DC864; else goto L_027DC894;
|
|
L_027DC894: ; // 0x27dc894
|
|
/* 027DC894 */ goto L_027DC8A4;
|
|
L_027DC898: ; // 0x27dc898
|
|
/* 027DC898 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[3]);
|
|
/* 027DC8A0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC8A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DC8A0 */ if (_t11) goto L_027DC864; else goto L_027DC8A4;
|
|
L_027DC8A4: ; // 0x27dc8a4
|
|
/* 027DC8A4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
L_027DC8A8: ; // 0x27dc8a8
|
|
/* 027DC8A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC8A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DC8AC */ cpu->lr = cpu->r[0];
|
|
/* 027DC8B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC8B4 */ cpu->r[3] = cpu->r[12];
|
|
/* 027DC8B8 */ return;
|
|
}
|
|
|
|
// fn_027DC8BC @ 0x27dc8bc
|
|
void Gambit_fn_027DC8BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027DC8BC: ; // 0x27dc8bc
|
|
/* 027DC8BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC8BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 027DC8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00004259u);
|
|
/* 027DC8C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC8C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DC8C4 */ if (_t2) goto L_027DC8C8; else goto L_027DC8D4;
|
|
L_027DC8C8: ; // 0x27dc8c8
|
|
/* 027DC8C8 */ _t3 = cpu->r[3] + 0x00000002u;
|
|
/* 027DC8C8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 027DC8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 027DC8D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC8D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC8D0 */ if (_t5) goto L_027DC8DC; else goto L_027DC8D4;
|
|
L_027DC8D4: ; // 0x27dc8d4
|
|
/* 027DC8D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC8D8 */ return;
|
|
L_027DC8DC: ; // 0x27dc8dc
|
|
/* 027DC8DC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DC8E0 */ return;
|
|
}
|
|
|
|
// fn_027DC8E4 @ 0x27dc8e4
|
|
void Gambit_fn_027DC8E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_027DC8E4: ; // 0x27dc8e4
|
|
/* 027DC8E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DC8E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC8E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC8E8 */ cpu->r[1] = _t0;
|
|
/* 027DC8EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC8F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DC8F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC8F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC8F8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC8F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027DC8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C2u);
|
|
/* 027DC900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC900 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC900 */ if (_t5) goto L_027DC904; else goto L_027DC9A0;
|
|
L_027DC904: ; // 0x27dc904
|
|
/* 027DC904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC908 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC90C */ Gambit_fn_027DC358(cpu);
|
|
/* 027DC910 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC914 */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC918 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DC91C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC91C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC91C */ if (_t7) goto L_027DC920; else goto L_027DC9A0;
|
|
L_027DC920: ; // 0x27dc920
|
|
/* 027DC920 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC924 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC928 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 027DC92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027DC930 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC930 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DC930 */ if (_t9) goto L_027DC934; else goto L_027DC954;
|
|
L_027DC934: ; // 0x27dc934
|
|
/* 027DC934 */ cpu->ctr = cpu->r[11];
|
|
/* 027DC938 */ cpu->r[8] = cpu->r[3];
|
|
/* 027DC93C */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_027DC940: ; // 0x27dc940
|
|
/* 027DC940 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 027DC940 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC940 */ cpu->r[8] = _t10;
|
|
/* 027DC944 */ _t11 = cpu->r[9] + cpu->r[6];
|
|
/* 027DC944 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027DC948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DC94C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC94C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DC94C */ if (_t13) goto L_027DC950; else goto L_027DC9A0;
|
|
L_027DC950: ; // 0x27dc950
|
|
/* 027DC950 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DC950 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DC950 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 027DC950 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DC950 */ if (_t16) goto L_027DC940; else goto L_027DC954;
|
|
L_027DC954: ; // 0x27dc954
|
|
/* 027DC954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DC958 */ cpu->r[0] = cpu->r[11];
|
|
/* 027DC95C */ cpu->r[6] = 0x00000000u;
|
|
/* 027DC960 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC960 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DC960 */ if (_t18) goto L_027DC968; else goto L_027DC964;
|
|
L_027DC964: ; // 0x27dc964
|
|
/* 027DC964 */ cpu->r[0] = 0x00000001u;
|
|
L_027DC968: ; // 0x27dc968
|
|
/* 027DC968 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC96C */ cpu->r[7] = cpu->r[3] + cpu->r[10];
|
|
/* 027DC970 */ cpu->ctr = cpu->r[0];
|
|
/* 027DC974 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu;
|
|
L_027DC978: ; // 0x27dc978
|
|
/* 027DC978 */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 027DC978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC978 */ cpu->r[7] = _t19;
|
|
/* 027DC97C */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 027DC97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027DC984 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC984 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DC984 */ if (_t22) goto L_027DC988; else goto L_027DC9A0;
|
|
L_027DC988: ; // 0x27dc988
|
|
/* 027DC988 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DC988 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DC988 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 027DC988 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DC988 */ if (_t25) goto L_027DC978; else goto L_027DC98C;
|
|
L_027DC98C: ; // 0x27dc98c
|
|
/* 027DC98C */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC990 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC990 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC994 */ cpu->r[8] = cpu->r[7] + 0x00000008u;
|
|
/* 027DC998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 027DC99C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC99C */ _t28 = _t27 & 0x00000001u;
|
|
/* 027DC99C */ if (_t28) goto L_027DC9B8; else goto L_027DC9A0;
|
|
L_027DC9A0: ; // 0x27dc9a0
|
|
/* 027DC9A0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DC9A4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC9A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DC9A8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC9AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC9B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC9B4 */ return;
|
|
L_027DC9B8: ; // 0x27dc9b8
|
|
/* 027DC9B8 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027DC9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DC9BC */ cpu->r[8] = 0x00000000u;
|
|
/* 027DC9C0 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC9C0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DC9C0 */ if (_t32) goto L_027DC9C4; else goto L_027DCA14;
|
|
L_027DC9C4: ; // 0x27dc9c4
|
|
/* 027DC9C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC9C8 */ cpu->r[4] = cpu->r[8];
|
|
/* 027DC9CC */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC9D0 */ cpu->r[6] = cpu->r[3];
|
|
/* 027DC9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC9D8 */ cpu->r[4] = cpu->r[8] + 0x00000001u;
|
|
/* 027DC9DC */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC9E0 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027DC9E4 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_027DC9E8: ; // 0x27dc9e8
|
|
/* 027DC9E8 */ _t33 = cpu->r[10] + 0x00000001u;
|
|
/* 027DC9E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t33);
|
|
/* 027DC9E8 */ cpu->r[10] = _t33;
|
|
/* 027DC9EC */ _t34 = cpu->r[11] + 0x00000001u;
|
|
/* 027DC9EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027DC9EC */ cpu->r[11] = _t34;
|
|
/* 027DC9F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027DC9F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC9F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027DC9F4 */ if (_t36) goto L_027DC9F8; else goto L_027DCA00;
|
|
L_027DC9F8: ; // 0x27dc9f8
|
|
/* 027DC9F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 027DC9FC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC9FC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DC9FC */ if (_t38) goto L_027DCA00; else goto L_027DC9E8;
|
|
L_027DCA00: ; // 0x27dca00
|
|
/* 027DCA00 */ cpu->r[7] = cpu->r[12] - cpu->r[0];
|
|
/* 027DCA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DCA04 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCA04 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DCA04 */ if (_t40) goto L_027DC9A0; else goto L_027DCA08;
|
|
L_027DCA08: ; // 0x27dca08
|
|
/* 027DCA08 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 027DCA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DCA0C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027DCA10 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA10 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027DCA10 */ if (_t42) goto L_027DCA14; else goto L_027DC9C4;
|
|
L_027DCA14: ; // 0x27dca14
|
|
/* 027DCA14 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCA14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DCA18 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DCA1C */ cpu->lr = cpu->r[0];
|
|
/* 027DCA20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DCA24 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DCA28 */ return;
|
|
}
|
|
|
|
// fn_027DC8E8 @ 0x27dc8e8
|
|
void Gambit_fn_027DC8E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_027DC8E8: ; // 0x27dc8e8
|
|
/* 027DC8E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DC8E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DC8E8 */ cpu->r[1] = _t0;
|
|
/* 027DC8EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DC8F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DC8F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC8F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DC8F8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 027DC8F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027DC8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000C2u);
|
|
/* 027DC900 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC900 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DC900 */ if (_t5) goto L_027DC904; else goto L_027DC9A0;
|
|
L_027DC904: ; // 0x27dc904
|
|
/* 027DC904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC908 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DC90C */ Gambit_fn_027DC358(cpu);
|
|
/* 027DC910 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC914 */ Gambit_fn_027DC39C(cpu);
|
|
/* 027DC918 */ cpu->r[11] = cpu->r[3];
|
|
/* 027DC918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DC91C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC91C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DC91C */ if (_t7) goto L_027DC920; else goto L_027DC9A0;
|
|
L_027DC920: ; // 0x27dc920
|
|
/* 027DC920 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC924 */ Gambit_fn_027DC3AC(cpu);
|
|
/* 027DC928 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 027DC92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027DC930 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC930 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DC930 */ if (_t9) goto L_027DC934; else goto L_027DC954;
|
|
L_027DC934: ; // 0x27dc934
|
|
/* 027DC934 */ cpu->ctr = cpu->r[11];
|
|
/* 027DC938 */ cpu->r[8] = cpu->r[3];
|
|
/* 027DC93C */ cpu->r[9] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_027DC940: ; // 0x27dc940
|
|
/* 027DC940 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 027DC940 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DC940 */ cpu->r[8] = _t10;
|
|
/* 027DC944 */ _t11 = cpu->r[9] + cpu->r[6];
|
|
/* 027DC944 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027DC948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DC94C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC94C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DC94C */ if (_t13) goto L_027DC950; else goto L_027DC9A0;
|
|
L_027DC950: ; // 0x27dc950
|
|
/* 027DC950 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DC950 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DC950 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 027DC950 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DC950 */ if (_t16) goto L_027DC940; else goto L_027DC954;
|
|
L_027DC954: ; // 0x27dc954
|
|
/* 027DC954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027DC958 */ cpu->r[0] = cpu->r[11];
|
|
/* 027DC95C */ cpu->r[6] = 0x00000000u;
|
|
/* 027DC960 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC960 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DC960 */ if (_t18) goto L_027DC968; else goto L_027DC964;
|
|
L_027DC964: ; // 0x27dc964
|
|
/* 027DC964 */ cpu->r[0] = 0x00000001u;
|
|
L_027DC968: ; // 0x27dc968
|
|
/* 027DC968 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC96C */ cpu->r[7] = cpu->r[3] + cpu->r[10];
|
|
/* 027DC970 */ cpu->ctr = cpu->r[0];
|
|
/* 027DC974 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFCu;
|
|
L_027DC978: ; // 0x27dc978
|
|
/* 027DC978 */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 027DC978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DC978 */ cpu->r[7] = _t19;
|
|
/* 027DC97C */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 027DC97C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DC980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027DC984 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DC984 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DC984 */ if (_t22) goto L_027DC988; else goto L_027DC9A0;
|
|
L_027DC988: ; // 0x27dc988
|
|
/* 027DC988 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DC988 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DC988 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 027DC988 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DC988 */ if (_t25) goto L_027DC978; else goto L_027DC98C;
|
|
L_027DC98C: ; // 0x27dc98c
|
|
/* 027DC98C */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DC990 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027DC990 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DC994 */ cpu->r[8] = cpu->r[7] + 0x00000008u;
|
|
/* 027DC998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 027DC99C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC99C */ _t28 = _t27 & 0x00000001u;
|
|
/* 027DC99C */ if (_t28) goto L_027DC9B8; else goto L_027DC9A0;
|
|
L_027DC9A0: ; // 0x27dc9a0
|
|
/* 027DC9A0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027DC9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DC9A4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DC9A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DC9A8 */ cpu->lr = cpu->r[0];
|
|
/* 027DC9AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DC9B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DC9B4 */ return;
|
|
L_027DC9B8: ; // 0x27dc9b8
|
|
/* 027DC9B8 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027DC9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DC9BC */ cpu->r[8] = 0x00000000u;
|
|
/* 027DC9C0 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DC9C0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DC9C0 */ if (_t32) goto L_027DC9C4; else goto L_027DCA14;
|
|
L_027DC9C4: ; // 0x27dc9c4
|
|
/* 027DC9C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC9C8 */ cpu->r[4] = cpu->r[8];
|
|
/* 027DC9CC */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC9D0 */ cpu->r[6] = cpu->r[3];
|
|
/* 027DC9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DC9D8 */ cpu->r[4] = cpu->r[8] + 0x00000001u;
|
|
/* 027DC9DC */ Gambit_fn_027DC3E0(cpu);
|
|
/* 027DC9E0 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027DC9E4 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_027DC9E8: ; // 0x27dc9e8
|
|
/* 027DC9E8 */ _t33 = cpu->r[10] + 0x00000001u;
|
|
/* 027DC9E8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t33);
|
|
/* 027DC9E8 */ cpu->r[10] = _t33;
|
|
/* 027DC9EC */ _t34 = cpu->r[11] + 0x00000001u;
|
|
/* 027DC9EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027DC9EC */ cpu->r[11] = _t34;
|
|
/* 027DC9F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027DC9F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC9F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027DC9F4 */ if (_t36) goto L_027DC9F8; else goto L_027DCA00;
|
|
L_027DC9F8: ; // 0x27dc9f8
|
|
/* 027DC9F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 027DC9FC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DC9FC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DC9FC */ if (_t38) goto L_027DCA00; else goto L_027DC9E8;
|
|
L_027DCA00: ; // 0x27dca00
|
|
/* 027DCA00 */ cpu->r[7] = cpu->r[12] - cpu->r[0];
|
|
/* 027DCA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027DCA04 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCA04 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DCA04 */ if (_t40) goto L_027DC9A0; else goto L_027DCA08;
|
|
L_027DCA08: ; // 0x27dca08
|
|
/* 027DCA08 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 027DCA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DCA0C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027DCA10 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA10 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027DCA10 */ if (_t42) goto L_027DCA14; else goto L_027DC9C4;
|
|
L_027DCA14: ; // 0x27dca14
|
|
/* 027DCA14 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCA14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DCA18 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DCA1C */ cpu->lr = cpu->r[0];
|
|
/* 027DCA20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DCA24 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DCA28 */ return;
|
|
}
|
|
|
|
// fn_027DCA2C @ 0x27dca2c
|
|
void Gambit_fn_027DCA2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DCA2C: ; // 0x27dca2c
|
|
/* 027DCA2C */ cpu->r[0] = cpu->lr;
|
|
/* 027DCA30 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DCA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCA30 */ cpu->r[1] = _t0;
|
|
/* 027DCA34 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCA34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DCA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCA3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DCA40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCA40 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027DCA44 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCA44 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027DCA48 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCA48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DCA4C */ Gambit_fn_027DC8BC(cpu);
|
|
/* 027DCA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCA54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCA54 */ if (_t7) goto L_027DCB34; else goto L_027DCA58;
|
|
L_027DCA58: ; // 0x27dca58
|
|
/* 027DCA58 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 027DCA58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DCA60 */ cpu->r[29] = cpu->r[28];
|
|
/* 027DCA64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA64 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DCA64 */ if (_t10) goto L_027DCA90; else goto L_027DCA68;
|
|
L_027DCA68: ; // 0x27dca68
|
|
/* 027DCA68 */ cpu->r[3] = cpu->r[31] + cpu->r[28];
|
|
/* 027DCA6C */ Gambit_fn_027DC8E4(cpu);
|
|
/* 027DCA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCA74 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA74 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DCA74 */ if (_t12) goto L_027DCB34; else goto L_027DCA78;
|
|
L_027DCA78: ; // 0x27dca78
|
|
/* 027DCA78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCA7C */ cpu->r[4] = cpu->r[31] + cpu->r[28];
|
|
/* 027DCA80 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DCA84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCA88 */ Gambit_fn_027DC40C(cpu);
|
|
/* 027DCA8C */ cpu->r[29] = cpu->r[3];
|
|
L_027DCA90: ; // 0x27dca90
|
|
/* 027DCA90 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 027DCA90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DCA9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA9C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027DCA9C */ if (_t15) goto L_027DCAC4; else goto L_027DCAA0;
|
|
L_027DCAA0: ; // 0x27dcaa0
|
|
/* 027DCAA0 */ cpu->r[3] = cpu->r[31] + cpu->r[30];
|
|
/* 027DCAA4 */ Gambit_fn_027DC8E4(cpu);
|
|
/* 027DCAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCAAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCAAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DCAAC */ if (_t17) goto L_027DCB34; else goto L_027DCAB0;
|
|
L_027DCAB0: ; // 0x27dcab0
|
|
/* 027DCAB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCAB4 */ cpu->r[4] = cpu->r[31] + cpu->r[30];
|
|
/* 027DCAB8 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DCABC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCAC0 */ Gambit_fn_027DC40C(cpu);
|
|
L_027DCAC4: ; // 0x27dcac4
|
|
/* 027DCAC4 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DCAC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DCAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCACC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCACC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027DCACC */ if (_t20) goto L_027DCAD0; else goto L_027DCAFC;
|
|
L_027DCAD0: ; // 0x27dcad0
|
|
/* 027DCAD0 */ cpu->r[12] = cpu->r[28] | cpu->r[30];
|
|
/* 027DCAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DCAD4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCAD4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DCAD4 */ if (_t22) goto L_027DCAD8; else goto L_027DCB34;
|
|
L_027DCAD8: ; // 0x27dcad8
|
|
/* 027DCAD8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCAD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DCADC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCADC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DCAE0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DCAE4 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCAE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DCAE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DCAEC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DCAF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCAF4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DCAF8 */ return;
|
|
L_027DCAFC: ; // 0x27dcafc
|
|
/* 027DCAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DCB00 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB00 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027DCB00 */ if (_t29) goto L_027DCB1C; else goto L_027DCB04;
|
|
L_027DCB04: ; // 0x27dcb04
|
|
/* 027DCB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCB08 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027DCB08 */ if (_t31) goto L_027DCB14; else goto L_027DCB0C;
|
|
L_027DCB0C: ; // 0x27dcb0c
|
|
/* 027DCB0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 027DCB10 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB10 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027DCB10 */ if (_t33) goto L_027DCB34; else goto L_027DCB14;
|
|
L_027DCB14: ; // 0x27dcb14
|
|
/* 027DCB14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 027DCB18 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB18 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027DCB18 */ if (_t35) goto L_027DCB34; else goto L_027DCB1C;
|
|
L_027DCB1C: ; // 0x27dcb1c
|
|
/* 027DCB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCB20 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB20 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027DCB20 */ if (_t37) goto L_027DCAD8; else goto L_027DCB24;
|
|
L_027DCB24: ; // 0x27dcb24
|
|
/* 027DCB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCB28 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB28 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027DCB28 */ if (_t39) goto L_027DCAD8; else goto L_027DCB2C;
|
|
L_027DCB2C: ; // 0x27dcb2c
|
|
/* 027DCB2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 027DCB30 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB30 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027DCB30 */ if (_t41) goto L_027DCB34; else goto L_027DCAD8;
|
|
L_027DCB34: ; // 0x27dcb34
|
|
/* 027DCB34 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCB34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027DCB38 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCB38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DCB3C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DCB40 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCB40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027DCB44 */ cpu->lr = cpu->r[0];
|
|
/* 027DCB48 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DCB4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCB50 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DCB54 */ return;
|
|
}
|
|
|
|
// fn_027DCA30 @ 0x27dca30
|
|
void Gambit_fn_027DCA30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DCA30: ; // 0x27dca30
|
|
/* 027DCA30 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DCA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCA30 */ cpu->r[1] = _t0;
|
|
/* 027DCA34 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCA34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DCA38 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCA3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCA3C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DCA40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCA40 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027DCA44 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCA44 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027DCA48 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCA48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DCA4C */ Gambit_fn_027DC8BC(cpu);
|
|
/* 027DCA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCA54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCA54 */ if (_t7) goto L_027DCB34; else goto L_027DCA58;
|
|
L_027DCA58: ; // 0x27dca58
|
|
/* 027DCA58 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 027DCA58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DCA60 */ cpu->r[29] = cpu->r[28];
|
|
/* 027DCA64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA64 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DCA64 */ if (_t10) goto L_027DCA90; else goto L_027DCA68;
|
|
L_027DCA68: ; // 0x27dca68
|
|
/* 027DCA68 */ cpu->r[3] = cpu->r[31] + cpu->r[28];
|
|
/* 027DCA6C */ Gambit_fn_027DC8E4(cpu);
|
|
/* 027DCA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCA74 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA74 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DCA74 */ if (_t12) goto L_027DCB34; else goto L_027DCA78;
|
|
L_027DCA78: ; // 0x27dca78
|
|
/* 027DCA78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCA7C */ cpu->r[4] = cpu->r[31] + cpu->r[28];
|
|
/* 027DCA80 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DCA84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCA88 */ Gambit_fn_027DC40C(cpu);
|
|
/* 027DCA8C */ cpu->r[29] = cpu->r[3];
|
|
L_027DCA90: ; // 0x27dca90
|
|
/* 027DCA90 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 027DCA90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCA98 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DCA9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCA9C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027DCA9C */ if (_t15) goto L_027DCAC4; else goto L_027DCAA0;
|
|
L_027DCAA0: ; // 0x27dcaa0
|
|
/* 027DCAA0 */ cpu->r[3] = cpu->r[31] + cpu->r[30];
|
|
/* 027DCAA4 */ Gambit_fn_027DC8E4(cpu);
|
|
/* 027DCAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCAAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCAAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027DCAAC */ if (_t17) goto L_027DCB34; else goto L_027DCAB0;
|
|
L_027DCAB0: ; // 0x27dcab0
|
|
/* 027DCAB0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCAB4 */ cpu->r[4] = cpu->r[31] + cpu->r[30];
|
|
/* 027DCAB8 */ Gambit_fn_027DC358(cpu);
|
|
/* 027DCABC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCAC0 */ Gambit_fn_027DC40C(cpu);
|
|
L_027DCAC4: ; // 0x27dcac4
|
|
/* 027DCAC4 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DCAC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DCAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCACC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCACC */ _t20 = _t19 & 0x00000001u;
|
|
/* 027DCACC */ if (_t20) goto L_027DCAD0; else goto L_027DCAFC;
|
|
L_027DCAD0: ; // 0x27dcad0
|
|
/* 027DCAD0 */ cpu->r[12] = cpu->r[28] | cpu->r[30];
|
|
/* 027DCAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DCAD4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCAD4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DCAD4 */ if (_t22) goto L_027DCAD8; else goto L_027DCB34;
|
|
L_027DCAD8: ; // 0x27dcad8
|
|
/* 027DCAD8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCAD8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DCADC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCADC */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DCAE0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DCAE4 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCAE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DCAE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DCAEC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCAEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DCAF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCAF4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DCAF8 */ return;
|
|
L_027DCAFC: ; // 0x27dcafc
|
|
/* 027DCAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DCB00 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB00 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027DCB00 */ if (_t29) goto L_027DCB1C; else goto L_027DCB04;
|
|
L_027DCB04: ; // 0x27dcb04
|
|
/* 027DCB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCB08 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027DCB08 */ if (_t31) goto L_027DCB14; else goto L_027DCB0C;
|
|
L_027DCB0C: ; // 0x27dcb0c
|
|
/* 027DCB0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 027DCB10 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB10 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027DCB10 */ if (_t33) goto L_027DCB34; else goto L_027DCB14;
|
|
L_027DCB14: ; // 0x27dcb14
|
|
/* 027DCB14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 027DCB18 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB18 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027DCB18 */ if (_t35) goto L_027DCB34; else goto L_027DCB1C;
|
|
L_027DCB1C: ; // 0x27dcb1c
|
|
/* 027DCB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DCB20 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB20 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027DCB20 */ if (_t37) goto L_027DCAD8; else goto L_027DCB24;
|
|
L_027DCB24: ; // 0x27dcb24
|
|
/* 027DCB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCB28 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB28 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027DCB28 */ if (_t39) goto L_027DCAD8; else goto L_027DCB2C;
|
|
L_027DCB2C: ; // 0x27dcb2c
|
|
/* 027DCB2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 027DCB30 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCB30 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027DCB30 */ if (_t41) goto L_027DCB34; else goto L_027DCAD8;
|
|
L_027DCB34: ; // 0x27dcb34
|
|
/* 027DCB34 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCB34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027DCB38 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCB38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DCB3C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DCB40 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCB40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027DCB44 */ cpu->lr = cpu->r[0];
|
|
/* 027DCB48 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DCB4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCB50 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DCB54 */ return;
|
|
}
|
|
|
|
// fn_027DCB58 @ 0x27dcb58
|
|
void Gambit_fn_027DCB58(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_027DCB58: ; // 0x27dcb58
|
|
/* 027DCB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCB5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCB5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCB5C */ goto L_027DCB60;
|
|
L_027DCB60: ; // 0x27dcb60
|
|
/* 027DCB60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCB64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCB64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCB64 */ goto L_027DCB68;
|
|
L_027DCB68: ; // 0x27dcb68
|
|
/* 027DCB68 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCB6C @ 0x27dcb6c
|
|
void Gambit_fn_027DCB6C(CPUState* cpu) {
|
|
L_027DCB6C: ; // 0x27dcb6c
|
|
/* 027DCB6C */ return;
|
|
}
|
|
|
|
// fn_027DCB70 @ 0x27dcb70
|
|
void Gambit_fn_027DCB70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DCB70: ; // 0x27dcb70
|
|
/* 027DCB70 */ cpu->r[0] = cpu->lr;
|
|
/* 027DCB74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DCB74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCB74 */ cpu->r[1] = _t0;
|
|
/* 027DCB78 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCB78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCB7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCB7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DCB80 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCB84 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCB88 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCB88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DCB8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DCB8C */ if (_t5) goto L_027DCB90; else goto L_027DCBA0;
|
|
L_027DCB90: ; // 0x27dcb90
|
|
/* 027DCB90 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DCB94 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DCB98 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCB9C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB9C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCB9C */ if (_t7) goto L_027DCBC8; else goto L_027DCBA0;
|
|
L_027DCBA0: ; // 0x27dcba0
|
|
/* 027DCBA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DCBA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBA8 */ Gambit_fn_028389EC(cpu);
|
|
/* 027DCBAC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCBB0 */ cpu->r[6] = 0x00010000u;
|
|
/* 027DCBB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCBB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCBB8 */ cpu->r[6] = cpu->r[6] + 0x00005180u;
|
|
/* 027DCBBC */ cpu->r[5] = 0x00000000u;
|
|
/* 027DCBC0 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 027DCBC4 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCBC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
L_027DCBC8: ; // 0x27dcbc8
|
|
/* 027DCBC8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCBCC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DCBD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCBD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCBD4 */ cpu->lr = cpu->r[0];
|
|
/* 027DCBD8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCBDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DCBE0 */ return;
|
|
}
|
|
|
|
// fn_027DCB74 @ 0x27dcb74
|
|
void Gambit_fn_027DCB74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DCB74: ; // 0x27dcb74
|
|
/* 027DCB74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027DCB74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCB74 */ cpu->r[1] = _t0;
|
|
/* 027DCB78 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCB78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCB7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCB7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DCB80 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCB84 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCB88 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCB88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DCB8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DCB8C */ if (_t5) goto L_027DCB90; else goto L_027DCBA0;
|
|
L_027DCB90: ; // 0x27dcb90
|
|
/* 027DCB90 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DCB94 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DCB98 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCB9C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCB9C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCB9C */ if (_t7) goto L_027DCBC8; else goto L_027DCBA0;
|
|
L_027DCBA0: ; // 0x27dcba0
|
|
/* 027DCBA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 027DCBA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBA8 */ Gambit_fn_028389EC(cpu);
|
|
/* 027DCBAC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCBB0 */ cpu->r[6] = 0x00010000u;
|
|
/* 027DCBB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCBB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCBB8 */ cpu->r[6] = cpu->r[6] + 0x00005180u;
|
|
/* 027DCBBC */ cpu->r[5] = 0x00000000u;
|
|
/* 027DCBC0 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 027DCBC4 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCBC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
L_027DCBC8: ; // 0x27dcbc8
|
|
/* 027DCBC8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCBCC */ cpu->r[3] = cpu->r[31];
|
|
/* 027DCBD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCBD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCBD4 */ cpu->lr = cpu->r[0];
|
|
/* 027DCBD8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCBDC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027DCBE0 */ return;
|
|
}
|
|
|
|
// fn_027DCBE4 @ 0x27dcbe4
|
|
void Gambit_fn_027DCBE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DCBE4: ; // 0x27dcbe4
|
|
/* 027DCBE4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DCBE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DCBE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCBE8 */ cpu->r[1] = _t0;
|
|
/* 027DCBEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCBF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCBF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DCBF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCBF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCBFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DCC00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCC00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DCC00 */ if (_t5) goto L_027DCC04; else goto L_027DCC14;
|
|
L_027DCC04: ; // 0x27dcc04
|
|
/* 027DCC04 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DCC08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DCC0C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCC10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCC10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCC10 */ if (_t7) goto L_027DCC30; else goto L_027DCC14;
|
|
L_027DCC14: ; // 0x27dcc14
|
|
/* 027DCC14 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 027DCC14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCC18 */ cpu->r[6] = 0x00010000u;
|
|
/* 027DCC1C */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 027DCC1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCC20 */ cpu->r[6] = cpu->r[6] + 0x00005180u;
|
|
/* 027DCC24 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DCC28 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 027DCC2C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCC2C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
L_027DCC30: ; // 0x27dcc30
|
|
/* 027DCC30 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCC34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DCC38 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCC3C */ cpu->lr = cpu->r[0];
|
|
/* 027DCC40 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCC44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DCC48 */ return;
|
|
}
|
|
|
|
// fn_027DCBE8 @ 0x27dcbe8
|
|
void Gambit_fn_027DCBE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027DCBE8: ; // 0x27dcbe8
|
|
/* 027DCBE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DCBE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCBE8 */ cpu->r[1] = _t0;
|
|
/* 027DCBEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCBEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCBF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCBF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DCBF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCBF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCBFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCBFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DCC00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCC00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DCC00 */ if (_t5) goto L_027DCC04; else goto L_027DCC14;
|
|
L_027DCC04: ; // 0x27dcc04
|
|
/* 027DCC04 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DCC08 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DCC0C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCC10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCC10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DCC10 */ if (_t7) goto L_027DCC30; else goto L_027DCC14;
|
|
L_027DCC14: ; // 0x27dcc14
|
|
/* 027DCC14 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 027DCC14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCC18 */ cpu->r[6] = 0x00010000u;
|
|
/* 027DCC1C */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 027DCC1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCC20 */ cpu->r[6] = cpu->r[6] + 0x00005180u;
|
|
/* 027DCC24 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DCC28 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 027DCC2C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCC2C */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
L_027DCC30: ; // 0x27dcc30
|
|
/* 027DCC30 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCC34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DCC38 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCC3C */ cpu->lr = cpu->r[0];
|
|
/* 027DCC40 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DCC44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DCC48 */ return;
|
|
}
|
|
|
|
// fn_027DCC4C @ 0x27dcc4c
|
|
void Gambit_fn_027DCC4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027DCC4C: ; // 0x27dcc4c
|
|
/* 027DCC4C */ cpu->r[0] = cpu->lr;
|
|
/* 027DCC50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DCC50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCC50 */ cpu->r[1] = _t0;
|
|
/* 027DCC54 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCC54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DCC58 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCC5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC60 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCC60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DCC64 */ Gambit_fn_028389EC(cpu);
|
|
/* 027DCC68 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027DCC6C */ _t3 = cpu->r[3] + 0xFFFF957Cu;
|
|
/* 027DCC6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DCC70 */ Gambit_fn_027D68C8(cpu);
|
|
/* 027DCC74 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DCC78 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DCC7C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCC7C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 027DCC80 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCC80 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 027DCC84 */ cpu->r[6] = cpu->r[8] + cpu->r[4];
|
|
/* 027DCC88 */ cpu->r[5] = cpu->r[7] + cpu->r[3];
|
|
/* 027DCC8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC8C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027DCC90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC94 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DCC98 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC98 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027DCC9C */ Gambit_fn_02838874(cpu);
|
|
/* 027DCCA0 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DCCA4 */ cpu->lr = cpu->r[0];
|
|
/* 027DCCA8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCCA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCCAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCCB0 */ return;
|
|
}
|
|
|
|
// fn_027DCC50 @ 0x27dcc50
|
|
void Gambit_fn_027DCC50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027DCC50: ; // 0x27dcc50
|
|
/* 027DCC50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DCC50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCC50 */ cpu->r[1] = _t0;
|
|
/* 027DCC54 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCC54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DCC58 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DCC5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC60 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCC60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DCC64 */ Gambit_fn_028389EC(cpu);
|
|
/* 027DCC68 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027DCC6C */ _t3 = cpu->r[3] + 0xFFFF957Cu;
|
|
/* 027DCC6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DCC70 */ Gambit_fn_027D68C8(cpu);
|
|
/* 027DCC74 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DCC78 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DCC7C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCC7C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 027DCC80 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCC80 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 027DCC84 */ cpu->r[6] = cpu->r[8] + cpu->r[4];
|
|
/* 027DCC88 */ cpu->r[5] = cpu->r[7] + cpu->r[3];
|
|
/* 027DCC8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCC8C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027DCC90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC94 */ cpu->r[4] = cpu->r[31];
|
|
/* 027DCC98 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCC98 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027DCC9C */ Gambit_fn_02838874(cpu);
|
|
/* 027DCCA0 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCCA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DCCA4 */ cpu->lr = cpu->r[0];
|
|
/* 027DCCA8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCCA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DCCAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DCCB0 */ return;
|
|
}
|
|
|
|
// fn_027DCCB4 @ 0x27dccb4
|
|
void Gambit_fn_027DCCB4(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_027DCCB4: ; // 0x27dccb4
|
|
/* 027DCCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCCB8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCCB8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCCB8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCCB8 */ goto L_027DCCBC;
|
|
L_027DCCBC: ; // 0x27dccbc
|
|
/* 027DCCBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCCC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCCC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCCC0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCCC0 */ goto L_027DCCC4;
|
|
L_027DCCC4: ; // 0x27dccc4
|
|
/* 027DCCC4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCCC8 @ 0x27dccc8
|
|
void Gambit_fn_027DCCC8(CPUState* cpu) {
|
|
L_027DCCC8: ; // 0x27dccc8
|
|
/* 027DCCC8 */ return;
|
|
}
|
|
|
|
// fn_027DCCCC @ 0x27dcccc
|
|
void Gambit_fn_027DCCCC(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_027DCCCC: ; // 0x27dcccc
|
|
/* 027DCCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCCD0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCCD0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCCD0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCCD0 */ goto L_027DCCD4;
|
|
L_027DCCD4: ; // 0x27dccd4
|
|
/* 027DCCD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCCD8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCCD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCCD8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCCD8 */ goto L_027DCCDC;
|
|
L_027DCCDC: ; // 0x27dccdc
|
|
/* 027DCCDC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCCE0 @ 0x27dcce0
|
|
void Gambit_fn_027DCCE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DCCE0: ; // 0x27dcce0
|
|
/* 027DCCE0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027DCCE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DCCE4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027DCCE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DCCE8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027DCCEC */ cpu->r[11] = 0x10110000u;
|
|
/* 027DCCF0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027DCCF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027DCCF4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027DCCF4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027DCCF8 */ return;
|
|
}
|
|
|
|
// fn_027DCCFC @ 0x27dccfc
|
|
void Gambit_fn_027DCCFC(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_027DCCFC: ; // 0x27dccfc
|
|
/* 027DCCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCD00 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD00 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCD00 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD00 */ goto L_027DCD04;
|
|
L_027DCD04: ; // 0x27dcd04
|
|
/* 027DCD04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCD08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCD08 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD08 */ goto L_027DCD0C;
|
|
L_027DCD0C: ; // 0x27dcd0c
|
|
/* 027DCD0C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCD10 @ 0x27dcd10
|
|
void Gambit_fn_027DCD10(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_027DCD10: ; // 0x27dcd10
|
|
/* 027DCD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCD14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCD14 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD14 */ goto L_027DCD18;
|
|
L_027DCD18: ; // 0x27dcd18
|
|
/* 027DCD18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCD1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCD1C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD1C */ goto L_027DCD20;
|
|
L_027DCD20: ; // 0x27dcd20
|
|
/* 027DCD20 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCD24 @ 0x27dcd24
|
|
void Gambit_fn_027DCD24(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_027DCD24: ; // 0x27dcd24
|
|
/* 027DCD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DCD28 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD28 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DCD28 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD28 */ goto L_027DCD2C;
|
|
L_027DCD2C: ; // 0x27dcd2c
|
|
/* 027DCD2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DCD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DCD30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCD30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DCD30 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DCD30 */ goto L_027DCD34;
|
|
L_027DCD34: ; // 0x27dcd34
|
|
/* 027DCD34 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DCD38 @ 0x27dcd38
|
|
void Gambit_fn_027DCD38(CPUState* cpu) {
|
|
L_027DCD38: ; // 0x27dcd38
|
|
/* 027DCD38 */ return;
|
|
}
|
|
|
|
// fn_027DCD3C @ 0x27dcd3c
|
|
void Gambit_fn_027DCD3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DCD3C: ; // 0x27dcd3c
|
|
/* 027DCD3C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027DCD3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCD3C */ cpu->r[1] = _t0;
|
|
/* 027DCD40 */ /* nop */
|
|
/* 027DCD44 */ /* nop */
|
|
/* 027DCD48 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027DCD48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027DCD4C */ /* nop */
|
|
/* 027DCD50 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DCD50 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027DCD54 */ /* nop */
|
|
/* 027DCD58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCD58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DCD5C */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DCD60 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCD60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DCD64 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCD64 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 027DCD68 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCD68 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DCD6C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCD6C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027DCD70 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCD70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCD74 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCD74 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 027DCD78 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCD78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027DCD7C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCD7C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DCD80 */ _t12 = cpu->r[4] + 0x00000014u;
|
|
/* 027DCD80 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027DCD84 */ _t13 = cpu->r[4] + 0x00000010u;
|
|
/* 027DCD84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DCD88 */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 027DCD8C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCD8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DCD90 */ cpu->f[12] = fma(cpu->f[0], cpu->f[8], cpu->f[9]);
|
|
/* 027DCD94 */ _t15 = cpu->r[4] + 0x00000018u;
|
|
/* 027DCD94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DCD98 */ cpu->f[7] = fma(cpu->f[0], cpu->f[13], cpu->f[12]);
|
|
/* 027DCD9C */ /* nop */
|
|
/* 027DCDA0 */ cpu->f[11] = cpu->f[0] * cpu->f[7];
|
|
/* 027DCDA4 */ /* nop */
|
|
/* 027DCDA8 */ /* nop */
|
|
/* 027DCDAC */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 027DCDAC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 027DCDB0 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 027DCDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DCDB4 */ /* nop */
|
|
/* 027DCDB8 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DCDBC */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 027DCDBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DCDC0 */ _t20 = cpu->r[1] + 0x00000030u;
|
|
/* 027DCDC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 027DCDC4 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DCDC4 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 027DCDC8 */ /* nop */
|
|
/* 027DCDCC */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 027DCDCC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 027DCDD0 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 027DCDD0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DCDD4 */ /* nop */
|
|
/* 027DCDD8 */ /* nop */
|
|
/* 027DCDDC */ cpu->f[10] = cpu->f[13] - cpu->f[9];
|
|
/* 027DCDE0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCDE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DCDE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DCDE8 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCDE8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DCDEC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCDEC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DCDEC */ if (_t27) goto L_027DCDF4; else goto L_027DCDF0;
|
|
L_027DCDF0: ; // 0x27dcdf0
|
|
/* 027DCDF0 */ _t28 = cpu->r[5] + 0x00000000u;
|
|
/* 027DCDF0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
L_027DCDF4: ; // 0x27dcdf4
|
|
/* 027DCDF4 */ cpu->f[12] = cpu->f[13] * cpu->f[13];
|
|
/* 027DCDF8 */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[12]);
|
|
/* 027DCDFC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027DCE00 */ cpu->f[1] = fma(cpu->f[10], cpu->f[10], cpu->f[13]);
|
|
/* 027DCE04 */ return;
|
|
}
|
|
|
|
// fn_027DCE08 @ 0x27dce08
|
|
void Gambit_fn_027DCE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
double _ft22, _ft23;
|
|
|
|
L_027DCE08: ; // 0x27dce08
|
|
/* 027DCE08 */ cpu->r[0] = cpu->lr;
|
|
/* 027DCE0C */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 027DCE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCE0C */ cpu->r[1] = _t0;
|
|
/* 027DCE10 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 027DCE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCE14 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCE18 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 027DCE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DCE1C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DCE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DCE20 */ _t4 = cpu->r[1] + 0x00000084u;
|
|
/* 027DCE20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DCE24 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DCE28 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 027DCE28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DCE2C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCE2C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DCE30 */ /* nop */
|
|
/* 027DCE34 */ cpu->f[7] = cpu->f[8] - cpu->f[9];
|
|
/* 027DCE38 */ /* nop */
|
|
/* 027DCE3C */ /* nop */
|
|
/* 027DCE40 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DCE40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[7]);
|
|
/* 027DCE44 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 027DCE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCE48 */ /* nop */
|
|
/* 027DCE4C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCE4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCE50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCE50 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027DCE54 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCE54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027DCE58 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCE58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCE5C */ cpu->f[10] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCE60 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCE60 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027DCE64 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCE64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DCE68 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCE68 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 027DCE6C */ cpu->f[11] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 027DCE70 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCE70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DCE74 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DCE78 */ cpu->f[5] = fma(cpu->f[0], cpu->f[0], cpu->f[11]);
|
|
/* 027DCE7C */ _t17 = cpu->r[10] + 0xFFFFED9Cu;
|
|
/* 027DCE7C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DCE80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[6]);
|
|
/* 027DCE84 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DCE88 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCE88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DCE88 */ if (_t19) goto L_027DCE8C; else goto L_027DCECC;
|
|
L_027DCE8C: ; // 0x27dce8c
|
|
/* 027DCE8C */ cpu->r[8] = 0x10110000u;
|
|
/* 027DCE90 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DCE94 */ _t20 = cpu->r[8] + 0xFFFFEDA4u;
|
|
/* 027DCE94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DCE98 */ _t21 = cpu->r[7] + 0xFFFFEDA0u;
|
|
/* 027DCE98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027DCE9C */ _ft22 = sqrt(cpu->f[5]);
|
|
/* 027DCE9C */ _ft23 = (double)(int32_t)0x00000001u;
|
|
/* 027DCE9C */ cpu->f[9] = _ft23 / _ft22;
|
|
/* 027DCEA0 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 027DCEA4 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 027DCEA8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[5], -(cpu->f[12]));
|
|
/* 027DCEAC */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 027DCEB0 */ /* nop */
|
|
/* 027DCEB4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCEB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DCEB8 */ /* nop */
|
|
/* 027DCEBC */ cpu->f[10] = cpu->f[10] * cpu->f[9];
|
|
/* 027DCEC0 */ /* nop */
|
|
/* 027DCEC4 */ cpu->f[5] = cpu->f[5] * cpu->f[9];
|
|
/* 027DCEC8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCEC8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
L_027DCECC: ; // 0x27dcecc
|
|
/* 027DCECC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DCED0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DCED4 */ _t28 = cpu->r[1] + 0x00000068u;
|
|
/* 027DCED4 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 027DCED8 */ _t29 = cpu->r[1] + 0x00000064u;
|
|
/* 027DCED8 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 027DCEDC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DCEE0 */ _t30 = cpu->r[30] + 0x00000004u;
|
|
/* 027DCEE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DCEE4 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 027DCEE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DCEE8 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF1Cu;
|
|
/* 027DCEEC */ _t32 = cpu->r[1] + 0x00000058u;
|
|
/* 027DCEEC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027DCEF0 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCEF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DCEF4 */ _t34 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DCEF4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027DCEF8 */ _t35 = cpu->r[1] + 0x00000054u;
|
|
/* 027DCEF8 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 027DCEFC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027DCF00 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DCF04 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DCF08 */ _t37 = cpu->r[1] + 0x00000060u;
|
|
/* 027DCF08 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 027DCF0C */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 027DCF10 */ _t38 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DCF10 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 027DCF14 */ Gambit_fn_027DCD3C(cpu);
|
|
/* 027DCF18 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCF18 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 027DCF1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DCF20 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCF20 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027DCF20 */ if (_t41) goto L_027DCF84; else goto L_027DCF24;
|
|
L_027DCF24: ; // 0x27dcf24
|
|
/* 027DCF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCF28 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCF28 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DCF28 */ if (_t43) goto L_027DCF30; else goto L_027DCF2C;
|
|
L_027DCF2C: ; // 0x27dcf2c
|
|
/* 027DCF2C */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCF2C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[6]);
|
|
L_027DCF30: ; // 0x27dcf30
|
|
/* 027DCF30 */ _t45 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCF30 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027DCF34 */ _t46 = cpu->r[29] + 0x00000008u;
|
|
/* 027DCF34 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 027DCF38 */ /* nop */
|
|
/* 027DCF3C */ cpu->f[0] = cpu->f[7] - cpu->f[8];
|
|
/* 027DCF40 */ /* nop */
|
|
/* 027DCF44 */ /* nop */
|
|
/* 027DCF48 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DCF48 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 027DCF4C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DCF4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027DCF50 */ /* nop */
|
|
/* 027DCF54 */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 027DCF54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027DCF58 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027DCF5C */ _t51 = cpu->r[1] + 0x00000040u;
|
|
/* 027DCF5C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 027DCF60 */ _t52 = cpu->r[1] + 0x00000040u;
|
|
/* 027DCF60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 027DCF64 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DCF64 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027DCF68 */ cpu->f[12] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCF6C */ _t54 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DCF6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027DCF70 */ _t55 = cpu->r[1] + 0x00000044u;
|
|
/* 027DCF70 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 027DCF74 */ cpu->f[13] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 027DCF78 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 027DCF78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027DCF7C */ cpu->f[1] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 027DCF80 */ goto L_027DD004;
|
|
L_027DCF84: ; // 0x27dcf84
|
|
/* 027DCF84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[5]);
|
|
/* 027DCF88 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DCF88 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DCF88 */ if (_t58) goto L_027DCFF4; else goto L_027DCF8C;
|
|
L_027DCF8C: ; // 0x27dcf8c
|
|
/* 027DCF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCF90 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCF90 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027DCF90 */ if (_t60) goto L_027DCFA0; else goto L_027DCF94;
|
|
L_027DCF94: ; // 0x27dcf94
|
|
/* 027DCF94 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DCF98 */ _t61 = cpu->r[7] + 0xFFFFEDA8u;
|
|
/* 027DCF98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027DCF9C */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCF9C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
L_027DCFA0: ; // 0x27dcfa0
|
|
/* 027DCFA0 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 027DCFA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027DCFA4 */ _t64 = cpu->r[30] + 0x00000018u;
|
|
/* 027DCFA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027DCFA8 */ /* nop */
|
|
/* 027DCFAC */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 027DCFB0 */ /* nop */
|
|
/* 027DCFB4 */ /* nop */
|
|
/* 027DCFB8 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 027DCFB8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[10]);
|
|
/* 027DCFBC */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 027DCFBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027DCFC0 */ /* nop */
|
|
/* 027DCFC4 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 027DCFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027DCFC8 */ _t68 = cpu->r[1] + 0x00000030u;
|
|
/* 027DCFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027DCFCC */ _t69 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DCFCC */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 027DCFD0 */ _t70 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DCFD0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027DCFD4 */ _t71 = cpu->r[1] + 0x00000048u;
|
|
/* 027DCFD4 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 027DCFD8 */ cpu->f[13] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCFDC */ _t72 = cpu->r[1] + 0x00000048u;
|
|
/* 027DCFDC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DCFE0 */ _t73 = cpu->r[1] + 0x00000050u;
|
|
/* 027DCFE0 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 027DCFE4 */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[13]);
|
|
/* 027DCFE8 */ _t74 = cpu->r[1] + 0x00000050u;
|
|
/* 027DCFE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027DCFEC */ cpu->f[1] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DCFF0 */ goto L_027DD004;
|
|
L_027DCFF4: ; // 0x27dcff4
|
|
/* 027DCFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCFF8 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCFF8 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DCFF8 */ if (_t76) goto L_027DD004; else goto L_027DCFFC;
|
|
L_027DCFFC: ; // 0x27dcffc
|
|
/* 027DCFFC */ cpu->f[10] = cpu->f[11] / cpu->f[5];
|
|
/* 027DD000 */ _t77 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD000 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[10]);
|
|
L_027DD004: ; // 0x27dd004
|
|
/* 027DD004 */ _t78 = cpu->r[1] + 0x00000074u;
|
|
/* 027DD004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027DD008 */ _t79 = cpu->r[1] + 0x00000084u;
|
|
/* 027DD008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027DD00C */ _t80 = cpu->r[1] + 0x00000078u;
|
|
/* 027DD00C */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027DD010 */ cpu->lr = cpu->r[0];
|
|
/* 027DD014 */ _t81 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027DD018 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 027DD01C */ return;
|
|
}
|
|
|
|
// fn_027DCE0C @ 0x27dce0c
|
|
void Gambit_fn_027DCE0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
double _ft22, _ft23;
|
|
|
|
L_027DCE0C: ; // 0x27dce0c
|
|
/* 027DCE0C */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 027DCE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DCE0C */ cpu->r[1] = _t0;
|
|
/* 027DCE10 */ _t1 = cpu->r[1] + 0x00000078u;
|
|
/* 027DCE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DCE14 */ cpu->r[30] = cpu->r[4];
|
|
/* 027DCE18 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 027DCE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DCE1C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DCE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DCE20 */ _t4 = cpu->r[1] + 0x00000084u;
|
|
/* 027DCE20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DCE24 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DCE28 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 027DCE28 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DCE2C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCE2C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DCE30 */ /* nop */
|
|
/* 027DCE34 */ cpu->f[7] = cpu->f[8] - cpu->f[9];
|
|
/* 027DCE38 */ /* nop */
|
|
/* 027DCE3C */ /* nop */
|
|
/* 027DCE40 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DCE40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[7]);
|
|
/* 027DCE44 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 027DCE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DCE48 */ /* nop */
|
|
/* 027DCE4C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DCE4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DCE50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCE50 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027DCE54 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCE54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027DCE58 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027DCE58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DCE5C */ cpu->f[10] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCE60 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCE60 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027DCE64 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCE64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DCE68 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCE68 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 027DCE6C */ cpu->f[11] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 027DCE70 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCE70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DCE74 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DCE78 */ cpu->f[5] = fma(cpu->f[0], cpu->f[0], cpu->f[11]);
|
|
/* 027DCE7C */ _t17 = cpu->r[10] + 0xFFFFED9Cu;
|
|
/* 027DCE7C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DCE80 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[6]);
|
|
/* 027DCE84 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DCE88 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCE88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DCE88 */ if (_t19) goto L_027DCE8C; else goto L_027DCECC;
|
|
L_027DCE8C: ; // 0x27dce8c
|
|
/* 027DCE8C */ cpu->r[8] = 0x10110000u;
|
|
/* 027DCE90 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DCE94 */ _t20 = cpu->r[8] + 0xFFFFEDA4u;
|
|
/* 027DCE94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DCE98 */ _t21 = cpu->r[7] + 0xFFFFEDA0u;
|
|
/* 027DCE98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027DCE9C */ _ft22 = sqrt(cpu->f[5]);
|
|
/* 027DCE9C */ _ft23 = (double)(int32_t)0x00000001u;
|
|
/* 027DCE9C */ cpu->f[9] = _ft23 / _ft22;
|
|
/* 027DCEA0 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 027DCEA4 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 027DCEA8 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[5], -(cpu->f[12]));
|
|
/* 027DCEAC */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 027DCEB0 */ /* nop */
|
|
/* 027DCEB4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCEB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DCEB8 */ /* nop */
|
|
/* 027DCEBC */ cpu->f[10] = cpu->f[10] * cpu->f[9];
|
|
/* 027DCEC0 */ /* nop */
|
|
/* 027DCEC4 */ cpu->f[5] = cpu->f[5] * cpu->f[9];
|
|
/* 027DCEC8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCEC8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
L_027DCECC: ; // 0x27dcecc
|
|
/* 027DCECC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DCECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DCED0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027DCED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DCED4 */ _t28 = cpu->r[1] + 0x00000068u;
|
|
/* 027DCED4 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 027DCED8 */ _t29 = cpu->r[1] + 0x00000064u;
|
|
/* 027DCED8 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 027DCEDC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DCEE0 */ _t30 = cpu->r[30] + 0x00000004u;
|
|
/* 027DCEE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DCEE4 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 027DCEE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DCEE8 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF1Cu;
|
|
/* 027DCEEC */ _t32 = cpu->r[1] + 0x00000058u;
|
|
/* 027DCEEC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027DCEF0 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCEF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DCEF4 */ _t34 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DCEF4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027DCEF8 */ _t35 = cpu->r[1] + 0x00000054u;
|
|
/* 027DCEF8 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 027DCEFC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027DCF00 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027DCF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DCF04 */ cpu->r[3] = cpu->r[29];
|
|
/* 027DCF08 */ _t37 = cpu->r[1] + 0x00000060u;
|
|
/* 027DCF08 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 027DCF0C */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 027DCF10 */ _t38 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DCF10 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 027DCF14 */ Gambit_fn_027DCD3C(cpu);
|
|
/* 027DCF18 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 027DCF18 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 027DCF1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DCF20 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DCF20 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027DCF20 */ if (_t41) goto L_027DCF84; else goto L_027DCF24;
|
|
L_027DCF24: ; // 0x27dcf24
|
|
/* 027DCF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCF28 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCF28 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DCF28 */ if (_t43) goto L_027DCF30; else goto L_027DCF2C;
|
|
L_027DCF2C: ; // 0x27dcf2c
|
|
/* 027DCF2C */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCF2C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[6]);
|
|
L_027DCF30: ; // 0x27dcf30
|
|
/* 027DCF30 */ _t45 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DCF30 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027DCF34 */ _t46 = cpu->r[29] + 0x00000008u;
|
|
/* 027DCF34 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 027DCF38 */ /* nop */
|
|
/* 027DCF3C */ cpu->f[0] = cpu->f[7] - cpu->f[8];
|
|
/* 027DCF40 */ /* nop */
|
|
/* 027DCF44 */ /* nop */
|
|
/* 027DCF48 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DCF48 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 027DCF4C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DCF4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027DCF50 */ /* nop */
|
|
/* 027DCF54 */ _t49 = cpu->r[1] + 0x00000028u;
|
|
/* 027DCF54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027DCF58 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 027DCF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027DCF5C */ _t51 = cpu->r[1] + 0x00000040u;
|
|
/* 027DCF5C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 027DCF60 */ _t52 = cpu->r[1] + 0x00000040u;
|
|
/* 027DCF60 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 027DCF64 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DCF64 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 027DCF68 */ cpu->f[12] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCF6C */ _t54 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DCF6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027DCF70 */ _t55 = cpu->r[1] + 0x00000044u;
|
|
/* 027DCF70 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 027DCF74 */ cpu->f[13] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 027DCF78 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 027DCF78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027DCF7C */ cpu->f[1] = fma(cpu->f[0], cpu->f[0], cpu->f[13]);
|
|
/* 027DCF80 */ goto L_027DD004;
|
|
L_027DCF84: ; // 0x27dcf84
|
|
/* 027DCF84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[5]);
|
|
/* 027DCF88 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DCF88 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DCF88 */ if (_t58) goto L_027DCFF4; else goto L_027DCF8C;
|
|
L_027DCF8C: ; // 0x27dcf8c
|
|
/* 027DCF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCF90 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCF90 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027DCF90 */ if (_t60) goto L_027DCFA0; else goto L_027DCF94;
|
|
L_027DCF94: ; // 0x27dcf94
|
|
/* 027DCF94 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DCF98 */ _t61 = cpu->r[7] + 0xFFFFEDA8u;
|
|
/* 027DCF98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027DCF9C */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 027DCF9C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
L_027DCFA0: ; // 0x27dcfa0
|
|
/* 027DCFA0 */ _t63 = cpu->r[29] + 0x00000008u;
|
|
/* 027DCFA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027DCFA4 */ _t64 = cpu->r[30] + 0x00000018u;
|
|
/* 027DCFA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027DCFA8 */ /* nop */
|
|
/* 027DCFAC */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 027DCFB0 */ /* nop */
|
|
/* 027DCFB4 */ /* nop */
|
|
/* 027DCFB8 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 027DCFB8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[10]);
|
|
/* 027DCFBC */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 027DCFBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027DCFC0 */ /* nop */
|
|
/* 027DCFC4 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 027DCFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027DCFC8 */ _t68 = cpu->r[1] + 0x00000030u;
|
|
/* 027DCFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027DCFCC */ _t69 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DCFCC */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 027DCFD0 */ _t70 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DCFD0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027DCFD4 */ _t71 = cpu->r[1] + 0x00000048u;
|
|
/* 027DCFD4 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 027DCFD8 */ cpu->f[13] = cpu->f[8] * cpu->f[8];
|
|
/* 027DCFDC */ _t72 = cpu->r[1] + 0x00000048u;
|
|
/* 027DCFDC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DCFE0 */ _t73 = cpu->r[1] + 0x00000050u;
|
|
/* 027DCFE0 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 027DCFE4 */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[13]);
|
|
/* 027DCFE8 */ _t74 = cpu->r[1] + 0x00000050u;
|
|
/* 027DCFE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027DCFEC */ cpu->f[1] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DCFF0 */ goto L_027DD004;
|
|
L_027DCFF4: ; // 0x27dcff4
|
|
/* 027DCFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DCFF8 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DCFF8 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DCFF8 */ if (_t76) goto L_027DD004; else goto L_027DCFFC;
|
|
L_027DCFFC: ; // 0x27dcffc
|
|
/* 027DCFFC */ cpu->f[10] = cpu->f[11] / cpu->f[5];
|
|
/* 027DD000 */ _t77 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD000 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[10]);
|
|
L_027DD004: ; // 0x27dd004
|
|
/* 027DD004 */ _t78 = cpu->r[1] + 0x00000074u;
|
|
/* 027DD004 */ cpu->r[29] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027DD008 */ _t79 = cpu->r[1] + 0x00000084u;
|
|
/* 027DD008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027DD00C */ _t80 = cpu->r[1] + 0x00000078u;
|
|
/* 027DD00C */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027DD010 */ cpu->lr = cpu->r[0];
|
|
/* 027DD014 */ _t81 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027DD018 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 027DD01C */ return;
|
|
}
|
|
|
|
// fn_027DD020 @ 0x27dd020
|
|
void Gambit_fn_027DD020(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DD020: ; // 0x27dd020
|
|
/* 027DD020 */ cpu->r[0] = cpu->lr;
|
|
/* 027DD024 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027DD024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD024 */ cpu->r[1] = _t0;
|
|
/* 027DD028 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD028 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DD02C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 027DD02C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DD030 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027DD030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DD034 */ _t4 = cpu->r[4] + 0x00000014u;
|
|
/* 027DD034 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DD038 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD038 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DD03C */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 027DD03C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027DD040 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DD040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DD044 */ _t8 = cpu->r[4] + 0x00000010u;
|
|
/* 027DD044 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DD048 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027DD048 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027DD04C */ _t10 = cpu->r[4] + 0x00000018u;
|
|
/* 027DD04C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DD050 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD050 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 027DD054 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 027DD054 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DD058 */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DD058 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DD05C */ _t14 = cpu->r[4] + 0x00000008u;
|
|
/* 027DD05C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DD060 */ _t15 = cpu->r[3] + 0x00000014u;
|
|
/* 027DD060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DD064 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 027DD064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DD068 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD068 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027DD06C */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD06C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027DD070 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 027DD070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DD074 */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 027DD078 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 027DD078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DD07C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD07C */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 027DD080 */ _t22 = cpu->r[3] + 0x00000010u;
|
|
/* 027DD080 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DD084 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD088 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD088 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 027DD08C */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD08C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027DD090 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD094 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD094 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 027DD098 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD098 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 027DD09C */ Gambit_fn_0281987C(cpu);
|
|
/* 027DD0A0 */ _t27 = cpu->r[1] + 0x00000044u;
|
|
/* 027DD0A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DD0A4 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD0A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DD0A8 */ cpu->lr = cpu->r[0];
|
|
/* 027DD0AC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027DD0B0 */ return;
|
|
}
|
|
|
|
// fn_027DD024 @ 0x27dd024
|
|
void Gambit_fn_027DD024(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027DD024: ; // 0x27dd024
|
|
/* 027DD024 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027DD024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD024 */ cpu->r[1] = _t0;
|
|
/* 027DD028 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD028 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DD02C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 027DD02C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DD030 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027DD030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DD034 */ _t4 = cpu->r[4] + 0x00000014u;
|
|
/* 027DD034 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DD038 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD038 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DD03C */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 027DD03C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027DD040 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DD040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DD044 */ _t8 = cpu->r[4] + 0x00000010u;
|
|
/* 027DD044 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DD048 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027DD048 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027DD04C */ _t10 = cpu->r[4] + 0x00000018u;
|
|
/* 027DD04C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DD050 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD050 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 027DD054 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 027DD054 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DD058 */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DD058 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DD05C */ _t14 = cpu->r[4] + 0x00000008u;
|
|
/* 027DD05C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DD060 */ _t15 = cpu->r[3] + 0x00000014u;
|
|
/* 027DD060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DD064 */ _t16 = cpu->r[4] + 0x00000004u;
|
|
/* 027DD064 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DD068 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD068 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027DD06C */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD06C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027DD070 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 027DD070 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DD074 */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 027DD078 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 027DD078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DD07C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD07C */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 027DD080 */ _t22 = cpu->r[3] + 0x00000010u;
|
|
/* 027DD080 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DD084 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD088 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD088 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 027DD08C */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD08C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 027DD090 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD094 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD094 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 027DD098 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD098 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 027DD09C */ Gambit_fn_0281987C(cpu);
|
|
/* 027DD0A0 */ _t27 = cpu->r[1] + 0x00000044u;
|
|
/* 027DD0A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DD0A4 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD0A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DD0A8 */ cpu->lr = cpu->r[0];
|
|
/* 027DD0AC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027DD0B0 */ return;
|
|
}
|
|
|
|
// fn_027DD0B4 @ 0x27dd0b4
|
|
void Gambit_fn_027DD0B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
double _ft21, _ft22;
|
|
|
|
L_027DD0B4: ; // 0x27dd0b4
|
|
/* 027DD0B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DD0B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD0B4 */ cpu->r[1] = _t0;
|
|
/* 027DD0B8 */ /* nop */
|
|
/* 027DD0BC */ /* nop */
|
|
/* 027DD0C0 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DD0C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027DD0C4 */ /* nop */
|
|
/* 027DD0C8 */ /* nop */
|
|
/* 027DD0CC */ /* nop */
|
|
/* 027DD0D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DD0D4 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD0D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DD0D8 */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DD0D8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DD0DC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD0DC */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 027DD0E0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD0E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DD0E4 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DD0E8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD0E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027DD0EC */ /* nop */
|
|
/* 027DD0F0 */ cpu->f[7] = cpu->f[11] * cpu->f[11];
|
|
/* 027DD0F4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD0F4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027DD0F8 */ /* nop */
|
|
/* 027DD0FC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD0FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DD100 */ /* nop */
|
|
/* 027DD104 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD104 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027DD108 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD108 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027DD10C */ cpu->f[8] = fma(cpu->f[12], cpu->f[12], cpu->f[7]);
|
|
/* 027DD110 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD110 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027DD114 */ _t13 = cpu->r[3] + 0x00000018u;
|
|
/* 027DD114 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DD118 */ cpu->f[9] = fma(cpu->f[10], cpu->f[10], cpu->f[8]);
|
|
/* 027DD11C */ _t14 = cpu->r[4] + 0x00000010u;
|
|
/* 027DD11C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DD120 */ cpu->f[0] = fma(cpu->f[13], cpu->f[10], cpu->f[11]);
|
|
/* 027DD124 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DD128 */ cpu->f[11] = -fma(cpu->f[8], cpu->f[8], -(cpu->f[9]));
|
|
/* 027DD12C */ _t15 = cpu->r[9] + 0xFFFFEDB0u;
|
|
/* 027DD12C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DD130 */ cpu->f[6] = cpu->f[0] + cpu->f[0];
|
|
/* 027DD134 */ cpu->f[10] = cpu->f[12] * cpu->f[11];
|
|
/* 027DD138 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DD13C */ cpu->f[0] = fma(cpu->f[6], cpu->f[6], -(cpu->f[10]));
|
|
/* 027DD140 */ _t16 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DD140 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DD144 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027DD148 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD148 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DD148 */ if (_t18) goto L_027DD14C; else goto L_027DD1AC;
|
|
L_027DD14C: ; // 0x27dd14c
|
|
/* 027DD14C */ cpu->r[7] = 0x10110000u;
|
|
/* 027DD150 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DD154 */ _t19 = cpu->r[7] + 0xFFFFEDA0u;
|
|
/* 027DD154 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DD158 */ _t20 = cpu->r[12] + 0xFFFFEDA4u;
|
|
/* 027DD158 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DD15C */ _ft21 = sqrt(cpu->f[0]);
|
|
/* 027DD15C */ _ft22 = (double)(int32_t)0x00000001u;
|
|
/* 027DD15C */ cpu->f[7] = _ft22 / _ft21;
|
|
/* 027DD160 */ cpu->f[8] = cpu->f[7] * cpu->f[7];
|
|
/* 027DD164 */ cpu->f[9] = cpu->f[7] * cpu->f[11];
|
|
/* 027DD168 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[0], -(cpu->f[10]));
|
|
/* 027DD16C */ cpu->f[7] = cpu->f[8] * cpu->f[9];
|
|
/* 027DD170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DD174 */ cpu->f[0] = cpu->f[7] * cpu->f[0];
|
|
/* 027DD178 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD178 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DD178 */ if (_t24) goto L_027DD18C; else goto L_027DD17C;
|
|
L_027DD17C: ; // 0x27dd17c
|
|
/* 027DD17C */ cpu->f[13] = -cpu->f[6];
|
|
/* 027DD180 */ cpu->f[8] = cpu->f[13] - cpu->f[0];
|
|
/* 027DD184 */ cpu->f[9] = cpu->f[8] * cpu->f[11];
|
|
/* 027DD188 */ _t25 = cpu->r[5] + 0x00000000u;
|
|
/* 027DD188 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[9]);
|
|
L_027DD18C: ; // 0x27dd18c
|
|
/* 027DD18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027DD190 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD190 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DD190 */ if (_t27) goto L_027DD1A0; else goto L_027DD194;
|
|
L_027DD194: ; // 0x27dd194
|
|
/* 027DD194 */ cpu->f[10] = cpu->f[0] - cpu->f[6];
|
|
/* 027DD198 */ cpu->f[12] = cpu->f[10] * cpu->f[11];
|
|
/* 027DD19C */ _t28 = cpu->r[6] + 0x00000000u;
|
|
/* 027DD19C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
L_027DD1A0: ; // 0x27dd1a0
|
|
/* 027DD1A0 */ cpu->r[3] = 0x00000002u;
|
|
/* 027DD1A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD1A8 */ return;
|
|
L_027DD1AC: ; // 0x27dd1ac
|
|
/* 027DD1AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027DD1B0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD1B0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027DD1B0 */ if (_t30) goto L_027DD1B4; else goto L_027DD1D8;
|
|
L_027DD1B4: ; // 0x27dd1b4
|
|
/* 027DD1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DD1B8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD1B8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DD1B8 */ if (_t32) goto L_027DD1CC; else goto L_027DD1BC;
|
|
L_027DD1BC: ; // 0x27dd1bc
|
|
/* 027DD1BC */ cpu->r[12] = 0x10110000u;
|
|
/* 027DD1C0 */ _t33 = cpu->r[12] + 0xFFFFEDB4u;
|
|
/* 027DD1C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DD1C4 */ cpu->f[13] = cpu->f[0] * cpu->f[6];
|
|
/* 027DD1C8 */ _t34 = cpu->r[5] + 0x00000000u;
|
|
/* 027DD1C8 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[13]);
|
|
L_027DD1CC: ; // 0x27dd1cc
|
|
/* 027DD1CC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD1D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD1D4 */ return;
|
|
L_027DD1D8: ; // 0x27dd1d8
|
|
/* 027DD1D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DD1DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD1E0 */ return;
|
|
}
|
|
|
|
// fn_027DD1E4 @ 0x27dd1e4
|
|
void Gambit_fn_027DD1E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_027DD1E4: ; // 0x27dd1e4
|
|
/* 027DD1E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027DD1E8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027DD1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD1E8 */ cpu->r[1] = _t0;
|
|
/* 027DD1EC */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD1EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DD1F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DD1F4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD1F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DD1F8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD1F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DD1FC */ /* nop */
|
|
/* 027DD200 */ /* nop */
|
|
/* 027DD204 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD204 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DD208 */ /* nop */
|
|
/* 027DD20C */ /* nop */
|
|
/* 027DD210 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD210 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DD214 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DD214 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DD218 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DD21C */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027DD220 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD220 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027DD224 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD224 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027DD228 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD228 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027DD22C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD22C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[9]);
|
|
/* 027DD230 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DD234 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD234 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DD238 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD238 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DD23C */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 027DD23C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DD240 */ _t16 = cpu->r[4] + 0x00000010u;
|
|
/* 027DD240 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DD244 */ cpu->f[13] = cpu->f[0] * cpu->f[6];
|
|
/* 027DD248 */ _t17 = cpu->r[4] + 0x00000018u;
|
|
/* 027DD248 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DD24C */ cpu->f[7] = fma(cpu->f[12], cpu->f[11], cpu->f[13]);
|
|
/* 027DD250 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD250 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DD254 */ cpu->f[3] = fma(cpu->f[8], cpu->f[0], cpu->f[7]);
|
|
/* 027DD258 */ cpu->f[9] = fabs(cpu->f[3]);
|
|
/* 027DD25C */ _t19 = cpu->r[4] + 0x00000034u;
|
|
/* 027DD25C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DD260 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 027DD264 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DD268 */ cpu->r[12] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD26C */ cpu->r[7] = cpu->r[4] + 0x00000034u;
|
|
/* 027DD270 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD270 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027DD270 */ if (_t21) goto L_027DD274; else goto L_027DD2C4;
|
|
L_027DD274: ; // 0x27dd274
|
|
/* 027DD274 */ _t22 = cpu->r[12] + 0x00000010u;
|
|
/* 027DD274 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027DD278 */ _t23 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DD278 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DD27C */ cpu->f[7] = cpu->f[8] * cpu->f[6];
|
|
/* 027DD280 */ cpu->f[10] = fma(cpu->f[12], cpu->f[11], cpu->f[7]);
|
|
/* 027DD284 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 027DD284 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DD288 */ cpu->f[4] = fma(cpu->f[12], cpu->f[0], cpu->f[10]);
|
|
/* 027DD28C */ cpu->f[10] = fabs(cpu->f[4]);
|
|
/* 027DD290 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 027DD290 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DD294 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DD298 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD298 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DD298 */ if (_t27) goto L_027DD29C; else goto L_027DD2C4;
|
|
L_027DD29C: ; // 0x27dd29c
|
|
/* 027DD29C */ _t28 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027DD29C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DD2A0 */ _t29 = cpu->r[12] + 0x00000018u;
|
|
/* 027DD2A0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027DD2A4 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 027DD2A8 */ cpu->f[8] = fma(cpu->f[5], cpu->f[11], cpu->f[8]);
|
|
/* 027DD2AC */ _t30 = cpu->r[12] + 0x00000020u;
|
|
/* 027DD2AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DD2B0 */ cpu->f[7] = fma(cpu->f[11], cpu->f[0], cpu->f[8]);
|
|
/* 027DD2B4 */ cpu->f[11] = fabs(cpu->f[7]);
|
|
/* 027DD2B8 */ _t31 = cpu->r[7] + 0x00000008u;
|
|
/* 027DD2B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027DD2BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[8]);
|
|
/* 027DD2C0 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD2C0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027DD2C0 */ if (_t33) goto L_027DD2E0; else goto L_027DD2C4;
|
|
L_027DD2C4: ; // 0x27dd2c4
|
|
/* 027DD2C4 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DD2C8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DD2CC */ cpu->lr = cpu->r[0];
|
|
/* 027DD2D0 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD2D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DD2D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD2D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DD2DC */ return;
|
|
L_027DD2E0: ; // 0x27dd2e0
|
|
/* 027DD2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DD2E4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD2E4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DD2E4 */ if (_t38) goto L_027DD2E8; else goto L_027DD304;
|
|
L_027DD2E8: ; // 0x27dd2e8
|
|
/* 027DD2E8 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027DD2EC */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD2EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027DD2F0 */ cpu->lr = cpu->r[0];
|
|
/* 027DD2F4 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD2F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DD2F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD2FC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD300 */ return;
|
|
L_027DD304: ; // 0x27dd304
|
|
/* 027DD304 */ cpu->f[9] = cpu->f[13] - cpu->f[9];
|
|
/* 027DD308 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DD30C */ cpu->f[10] = cpu->f[12] - cpu->f[10];
|
|
/* 027DD310 */ _t42 = cpu->r[11] + 0xFFFFEDB8u;
|
|
/* 027DD310 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DD314 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DD318 */ _t43 = cpu->r[11] + 0xFFFFEDA8u;
|
|
/* 027DD318 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DD31C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 027DD320 */ cpu->r[6] = 0x10110000u;
|
|
/* 027DD324 */ _t44 = cpu->r[6] + 0xFFFFED9Cu;
|
|
/* 027DD324 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DD328 */ cpu->f[11] = cpu->f[8] - cpu->f[11];
|
|
/* 027DD32C */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD32C */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DD32C */ if (_t46) goto L_027DD3BC; else goto L_027DD330;
|
|
L_027DD330: ; // 0x27dd330
|
|
/* 027DD330 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 027DD334 */ _t47 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD334 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 027DD338 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD338 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027DD338 */ if (_t49) goto L_027DD37C; else goto L_027DD33C;
|
|
L_027DD33C: ; // 0x27dd33c
|
|
/* 027DD33C */ /* nop */
|
|
/* 027DD340 */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD340 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 027DD344 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD348 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD34C */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD34C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[9]);
|
|
/* 027DD350 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD354 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD354 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027DD358 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD35C */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD35C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DD360 */ _t54 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD360 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 027DD364 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD364 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DD368 */ _t56 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD368 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 027DD36C */ _t57 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD36C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027DD370 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD374 */ _t58 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD374 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 027DD378 */ goto L_027DD444;
|
|
L_027DD37C: ; // 0x27dd37c
|
|
/* 027DD37C */ /* nop */
|
|
/* 027DD380 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD380 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[13]);
|
|
/* 027DD384 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD388 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD38C */ _t60 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD38C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 027DD390 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD394 */ _t61 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD394 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[8]);
|
|
/* 027DD398 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD39C */ _t62 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD39C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 027DD3A0 */ _t63 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD3A0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[11]);
|
|
/* 027DD3A4 */ _t64 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD3A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027DD3A8 */ _t65 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD3A8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 027DD3AC */ _t66 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD3AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027DD3B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD3B4 */ _t67 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD3B4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]);
|
|
/* 027DD3B8 */ goto L_027DD444;
|
|
L_027DD3BC: ; // 0x27dd3bc
|
|
/* 027DD3BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 027DD3C0 */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD3C0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[13]);
|
|
/* 027DD3C4 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD3C4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DD3C4 */ if (_t70) goto L_027DD408; else goto L_027DD3C8;
|
|
L_027DD3C8: ; // 0x27dd3c8
|
|
/* 027DD3C8 */ /* nop */
|
|
/* 027DD3CC */ _t71 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD3CC */ rbrew_write_f32(cpu->mem, _t71, cpu->f[13]);
|
|
/* 027DD3D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD3D8 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD3D8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 027DD3DC */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD3E0 */ _t73 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD3E0 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[9]);
|
|
/* 027DD3E4 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD3E8 */ _t74 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD3E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027DD3EC */ _t75 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD3EC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 027DD3F0 */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD3F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027DD3F4 */ _t77 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD3F4 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 027DD3F8 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD3F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 027DD3FC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD400 */ _t79 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD400 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 027DD404 */ goto L_027DD444;
|
|
L_027DD408: ; // 0x27dd408
|
|
/* 027DD408 */ /* nop */
|
|
/* 027DD40C */ _t80 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD40C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 027DD410 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD414 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD418 */ _t81 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD418 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 027DD41C */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD420 */ _t82 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD420 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[10]);
|
|
/* 027DD424 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD428 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD428 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027DD42C */ _t84 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD42C */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
/* 027DD430 */ _t85 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027DD434 */ _t86 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD434 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[12]);
|
|
/* 027DD438 */ _t87 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD438 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 027DD43C */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD440 */ _t88 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD440 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[13]);
|
|
L_027DD444: ; // 0x27dd444
|
|
/* 027DD444 */ _t89 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027DD448 */ _t90 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DD44C */ cpu->lr = cpu->r[0];
|
|
/* 027DD450 */ _t91 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027DD454 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD458 */ return;
|
|
}
|
|
|
|
// fn_027DD1E8 @ 0x27dd1e8
|
|
void Gambit_fn_027DD1E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_027DD1E8: ; // 0x27dd1e8
|
|
/* 027DD1E8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027DD1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD1E8 */ cpu->r[1] = _t0;
|
|
/* 027DD1EC */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD1EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DD1F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DD1F4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD1F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DD1F8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD1F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DD1FC */ /* nop */
|
|
/* 027DD200 */ /* nop */
|
|
/* 027DD204 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD204 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DD208 */ /* nop */
|
|
/* 027DD20C */ /* nop */
|
|
/* 027DD210 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD210 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DD214 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DD214 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DD218 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DD21C */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027DD220 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD220 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027DD224 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD224 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027DD228 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD228 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027DD22C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD22C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[9]);
|
|
/* 027DD230 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DD234 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD234 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DD238 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD238 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DD23C */ _t15 = cpu->r[4] + 0x00000014u;
|
|
/* 027DD23C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DD240 */ _t16 = cpu->r[4] + 0x00000010u;
|
|
/* 027DD240 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DD244 */ cpu->f[13] = cpu->f[0] * cpu->f[6];
|
|
/* 027DD248 */ _t17 = cpu->r[4] + 0x00000018u;
|
|
/* 027DD248 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DD24C */ cpu->f[7] = fma(cpu->f[12], cpu->f[11], cpu->f[13]);
|
|
/* 027DD250 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD250 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DD254 */ cpu->f[3] = fma(cpu->f[8], cpu->f[0], cpu->f[7]);
|
|
/* 027DD258 */ cpu->f[9] = fabs(cpu->f[3]);
|
|
/* 027DD25C */ _t19 = cpu->r[4] + 0x00000034u;
|
|
/* 027DD25C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DD260 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 027DD264 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DD268 */ cpu->r[12] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD26C */ cpu->r[7] = cpu->r[4] + 0x00000034u;
|
|
/* 027DD270 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD270 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027DD270 */ if (_t21) goto L_027DD274; else goto L_027DD2C4;
|
|
L_027DD274: ; // 0x27dd274
|
|
/* 027DD274 */ _t22 = cpu->r[12] + 0x00000010u;
|
|
/* 027DD274 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027DD278 */ _t23 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DD278 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DD27C */ cpu->f[7] = cpu->f[8] * cpu->f[6];
|
|
/* 027DD280 */ cpu->f[10] = fma(cpu->f[12], cpu->f[11], cpu->f[7]);
|
|
/* 027DD284 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 027DD284 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DD288 */ cpu->f[4] = fma(cpu->f[12], cpu->f[0], cpu->f[10]);
|
|
/* 027DD28C */ cpu->f[10] = fabs(cpu->f[4]);
|
|
/* 027DD290 */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 027DD290 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DD294 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DD298 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD298 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027DD298 */ if (_t27) goto L_027DD29C; else goto L_027DD2C4;
|
|
L_027DD29C: ; // 0x27dd29c
|
|
/* 027DD29C */ _t28 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027DD29C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DD2A0 */ _t29 = cpu->r[12] + 0x00000018u;
|
|
/* 027DD2A0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027DD2A4 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 027DD2A8 */ cpu->f[8] = fma(cpu->f[5], cpu->f[11], cpu->f[8]);
|
|
/* 027DD2AC */ _t30 = cpu->r[12] + 0x00000020u;
|
|
/* 027DD2AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DD2B0 */ cpu->f[7] = fma(cpu->f[11], cpu->f[0], cpu->f[8]);
|
|
/* 027DD2B4 */ cpu->f[11] = fabs(cpu->f[7]);
|
|
/* 027DD2B8 */ _t31 = cpu->r[7] + 0x00000008u;
|
|
/* 027DD2B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027DD2BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[8]);
|
|
/* 027DD2C0 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD2C0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027DD2C0 */ if (_t33) goto L_027DD2E0; else goto L_027DD2C4;
|
|
L_027DD2C4: ; // 0x27dd2c4
|
|
/* 027DD2C4 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DD2C8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DD2CC */ cpu->lr = cpu->r[0];
|
|
/* 027DD2D0 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD2D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DD2D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD2D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DD2DC */ return;
|
|
L_027DD2E0: ; // 0x27dd2e0
|
|
/* 027DD2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DD2E4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD2E4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DD2E4 */ if (_t38) goto L_027DD2E8; else goto L_027DD304;
|
|
L_027DD2E8: ; // 0x27dd2e8
|
|
/* 027DD2E8 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027DD2EC */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD2EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027DD2F0 */ cpu->lr = cpu->r[0];
|
|
/* 027DD2F4 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD2F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DD2F8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD2FC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD300 */ return;
|
|
L_027DD304: ; // 0x27dd304
|
|
/* 027DD304 */ cpu->f[9] = cpu->f[13] - cpu->f[9];
|
|
/* 027DD308 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DD30C */ cpu->f[10] = cpu->f[12] - cpu->f[10];
|
|
/* 027DD310 */ _t42 = cpu->r[11] + 0xFFFFEDB8u;
|
|
/* 027DD310 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DD314 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DD318 */ _t43 = cpu->r[11] + 0xFFFFEDA8u;
|
|
/* 027DD318 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DD31C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 027DD320 */ cpu->r[6] = 0x10110000u;
|
|
/* 027DD324 */ _t44 = cpu->r[6] + 0xFFFFED9Cu;
|
|
/* 027DD324 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DD328 */ cpu->f[11] = cpu->f[8] - cpu->f[11];
|
|
/* 027DD32C */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD32C */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DD32C */ if (_t46) goto L_027DD3BC; else goto L_027DD330;
|
|
L_027DD330: ; // 0x27dd330
|
|
/* 027DD330 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 027DD334 */ _t47 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD334 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 027DD338 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD338 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027DD338 */ if (_t49) goto L_027DD37C; else goto L_027DD33C;
|
|
L_027DD33C: ; // 0x27dd33c
|
|
/* 027DD33C */ /* nop */
|
|
/* 027DD340 */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD340 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 027DD344 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD348 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD34C */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD34C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[9]);
|
|
/* 027DD350 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD354 */ _t52 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD354 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027DD358 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD35C */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD35C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DD360 */ _t54 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD360 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 027DD364 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD364 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DD368 */ _t56 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD368 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 027DD36C */ _t57 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD36C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027DD370 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD374 */ _t58 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD374 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 027DD378 */ goto L_027DD444;
|
|
L_027DD37C: ; // 0x27dd37c
|
|
/* 027DD37C */ /* nop */
|
|
/* 027DD380 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD380 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[13]);
|
|
/* 027DD384 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD388 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD38C */ _t60 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD38C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 027DD390 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD394 */ _t61 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD394 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[8]);
|
|
/* 027DD398 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD39C */ _t62 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD39C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 027DD3A0 */ _t63 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD3A0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[11]);
|
|
/* 027DD3A4 */ _t64 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD3A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027DD3A8 */ _t65 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD3A8 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 027DD3AC */ _t66 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD3AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027DD3B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD3B4 */ _t67 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD3B4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]);
|
|
/* 027DD3B8 */ goto L_027DD444;
|
|
L_027DD3BC: ; // 0x27dd3bc
|
|
/* 027DD3BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 027DD3C0 */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 027DD3C0 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[13]);
|
|
/* 027DD3C4 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD3C4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DD3C4 */ if (_t70) goto L_027DD408; else goto L_027DD3C8;
|
|
L_027DD3C8: ; // 0x27dd3c8
|
|
/* 027DD3C8 */ /* nop */
|
|
/* 027DD3CC */ _t71 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD3CC */ rbrew_write_f32(cpu->mem, _t71, cpu->f[13]);
|
|
/* 027DD3D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD3D8 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD3D8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 027DD3DC */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD3E0 */ _t73 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD3E0 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[9]);
|
|
/* 027DD3E4 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD3E8 */ _t74 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD3E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027DD3EC */ _t75 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD3EC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 027DD3F0 */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD3F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027DD3F4 */ _t77 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD3F4 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 027DD3F8 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD3F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 027DD3FC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD400 */ _t79 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD400 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 027DD404 */ goto L_027DD444;
|
|
L_027DD408: ; // 0x27dd408
|
|
/* 027DD408 */ /* nop */
|
|
/* 027DD40C */ _t80 = cpu->r[31] + 0x00000004u;
|
|
/* 027DD40C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 027DD410 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DD414 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DD418 */ _t81 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD418 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[11]);
|
|
/* 027DD41C */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DD420 */ _t82 = cpu->r[31] + 0x00000008u;
|
|
/* 027DD420 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[10]);
|
|
/* 027DD424 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DD428 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 027DD428 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027DD42C */ _t84 = cpu->r[31] + 0x00000010u;
|
|
/* 027DD42C */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
/* 027DD430 */ _t85 = cpu->r[30] + 0x00000004u;
|
|
/* 027DD430 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027DD434 */ _t86 = cpu->r[31] + 0x00000014u;
|
|
/* 027DD434 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[12]);
|
|
/* 027DD438 */ _t87 = cpu->r[30] + 0x00000008u;
|
|
/* 027DD438 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 027DD43C */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD440 */ _t88 = cpu->r[31] + 0x00000018u;
|
|
/* 027DD440 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[13]);
|
|
L_027DD444: ; // 0x27dd444
|
|
/* 027DD444 */ _t89 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027DD448 */ _t90 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD448 */ cpu->r[30] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DD44C */ cpu->lr = cpu->r[0];
|
|
/* 027DD450 */ _t91 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD450 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027DD454 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027DD458 */ return;
|
|
}
|
|
|
|
// fn_027DD45C @ 0x27dd45c
|
|
void Gambit_fn_027DD45C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027DD45C: ; // 0x27dd45c
|
|
/* 027DD45C */ _t0 = cpu->r[1] + 0xFFFFFE98u;
|
|
/* 027DD45C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DD45C */ cpu->r[1] = _t0;
|
|
/* 027DD460 */ /* nop */
|
|
/* 027DD464 */ cpu->r[0] = cpu->lr;
|
|
/* 027DD468 */ _t1 = cpu->r[1] + 0x00000158u;
|
|
/* 027DD468 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027DD46C */ _t2 = cpu->r[1] + 0x0000016Cu;
|
|
/* 027DD46C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DD470 */ /* nop */
|
|
/* 027DD474 */ _t3 = cpu->r[1] + 0x00000160u;
|
|
/* 027DD474 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027DD478 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DD47C */ cpu->r[30] = cpu->r[3];
|
|
/* 027DD480 */ /* nop */
|
|
/* 027DD484 */ /* nop */
|
|
/* 027DD488 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DD488 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DD48C */ /* nop */
|
|
/* 027DD490 */ /* nop */
|
|
/* 027DD494 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DD494 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DD498 */ cpu->r[28] = cpu->r[5];
|
|
/* 027DD49C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DD49C */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DD4A0 */ cpu->f[0] = cpu->f[7] - cpu->f[8];
|
|
/* 027DD4A4 */ _t7 = cpu->r[1] + 0x00000134u;
|
|
/* 027DD4A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 027DD4A8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027DD4AC */ _t8 = cpu->r[1] + 0x00000090u;
|
|
/* 027DD4AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DD4B0 */ _t9 = cpu->r[1] + 0x00000094u;
|
|
/* 027DD4B0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027DD4B4 */ _t10 = cpu->r[1] + 0x00000094u;
|
|
/* 027DD4B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DD4B8 */ cpu->r[29] = cpu->r[31] + 0x00000010u;
|
|
/* 027DD4BC */ cpu->r[5] = cpu->r[1] + 0x00000134u;
|
|
/* 027DD4C0 */ _t11 = cpu->r[1] + 0x00000138u;
|
|
/* 027DD4C0 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 027DD4C4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DD4C8 */ cpu->r[27] = cpu->r[31] + 0x00000004u;
|
|
/* 027DD4CC */ _t12 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027DD4CC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027DD4D0 */ Gambit_fn_027F0C60(cpu);
|
|
/* 027DD4D4 */ /* nop */
|
|
/* 027DD4D8 */ /* nop */
|
|
/* 027DD4DC */ _t13 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DD4DC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DD4E0 */ /* nop */
|
|
/* 027DD4E4 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 027DD4E4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DD4E8 */ /* nop */
|
|
/* 027DD4EC */ _t15 = cpu->r[1] + 0x00000098u;
|
|
/* 027DD4EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DD4F0 */ cpu->f[7] = cpu->f[8] - cpu->f[9];
|
|
/* 027DD4F4 */ _t16 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DD4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DD4F8 */ _t17 = cpu->r[1] + 0x00000080u;
|
|
/* 027DD4F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 027DD4FC */ cpu->r[4] = cpu->r[29];
|
|
/* 027DD500 */ _t18 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DD500 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[7]);
|
|
/* 027DD504 */ _t19 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DD504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DD508 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 027DD50C */ _t20 = cpu->r[1] + 0x00000084u;
|
|
/* 027DD50C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 027DD510 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DD514 */ _t21 = cpu->r[1] + 0x00000088u;
|
|
/* 027DD514 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027DD518 */ Gambit_fn_027F0C60(cpu);
|
|
/* 027DD51C */ _t22 = cpu->r[1] + 0x00000088u;
|
|
/* 027DD51C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027DD520 */ /* nop */
|
|
/* 027DD524 */ /* nop */
|
|
/* 027DD528 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DD52C */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 027DD52C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DD530 */ /* nop */
|
|
/* 027DD534 */ _t24 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DD534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DD538 */ /* nop */
|
|
/* 027DD53C */ _t25 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DD53C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DD540 */ cpu->f[11] = cpu->f[13] + cpu->f[0];
|
|
/* 027DD544 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 027DD544 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027DD548 */ _t27 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DD548 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 027DD54C */ _t28 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DD54C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DD550 */ cpu->r[6] = 0x10110000u;
|
|
/* 027DD554 */ _t29 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DD554 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DD558 */ _t30 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DD558 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 027DD55C */ _t31 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DD55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DD560 */ cpu->f[3] = cpu->f[13] - cpu->f[6];
|
|
/* 027DD564 */ _t32 = cpu->r[6] + 0xFFFFEDA8u;
|
|
/* 027DD564 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DD568 */ cpu->f[31] = cpu->f[12];
|
|
/* 027DD56C */ _t33 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DD56C */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 027DD570 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD574 */ _t34 = cpu->r[1] + 0x000000E8u;
|
|
/* 027DD574 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027DD578 */ _t35 = cpu->r[31] + 0x00000034u;
|
|
/* 027DD578 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DD57C */ cpu->f[1] = cpu->f[0];
|
|
/* 027DD580 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 027DD584 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD584 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027DD584 */ if (_t37) goto L_027DD588; else goto L_027DD5A0;
|
|
L_027DD588: ; // 0x27dd588
|
|
/* 027DD588 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 027DD58C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD58C */ _t39 = _t38 & 0x00000001u;
|
|
/* 027DD58C */ if (_t39) goto L_027DD590; else goto L_027DD6E0;
|
|
L_027DD590: ; // 0x27dd590
|
|
/* 027DD590 */ cpu->f[7] = -cpu->f[11];
|
|
/* 027DD594 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[7]);
|
|
/* 027DD598 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD598 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027DD598 */ if (_t41) goto L_027DD5E8; else goto L_027DD59C;
|
|
L_027DD59C: ; // 0x27dd59c
|
|
/* 027DD59C */ goto L_027DD6E0;
|
|
L_027DD5A0: ; // 0x27dd5a0
|
|
/* 027DD5A0 */ cpu->f[8] = cpu->f[13] + cpu->f[11];
|
|
/* 027DD5A4 */ cpu->f[10] = cpu->f[13] - cpu->f[11];
|
|
/* 027DD5A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD5AC */ cpu->f[13] = cpu->f[0] / cpu->f[3];
|
|
/* 027DD5B0 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD5B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DD5B0 */ if (_t43) goto L_027DD5C8; else goto L_027DD5B4;
|
|
L_027DD5B4: ; // 0x27dd5b4
|
|
/* 027DD5B4 */ cpu->f[2] = cpu->f[10] * cpu->f[13];
|
|
/* 027DD5B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DD5BC */ cpu->f[3] = cpu->f[8] * cpu->f[13];
|
|
/* 027DD5C0 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD5C0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027DD5C0 */ if (_t45) goto L_027DD5C4; else goto L_027DD5DC;
|
|
L_027DD5C4: ; // 0x27dd5c4
|
|
/* 027DD5C4 */ goto L_027DD5D8;
|
|
L_027DD5C8: ; // 0x27dd5c8
|
|
/* 027DD5C8 */ cpu->f[2] = cpu->f[8] * cpu->f[13];
|
|
/* 027DD5CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DD5D0 */ cpu->f[3] = cpu->f[10] * cpu->f[13];
|
|
/* 027DD5D4 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD5D4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027DD5D4 */ if (_t47) goto L_027DD5D8; else goto L_027DD5DC;
|
|
L_027DD5D8: ; // 0x27dd5d8
|
|
/* 027DD5D8 */ cpu->f[31] = cpu->f[2];
|
|
L_027DD5DC: ; // 0x27dd5dc
|
|
/* 027DD5DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[0]);
|
|
/* 027DD5E0 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD5E0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027DD5E0 */ if (_t49) goto L_027DD5E4; else goto L_027DD5E8;
|
|
L_027DD5E4: ; // 0x27dd5e4
|
|
/* 027DD5E4 */ cpu->f[1] = cpu->f[3];
|
|
L_027DD5E8: ; // 0x27dd5e8
|
|
/* 027DD5E8 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 027DD5E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 027DD5EC */ _t51 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DD5EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DD5F0 */ cpu->f[3] = cpu->f[8] - cpu->f[9];
|
|
/* 027DD5F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD5F8 */ _t52 = cpu->r[3] + 0x00000004u;
|
|
/* 027DD5F8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 027DD5FC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD5FC */ _t54 = _t53 & 0x00000001u;
|
|
/* 027DD5FC */ if (_t54) goto L_027DD600; else goto L_027DD618;
|
|
L_027DD600: ; // 0x27dd600
|
|
/* 027DD600 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[7]);
|
|
/* 027DD604 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD604 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027DD604 */ if (_t56) goto L_027DD608; else goto L_027DD6E0;
|
|
L_027DD608: ; // 0x27dd608
|
|
/* 027DD608 */ cpu->f[10] = -cpu->f[7];
|
|
/* 027DD60C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[10]);
|
|
/* 027DD610 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD610 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DD610 */ if (_t58) goto L_027DD660; else goto L_027DD614;
|
|
L_027DD614: ; // 0x27dd614
|
|
/* 027DD614 */ goto L_027DD6E0;
|
|
L_027DD618: ; // 0x27dd618
|
|
/* 027DD618 */ cpu->f[11] = cpu->f[8] + cpu->f[7];
|
|
/* 027DD61C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD620 */ cpu->f[6] = cpu->f[8] - cpu->f[7];
|
|
/* 027DD624 */ cpu->f[13] = cpu->f[0] / cpu->f[3];
|
|
/* 027DD628 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD628 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027DD628 */ if (_t60) goto L_027DD640; else goto L_027DD62C;
|
|
L_027DD62C: ; // 0x27dd62c
|
|
/* 027DD62C */ cpu->f[2] = cpu->f[6] * cpu->f[13];
|
|
/* 027DD630 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[31]);
|
|
/* 027DD634 */ cpu->f[3] = cpu->f[11] * cpu->f[13];
|
|
/* 027DD638 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD638 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027DD638 */ if (_t62) goto L_027DD63C; else goto L_027DD654;
|
|
L_027DD63C: ; // 0x27dd63c
|
|
/* 027DD63C */ goto L_027DD650;
|
|
L_027DD640: ; // 0x27dd640
|
|
/* 027DD640 */ cpu->f[2] = cpu->f[11] * cpu->f[13];
|
|
/* 027DD644 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[31]);
|
|
/* 027DD648 */ cpu->f[3] = cpu->f[6] * cpu->f[13];
|
|
/* 027DD64C */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD64C */ _t64 = _t63 & 0x00000001u;
|
|
/* 027DD64C */ if (_t64) goto L_027DD650; else goto L_027DD654;
|
|
L_027DD650: ; // 0x27dd650
|
|
/* 027DD650 */ cpu->f[31] = cpu->f[2];
|
|
L_027DD654: ; // 0x27dd654
|
|
/* 027DD654 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[1]);
|
|
/* 027DD658 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD658 */ _t66 = _t65 & 0x00000001u;
|
|
/* 027DD658 */ if (_t66) goto L_027DD65C; else goto L_027DD660;
|
|
L_027DD65C: ; // 0x27dd65c
|
|
/* 027DD65C */ cpu->f[1] = cpu->f[3];
|
|
L_027DD660: ; // 0x27dd660
|
|
/* 027DD660 */ _t67 = cpu->r[1] + 0x00000028u;
|
|
/* 027DD660 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027DD664 */ _t68 = cpu->r[1] + 0x000000E8u;
|
|
/* 027DD664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 027DD668 */ cpu->f[3] = cpu->f[11] - cpu->f[13];
|
|
/* 027DD66C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD670 */ _t69 = cpu->r[3] + 0x00000008u;
|
|
/* 027DD670 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DD674 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD674 */ _t71 = _t70 & 0x00000001u;
|
|
/* 027DD674 */ if (_t71) goto L_027DD678; else goto L_027DD690;
|
|
L_027DD678: ; // 0x27dd678
|
|
/* 027DD678 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 027DD67C */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD67C */ _t73 = _t72 & 0x00000001u;
|
|
/* 027DD67C */ if (_t73) goto L_027DD680; else goto L_027DD6E0;
|
|
L_027DD680: ; // 0x27dd680
|
|
/* 027DD680 */ cpu->f[0] = -cpu->f[9];
|
|
/* 027DD684 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 027DD688 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD688 */ _t75 = _t74 & 0x00000001u;
|
|
/* 027DD688 */ if (_t75) goto L_027DD6D8; else goto L_027DD68C;
|
|
L_027DD68C: ; // 0x27dd68c
|
|
/* 027DD68C */ goto L_027DD6E0;
|
|
L_027DD690: ; // 0x27dd690
|
|
/* 027DD690 */ cpu->f[6] = cpu->f[11] + cpu->f[9];
|
|
/* 027DD694 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD698 */ cpu->f[10] = cpu->f[11] - cpu->f[9];
|
|
/* 027DD69C */ cpu->f[13] = cpu->f[0] / cpu->f[3];
|
|
/* 027DD6A0 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD6A0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 027DD6A0 */ if (_t77) goto L_027DD6B8; else goto L_027DD6A4;
|
|
L_027DD6A4: ; // 0x27dd6a4
|
|
/* 027DD6A4 */ cpu->f[2] = cpu->f[10] * cpu->f[13];
|
|
/* 027DD6A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[31]);
|
|
/* 027DD6AC */ cpu->f[3] = cpu->f[6] * cpu->f[13];
|
|
/* 027DD6B0 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD6B0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027DD6B0 */ if (_t79) goto L_027DD6B4; else goto L_027DD6CC;
|
|
L_027DD6B4: ; // 0x27dd6b4
|
|
/* 027DD6B4 */ goto L_027DD6C8;
|
|
L_027DD6B8: ; // 0x27dd6b8
|
|
/* 027DD6B8 */ cpu->f[2] = cpu->f[6] * cpu->f[13];
|
|
/* 027DD6BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[31]);
|
|
/* 027DD6C0 */ cpu->f[3] = cpu->f[10] * cpu->f[13];
|
|
/* 027DD6C4 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DD6C4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027DD6C4 */ if (_t81) goto L_027DD6C8; else goto L_027DD6CC;
|
|
L_027DD6C8: ; // 0x27dd6c8
|
|
/* 027DD6C8 */ cpu->f[31] = cpu->f[2];
|
|
L_027DD6CC: ; // 0x27dd6cc
|
|
/* 027DD6CC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[1]);
|
|
/* 027DD6D0 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD6D0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027DD6D0 */ if (_t83) goto L_027DD6D4; else goto L_027DD6D8;
|
|
L_027DD6D4: ; // 0x27dd6d4
|
|
/* 027DD6D4 */ cpu->f[1] = cpu->f[3];
|
|
L_027DD6D8: ; // 0x27dd6d8
|
|
/* 027DD6D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[1]);
|
|
/* 027DD6DC */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD6DC */ _t85 = _t84 & 0x00000001u;
|
|
/* 027DD6DC */ if (_t85) goto L_027DD704; else goto L_027DD6E0;
|
|
L_027DD6E0: ; // 0x27dd6e0
|
|
/* 027DD6E0 */ /* nop */
|
|
/* 027DD6E4 */ _t86 = cpu->r[1] + 0x00000160u;
|
|
/* 027DD6E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027DD6E8 */ _t87 = cpu->r[1] + 0x00000158u;
|
|
/* 027DD6E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 027DD6EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027DD6F0 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD6F0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027DD6F0 */ if (_t89) goto L_027DD6F4; // else: addr-0 trap, fall-through
|
|
L_027DD6F4: ; // 0x27dd6f4
|
|
/* 027DD6F4 */ _t90 = cpu->r[1] + 0x0000016Cu;
|
|
/* 027DD6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DD6F8 */ cpu->lr = cpu->r[0];
|
|
/* 027DD6FC */ cpu->r[1] = cpu->r[1] + 0x00000168u;
|
|
/* 027DD700 */ return;
|
|
L_027DD704: ; // 0x27dd704
|
|
/* 027DD704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027DD708 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DD708 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027DD708 */ if (_t92) goto L_027DD70C; else goto L_027DD730;
|
|
L_027DD70C: ; // 0x27dd70c
|
|
/* 027DD70C */ /* nop */
|
|
/* 027DD710 */ _t93 = cpu->r[1] + 0x00000160u;
|
|
/* 027DD710 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 027DD714 */ _t94 = cpu->r[1] + 0x00000158u;
|
|
/* 027DD714 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 027DD718 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DD71C */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD71C */ _t96 = _t95 & 0x00000001u;
|
|
/* 027DD71C */ if (_t96) goto L_027DD720; // else: addr-0 trap, fall-through
|
|
L_027DD720: ; // 0x27dd720
|
|
/* 027DD720 */ _t97 = cpu->r[1] + 0x0000016Cu;
|
|
/* 027DD720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027DD724 */ cpu->lr = cpu->r[0];
|
|
/* 027DD728 */ cpu->r[1] = cpu->r[1] + 0x00000168u;
|
|
/* 027DD72C */ return;
|
|
L_027DD730: ; // 0x27dd730
|
|
/* 027DD730 */ _t98 = cpu->r[1] + 0x00000088u;
|
|
/* 027DD730 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 027DD734 */ /* nop */
|
|
/* 027DD738 */ _t99 = cpu->r[1] + 0x00000028u;
|
|
/* 027DD738 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027DD73C */ /* nop */
|
|
/* 027DD740 */ _t100 = cpu->r[1] + 0x000000B0u;
|
|
/* 027DD740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DD744 */ _t101 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DD744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027DD748 */ /* nop */
|
|
/* 027DD74C */ _t102 = cpu->r[1] + 0x00000074u;
|
|
/* 027DD74C */ rbrew_write32(cpu->mem, _t102, cpu->r[11]);
|
|
/* 027DD750 */ cpu->f[8] = cpu->f[9] * cpu->f[31];
|
|
/* 027DD754 */ _t103 = cpu->r[1] + 0x00000078u;
|
|
/* 027DD754 */ rbrew_write32(cpu->mem, _t103, cpu->r[12]);
|
|
/* 027DD758 */ /* nop */
|
|
/* 027DD75C */ /* nop */
|
|
/* 027DD760 */ _t104 = cpu->r[1] + 0x000000CCu;
|
|
/* 027DD760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DD764 */ /* nop */
|
|
/* 027DD768 */ _t105 = cpu->r[1] + 0x000000C8u;
|
|
/* 027DD768 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027DD76C */ /* nop */
|
|
/* 027DD770 */ _t106 = cpu->r[1] + 0x000000BCu;
|
|
/* 027DD770 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027DD774 */ _t107 = cpu->r[1] + 0x000000B8u;
|
|
/* 027DD774 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[8]);
|
|
/* 027DD778 */ _t108 = cpu->r[1] + 0x000000B8u;
|
|
/* 027DD778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027DD77C */ _t109 = cpu->r[1] + 0x00000074u;
|
|
/* 027DD77C */ rbrew_write32(cpu->mem, _t109, cpu->r[11]);
|
|
/* 027DD780 */ cpu->f[12] = cpu->f[9] * cpu->f[1];
|
|
/* 027DD784 */ _t110 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD784 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 027DD788 */ _t111 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD788 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 027DD78C */ _t112 = cpu->r[1] + 0x00000078u;
|
|
/* 027DD78C */ rbrew_write32(cpu->mem, _t112, cpu->r[12]);
|
|
/* 027DD790 */ /* nop */
|
|
/* 027DD794 */ cpu->f[13] = cpu->f[0] + cpu->f[6];
|
|
/* 027DD798 */ _t113 = cpu->r[1] + 0x000000D0u;
|
|
/* 027DD798 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[12]);
|
|
/* 027DD79C */ _t114 = cpu->r[1] + 0x000000D0u;
|
|
/* 027DD79C */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 027DD7A0 */ /* nop */
|
|
/* 027DD7A4 */ /* nop */
|
|
/* 027DD7A8 */ _t115 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DD7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
|
|
/* 027DD7AC */ _t116 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD7AC */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 027DD7B0 */ _t117 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DD7B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 027DD7B4 */ _t118 = cpu->r[1] + 0x000000C4u;
|
|
/* 027DD7B4 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[13]);
|
|
/* 027DD7B8 */ _t119 = cpu->r[1] + 0x000000C4u;
|
|
/* 027DD7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027DD7BC */ cpu->r[9] = 0x10110000u;
|
|
/* 027DD7C0 */ _t120 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DD7C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DD7C4 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD7C4 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 027DD7C8 */ _t122 = cpu->r[9] + 0xFFFFEDBCu;
|
|
/* 027DD7C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 027DD7CC */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD7CC */ rbrew_write32(cpu->mem, _t123, cpu->r[10]);
|
|
/* 027DD7D0 */ cpu->f[8] = cpu->f[0] + cpu->f[9];
|
|
/* 027DD7D4 */ _t124 = cpu->r[1] + 0x000000D4u;
|
|
/* 027DD7D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027DD7D8 */ cpu->f[12] = cpu->f[13];
|
|
/* 027DD7DC */ _t125 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD7DC */ rbrew_write32(cpu->mem, _t125, cpu->r[8]);
|
|
/* 027DD7E0 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD7E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DD7E4 */ _t127 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DD7E4 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[8]);
|
|
/* 027DD7E8 */ _t128 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DD7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DD7EC */ _t129 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD7EC */ rbrew_write_f32(cpu->mem, _t129, cpu->f[12]);
|
|
/* 027DD7F0 */ _t130 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD7F0 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]);
|
|
/* 027DD7F4 */ _t131 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD7F4 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]);
|
|
/* 027DD7F8 */ _t132 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD7F8 */ rbrew_write32(cpu->mem, _t132, cpu->r[12]);
|
|
/* 027DD7FC */ _t133 = cpu->r[3] + 0x00000000u;
|
|
/* 027DD7FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027DD800 */ _t134 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD800 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 027DD804 */ cpu->f[2] = cpu->f[11] - cpu->f[7];
|
|
/* 027DD808 */ cpu->f[3] = cpu->f[11] - cpu->f[0];
|
|
/* 027DD80C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DD810 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD810 */ _t136 = _t135 & 0x00000001u;
|
|
/* 027DD810 */ if (_t136) goto L_027DD860; else goto L_027DD814;
|
|
L_027DD814: ; // 0x27dd814
|
|
/* 027DD814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[13]);
|
|
/* 027DD818 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD818 */ _t138 = _t137 & 0x00000001u;
|
|
/* 027DD818 */ if (_t138) goto L_027DD81C; else goto L_027DD8A8;
|
|
L_027DD81C: ; // 0x27dd81c
|
|
/* 027DD81C */ _t139 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD81C */ rbrew_write_f32(cpu->mem, _t139, cpu->f[2]);
|
|
/* 027DD820 */ _t140 = cpu->r[29] + 0x00000000u;
|
|
/* 027DD820 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 027DD824 */ _t141 = cpu->r[28] + 0x00000000u;
|
|
/* 027DD824 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[10]);
|
|
/* 027DD828 */ _t142 = cpu->r[29] + 0x00000004u;
|
|
/* 027DD828 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027DD82C */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD82C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 027DD830 */ _t144 = cpu->r[28] + 0x00000004u;
|
|
/* 027DD830 */ rbrew_write_f32(cpu->mem, _t144, cpu->f[11]);
|
|
/* 027DD834 */ _t145 = cpu->r[29] + 0x00000008u;
|
|
/* 027DD834 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t145);
|
|
/* 027DD838 */ _t146 = cpu->r[28] + 0x00000014u;
|
|
/* 027DD838 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[0]);
|
|
/* 027DD83C */ _t147 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD83C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 027DD840 */ _t148 = cpu->r[28] + 0x00000008u;
|
|
/* 027DD840 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[12]);
|
|
/* 027DD844 */ _t149 = cpu->r[28] + 0x00000018u;
|
|
/* 027DD844 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[6]);
|
|
/* 027DD848 */ cpu->f[12] = cpu->f[2];
|
|
/* 027DD84C */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD84C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t150);
|
|
/* 027DD850 */ _t151 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD850 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 027DD854 */ _t152 = cpu->r[28] + 0x00000010u;
|
|
/* 027DD854 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[7]);
|
|
/* 027DD858 */ _t153 = cpu->r[3] + 0x00000000u;
|
|
/* 027DD858 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 027DD85C */ goto L_027DD8A8;
|
|
L_027DD860: ; // 0x27dd860
|
|
/* 027DD860 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[13]);
|
|
/* 027DD864 */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD864 */ _t155 = _t154 & 0x00000001u;
|
|
/* 027DD864 */ if (_t155) goto L_027DD868; else goto L_027DD8A8;
|
|
L_027DD868: ; // 0x27dd868
|
|
/* 027DD868 */ _t156 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD868 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[3]);
|
|
/* 027DD86C */ _t157 = cpu->r[29] + 0x00000000u;
|
|
/* 027DD86C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 027DD870 */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD870 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027DD874 */ _t159 = cpu->r[28] + 0x00000000u;
|
|
/* 027DD874 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[7]);
|
|
/* 027DD878 */ _t160 = cpu->r[29] + 0x00000004u;
|
|
/* 027DD878 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 027DD87C */ _t161 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD87C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 027DD880 */ _t162 = cpu->r[28] + 0x00000004u;
|
|
/* 027DD880 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[8]);
|
|
/* 027DD884 */ _t163 = cpu->r[29] + 0x00000008u;
|
|
/* 027DD884 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 027DD888 */ _t164 = cpu->r[28] + 0x00000010u;
|
|
/* 027DD888 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[0]);
|
|
/* 027DD88C */ _t165 = cpu->r[28] + 0x00000008u;
|
|
/* 027DD88C */ rbrew_write_f32(cpu->mem, _t165, cpu->f[9]);
|
|
/* 027DD890 */ _t166 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD890 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 027DD894 */ _t167 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD894 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 027DD898 */ _t168 = cpu->r[28] + 0x00000014u;
|
|
/* 027DD898 */ rbrew_write_f32(cpu->mem, _t168, cpu->f[11]);
|
|
/* 027DD89C */ cpu->f[12] = cpu->f[3];
|
|
/* 027DD8A0 */ _t169 = cpu->r[28] + 0x00000018u;
|
|
/* 027DD8A0 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[6]);
|
|
/* 027DD8A4 */ _t170 = cpu->r[3] + 0x00000000u;
|
|
/* 027DD8A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t170);
|
|
L_027DD8A8: ; // 0x27dd8a8
|
|
/* 027DD8A8 */ cpu->f[2] = cpu->f[11] + cpu->f[7];
|
|
/* 027DD8AC */ cpu->f[3] = cpu->f[11] + cpu->f[0];
|
|
/* 027DD8B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DD8B4 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD8B4 */ _t172 = _t171 & 0x00000001u;
|
|
/* 027DD8B4 */ if (_t172) goto L_027DD938; else goto L_027DD8B8;
|
|
L_027DD8B8: ; // 0x27dd8b8
|
|
/* 027DD8B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DD8BC */ _t173 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD8BC */ _t174 = _t173 & 0x00000001u;
|
|
/* 027DD8BC */ if (_t174) goto L_027DD8C0; else goto L_027DD9B4;
|
|
L_027DD8C0: ; // 0x27dd8c0
|
|
/* 027DD8C0 */ _t175 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD8C0 */ rbrew_write_f32(cpu->mem, _t175, cpu->f[2]);
|
|
/* 027DD8C4 */ _t176 = cpu->r[29] + 0x00000000u;
|
|
/* 027DD8C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 027DD8C8 */ cpu->f[12] = -cpu->f[13];
|
|
/* 027DD8CC */ _t177 = cpu->r[1] + 0x00000010u;
|
|
/* 027DD8CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 027DD8D0 */ _t178 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD8D0 */ rbrew_write_f32(cpu->mem, _t178, cpu->f[12]);
|
|
/* 027DD8D4 */ _t179 = cpu->r[29] + 0x00000004u;
|
|
/* 027DD8D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 027DD8D8 */ _t180 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD8D8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 027DD8DC */ cpu->f[0] = -cpu->f[8];
|
|
/* 027DD8E0 */ _t181 = cpu->r[1] + 0x00000008u;
|
|
/* 027DD8E0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 027DD8E4 */ _t182 = cpu->r[1] + 0x00000030u;
|
|
/* 027DD8E4 */ rbrew_write_f32(cpu->mem, _t182, cpu->f[0]);
|
|
/* 027DD8E8 */ _t183 = cpu->r[29] + 0x00000008u;
|
|
/* 027DD8E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 027DD8EC */ _t184 = cpu->r[1] + 0x00000030u;
|
|
/* 027DD8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t184);
|
|
/* 027DD8F0 */ _t185 = cpu->r[28] + 0x00000014u;
|
|
/* 027DD8F0 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[7]);
|
|
/* 027DD8F4 */ cpu->f[10] = -cpu->f[11];
|
|
/* 027DD8F8 */ _t186 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DD8F8 */ rbrew_write32(cpu->mem, _t186, cpu->r[0]);
|
|
/* 027DD8FC */ _t187 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DD8FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 027DD900 */ _t188 = cpu->r[28] + 0x00000010u;
|
|
/* 027DD900 */ rbrew_write_f32(cpu->mem, _t188, cpu->f[6]);
|
|
/* 027DD904 */ _t189 = cpu->r[1] + 0x00000034u;
|
|
/* 027DD904 */ rbrew_write_f32(cpu->mem, _t189, cpu->f[10]);
|
|
/* 027DD908 */ _t190 = cpu->r[1] + 0x00000034u;
|
|
/* 027DD908 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 027DD90C */ _t191 = cpu->r[28] + 0x00000004u;
|
|
/* 027DD90C */ rbrew_write_f32(cpu->mem, _t191, cpu->f[13]);
|
|
/* 027DD910 */ _t192 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DD910 */ cpu->r[6] = rbrew_read32(cpu->mem, _t192);
|
|
/* 027DD914 */ _t193 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DD914 */ rbrew_write32(cpu->mem, _t193, cpu->r[8]);
|
|
/* 027DD918 */ _t194 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DD918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t194);
|
|
/* 027DD91C */ _t195 = cpu->r[1] + 0x000000ECu;
|
|
/* 027DD91C */ rbrew_write32(cpu->mem, _t195, cpu->r[6]);
|
|
/* 027DD920 */ _t196 = cpu->r[1] + 0x000000ECu;
|
|
/* 027DD920 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t196);
|
|
/* 027DD924 */ _t197 = cpu->r[28] + 0x00000008u;
|
|
/* 027DD924 */ rbrew_write_f32(cpu->mem, _t197, cpu->f[0]);
|
|
/* 027DD928 */ _t198 = cpu->r[28] + 0x00000018u;
|
|
/* 027DD928 */ rbrew_write_f32(cpu->mem, _t198, cpu->f[9]);
|
|
/* 027DD92C */ _t199 = cpu->r[28] + 0x00000000u;
|
|
/* 027DD92C */ rbrew_write_f32(cpu->mem, _t199, cpu->f[12]);
|
|
/* 027DD930 */ cpu->f[12] = cpu->f[2];
|
|
/* 027DD934 */ goto L_027DD9B4;
|
|
L_027DD938: ; // 0x27dd938
|
|
/* 027DD938 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DD93C */ _t200 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD93C */ _t201 = _t200 & 0x00000001u;
|
|
/* 027DD93C */ if (_t201) goto L_027DD940; else goto L_027DD9B4;
|
|
L_027DD940: ; // 0x27dd940
|
|
/* 027DD940 */ _t202 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD940 */ rbrew_write_f32(cpu->mem, _t202, cpu->f[3]);
|
|
/* 027DD944 */ _t203 = cpu->r[29] + 0x00000000u;
|
|
/* 027DD944 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t203);
|
|
/* 027DD948 */ _t204 = cpu->r[1] + 0x00000014u;
|
|
/* 027DD948 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 027DD94C */ cpu->f[8] = -cpu->f[10];
|
|
/* 027DD950 */ _t205 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD950 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t205);
|
|
/* 027DD954 */ _t206 = cpu->r[1] + 0x00000038u;
|
|
/* 027DD954 */ rbrew_write_f32(cpu->mem, _t206, cpu->f[8]);
|
|
/* 027DD958 */ _t207 = cpu->r[29] + 0x00000004u;
|
|
/* 027DD958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t207);
|
|
/* 027DD95C */ _t208 = cpu->r[1] + 0x00000038u;
|
|
/* 027DD95C */ cpu->r[11] = rbrew_read32(cpu->mem, _t208);
|
|
/* 027DD960 */ cpu->f[11] = -cpu->f[0];
|
|
/* 027DD964 */ _t209 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DD964 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t209);
|
|
/* 027DD968 */ _t210 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD968 */ rbrew_write_f32(cpu->mem, _t210, cpu->f[11]);
|
|
/* 027DD96C */ _t211 = cpu->r[29] + 0x00000008u;
|
|
/* 027DD96C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t211);
|
|
/* 027DD970 */ _t212 = cpu->r[28] + 0x00000018u;
|
|
/* 027DD970 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[9]);
|
|
/* 027DD974 */ _t213 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DD974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t213);
|
|
/* 027DD978 */ cpu->f[6] = -cpu->f[7];
|
|
/* 027DD97C */ _t214 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DD97C */ rbrew_write32(cpu->mem, _t214, cpu->r[11]);
|
|
/* 027DD980 */ _t215 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DD980 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 027DD984 */ _t216 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DD984 */ rbrew_write32(cpu->mem, _t216, cpu->r[12]);
|
|
/* 027DD988 */ _t217 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DD988 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 027DD98C */ _t218 = cpu->r[1] + 0x00000040u;
|
|
/* 027DD98C */ rbrew_write_f32(cpu->mem, _t218, cpu->f[6]);
|
|
/* 027DD990 */ _t219 = cpu->r[1] + 0x00000040u;
|
|
/* 027DD990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t219);
|
|
/* 027DD994 */ _t220 = cpu->r[28] + 0x00000004u;
|
|
/* 027DD994 */ rbrew_write_f32(cpu->mem, _t220, cpu->f[10]);
|
|
/* 027DD998 */ _t221 = cpu->r[1] + 0x00000100u;
|
|
/* 027DD998 */ rbrew_write32(cpu->mem, _t221, cpu->r[0]);
|
|
/* 027DD99C */ _t222 = cpu->r[1] + 0x00000100u;
|
|
/* 027DD99C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t222);
|
|
/* 027DD9A0 */ _t223 = cpu->r[28] + 0x00000000u;
|
|
/* 027DD9A0 */ rbrew_write_f32(cpu->mem, _t223, cpu->f[8]);
|
|
/* 027DD9A4 */ _t224 = cpu->r[28] + 0x00000010u;
|
|
/* 027DD9A4 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[12]);
|
|
/* 027DD9A8 */ _t225 = cpu->r[28] + 0x00000008u;
|
|
/* 027DD9A8 */ rbrew_write_f32(cpu->mem, _t225, cpu->f[11]);
|
|
/* 027DD9AC */ cpu->f[12] = cpu->f[3];
|
|
/* 027DD9B0 */ _t226 = cpu->r[28] + 0x00000014u;
|
|
/* 027DD9B0 */ rbrew_write_f32(cpu->mem, _t226, cpu->f[13]);
|
|
L_027DD9B4: ; // 0x27dd9b4
|
|
/* 027DD9B4 */ _t227 = cpu->r[3] + 0x00000004u;
|
|
/* 027DD9B4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t227);
|
|
/* 027DD9B8 */ _t228 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD9B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t228);
|
|
/* 027DD9BC */ _t229 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD9BC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t229);
|
|
/* 027DD9C0 */ cpu->f[2] = cpu->f[7] - cpu->f[10];
|
|
/* 027DD9C4 */ cpu->f[3] = cpu->f[7] - cpu->f[6];
|
|
/* 027DD9C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DD9CC */ _t230 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD9CC */ _t231 = _t230 & 0x00000001u;
|
|
/* 027DD9CC */ if (_t231) goto L_027DDA1C; else goto L_027DD9D0;
|
|
L_027DD9D0: ; // 0x27dd9d0
|
|
/* 027DD9D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DD9D4 */ _t232 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DD9D4 */ _t233 = _t232 & 0x00000001u;
|
|
/* 027DD9D4 */ if (_t233) goto L_027DD9D8; else goto L_027DDA64;
|
|
L_027DD9D8: ; // 0x27dd9d8
|
|
/* 027DD9D8 */ _t234 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DD9D8 */ rbrew_write_f32(cpu->mem, _t234, cpu->f[2]);
|
|
/* 027DD9DC */ _t235 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DD9DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t235);
|
|
/* 027DD9E0 */ _t236 = cpu->r[28] + 0x00000000u;
|
|
/* 027DD9E0 */ rbrew_write_f32(cpu->mem, _t236, cpu->f[0]);
|
|
/* 027DD9E4 */ _t237 = cpu->r[29] + 0x00000010u;
|
|
/* 027DD9E4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 027DD9E8 */ _t238 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DD9E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 027DD9EC */ _t239 = cpu->r[28] + 0x00000004u;
|
|
/* 027DD9EC */ rbrew_write_f32(cpu->mem, _t239, cpu->f[6]);
|
|
/* 027DD9F0 */ _t240 = cpu->r[29] + 0x00000014u;
|
|
/* 027DD9F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 027DD9F4 */ _t241 = cpu->r[28] + 0x00000014u;
|
|
/* 027DD9F4 */ rbrew_write_f32(cpu->mem, _t241, cpu->f[10]);
|
|
/* 027DD9F8 */ _t242 = cpu->r[28] + 0x00000008u;
|
|
/* 027DD9F8 */ rbrew_write_f32(cpu->mem, _t242, cpu->f[7]);
|
|
/* 027DD9FC */ _t243 = cpu->r[1] + 0x00000018u;
|
|
/* 027DD9FC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t243);
|
|
/* 027DDA00 */ _t244 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDA00 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t244);
|
|
/* 027DDA04 */ _t245 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDA04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t245);
|
|
/* 027DDA08 */ _t246 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDA08 */ rbrew_write_f32(cpu->mem, _t246, cpu->f[8]);
|
|
/* 027DDA0C */ cpu->f[12] = cpu->f[2];
|
|
/* 027DDA10 */ _t247 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDA10 */ rbrew_write_f32(cpu->mem, _t247, cpu->f[11]);
|
|
/* 027DDA14 */ _t248 = cpu->r[3] + 0x00000004u;
|
|
/* 027DDA14 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t248);
|
|
/* 027DDA18 */ goto L_027DDA64;
|
|
L_027DDA1C: ; // 0x27dda1c
|
|
/* 027DDA1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DDA20 */ _t249 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDA20 */ _t250 = _t249 & 0x00000001u;
|
|
/* 027DDA20 */ if (_t250) goto L_027DDA24; else goto L_027DDA64;
|
|
L_027DDA24: ; // 0x27dda24
|
|
/* 027DDA24 */ _t251 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDA24 */ rbrew_write_f32(cpu->mem, _t251, cpu->f[3]);
|
|
/* 027DDA28 */ _t252 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DDA28 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t252);
|
|
/* 027DDA2C */ _t253 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDA2C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t253);
|
|
/* 027DDA30 */ _t254 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDA30 */ rbrew_write_f32(cpu->mem, _t254, cpu->f[10]);
|
|
/* 027DDA34 */ _t255 = cpu->r[29] + 0x00000010u;
|
|
/* 027DDA34 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t255);
|
|
/* 027DDA38 */ _t256 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDA38 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t256);
|
|
/* 027DDA3C */ _t257 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDA3C */ rbrew_write_f32(cpu->mem, _t257, cpu->f[11]);
|
|
/* 027DDA40 */ _t258 = cpu->r[29] + 0x00000014u;
|
|
/* 027DDA40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t258);
|
|
/* 027DDA44 */ _t259 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDA44 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t259);
|
|
/* 027DDA48 */ _t260 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDA48 */ rbrew_write_f32(cpu->mem, _t260, cpu->f[12]);
|
|
/* 027DDA4C */ _t261 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDA4C */ rbrew_write_f32(cpu->mem, _t261, cpu->f[6]);
|
|
/* 027DDA50 */ _t262 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDA50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t262);
|
|
/* 027DDA54 */ _t263 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDA54 */ rbrew_write_f32(cpu->mem, _t263, cpu->f[11]);
|
|
/* 027DDA58 */ cpu->f[12] = cpu->f[3];
|
|
/* 027DDA5C */ _t264 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDA5C */ rbrew_write_f32(cpu->mem, _t264, cpu->f[13]);
|
|
/* 027DDA60 */ _t265 = cpu->r[3] + 0x00000004u;
|
|
/* 027DDA60 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t265);
|
|
L_027DDA64: ; // 0x27dda64
|
|
/* 027DDA64 */ cpu->f[2] = cpu->f[7] + cpu->f[10];
|
|
/* 027DDA68 */ cpu->f[3] = cpu->f[7] + cpu->f[6];
|
|
/* 027DDA6C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DDA70 */ _t266 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDA70 */ _t267 = _t266 & 0x00000001u;
|
|
/* 027DDA70 */ if (_t267) goto L_027DDAF4; else goto L_027DDA74;
|
|
L_027DDA74: ; // 0x27dda74
|
|
/* 027DDA74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DDA78 */ _t268 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDA78 */ _t269 = _t268 & 0x00000001u;
|
|
/* 027DDA78 */ if (_t269) goto L_027DDA7C; else goto L_027DDB70;
|
|
L_027DDA7C: ; // 0x27dda7c
|
|
/* 027DDA7C */ _t270 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDA7C */ rbrew_write_f32(cpu->mem, _t270, cpu->f[2]);
|
|
/* 027DDA80 */ _t271 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DDA80 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t271);
|
|
/* 027DDA84 */ _t272 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDA84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t272);
|
|
/* 027DDA88 */ cpu->f[6] = -cpu->f[7];
|
|
/* 027DDA8C */ _t273 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDA8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t273);
|
|
/* 027DDA90 */ _t274 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDA90 */ rbrew_write_f32(cpu->mem, _t274, cpu->f[6]);
|
|
/* 027DDA94 */ _t275 = cpu->r[29] + 0x00000010u;
|
|
/* 027DDA94 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t275);
|
|
/* 027DDA98 */ _t276 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDA98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t276);
|
|
/* 027DDA9C */ cpu->f[8] = -cpu->f[10];
|
|
/* 027DDAA0 */ _t277 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDAA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t277);
|
|
/* 027DDAA4 */ _t278 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDAA4 */ rbrew_write_f32(cpu->mem, _t278, cpu->f[8]);
|
|
/* 027DDAA8 */ _t279 = cpu->r[29] + 0x00000014u;
|
|
/* 027DDAA8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t279);
|
|
/* 027DDAAC */ _t280 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t280);
|
|
/* 027DDAB0 */ _t281 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDAB0 */ rbrew_write_f32(cpu->mem, _t281, cpu->f[0]);
|
|
/* 027DDAB4 */ cpu->f[11] = -cpu->f[12];
|
|
/* 027DDAB8 */ _t282 = cpu->r[1] + 0x00000108u;
|
|
/* 027DDAB8 */ rbrew_write32(cpu->mem, _t282, cpu->r[0]);
|
|
/* 027DDABC */ _t283 = cpu->r[1] + 0x00000108u;
|
|
/* 027DDABC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t283);
|
|
/* 027DDAC0 */ _t284 = cpu->r[1] + 0x00000104u;
|
|
/* 027DDAC0 */ rbrew_write32(cpu->mem, _t284, cpu->r[8]);
|
|
/* 027DDAC4 */ _t285 = cpu->r[1] + 0x00000104u;
|
|
/* 027DDAC4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t285);
|
|
/* 027DDAC8 */ _t286 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDAC8 */ rbrew_write_f32(cpu->mem, _t286, cpu->f[11]);
|
|
/* 027DDACC */ _t287 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDACC */ cpu->r[5] = rbrew_read32(cpu->mem, _t287);
|
|
/* 027DDAD0 */ _t288 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDAD0 */ rbrew_write_f32(cpu->mem, _t288, cpu->f[7]);
|
|
/* 027DDAD4 */ _t289 = cpu->r[1] + 0x0000010Cu;
|
|
/* 027DDAD4 */ rbrew_write32(cpu->mem, _t289, cpu->r[5]);
|
|
/* 027DDAD8 */ _t290 = cpu->r[1] + 0x0000010Cu;
|
|
/* 027DDAD8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t290);
|
|
/* 027DDADC */ _t291 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDADC */ rbrew_write_f32(cpu->mem, _t291, cpu->f[9]);
|
|
/* 027DDAE0 */ cpu->f[12] = cpu->f[2];
|
|
/* 027DDAE4 */ _t292 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDAE4 */ rbrew_write_f32(cpu->mem, _t292, cpu->f[6]);
|
|
/* 027DDAE8 */ _t293 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDAE8 */ rbrew_write_f32(cpu->mem, _t293, cpu->f[13]);
|
|
/* 027DDAEC */ _t294 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDAEC */ rbrew_write_f32(cpu->mem, _t294, cpu->f[8]);
|
|
/* 027DDAF0 */ goto L_027DDB70;
|
|
L_027DDAF4: ; // 0x27ddaf4
|
|
/* 027DDAF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DDAF8 */ _t295 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDAF8 */ _t296 = _t295 & 0x00000001u;
|
|
/* 027DDAF8 */ if (_t296) goto L_027DDAFC; else goto L_027DDB70;
|
|
L_027DDAFC: ; // 0x27ddafc
|
|
/* 027DDAFC */ _t297 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDAFC */ rbrew_write_f32(cpu->mem, _t297, cpu->f[3]);
|
|
/* 027DDB00 */ _t298 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DDB00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t298);
|
|
/* 027DDB04 */ _t299 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDB04 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t299);
|
|
/* 027DDB08 */ cpu->f[9] = -cpu->f[13];
|
|
/* 027DDB0C */ _t300 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDB0C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t300);
|
|
/* 027DDB10 */ _t301 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDB10 */ rbrew_write_f32(cpu->mem, _t301, cpu->f[9]);
|
|
/* 027DDB14 */ _t302 = cpu->r[29] + 0x00000010u;
|
|
/* 027DDB14 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t302);
|
|
/* 027DDB18 */ _t303 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDB18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t303);
|
|
/* 027DDB1C */ cpu->f[8] = -cpu->f[10];
|
|
/* 027DDB20 */ _t304 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDB20 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t304);
|
|
/* 027DDB24 */ _t305 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDB24 */ rbrew_write_f32(cpu->mem, _t305, cpu->f[8]);
|
|
/* 027DDB28 */ _t306 = cpu->r[29] + 0x00000014u;
|
|
/* 027DDB28 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t306);
|
|
/* 027DDB2C */ _t307 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDB2C */ rbrew_write_f32(cpu->mem, _t307, cpu->f[13]);
|
|
/* 027DDB30 */ _t308 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDB30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t308);
|
|
/* 027DDB34 */ cpu->f[12] = -cpu->f[6];
|
|
/* 027DDB38 */ _t309 = cpu->r[1] + 0x00000110u;
|
|
/* 027DDB38 */ rbrew_write32(cpu->mem, _t309, cpu->r[6]);
|
|
/* 027DDB3C */ _t310 = cpu->r[1] + 0x00000110u;
|
|
/* 027DDB3C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t310);
|
|
/* 027DDB40 */ _t311 = cpu->r[1] + 0x00000114u;
|
|
/* 027DDB40 */ rbrew_write32(cpu->mem, _t311, cpu->r[7]);
|
|
/* 027DDB44 */ _t312 = cpu->r[1] + 0x00000114u;
|
|
/* 027DDB44 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t312);
|
|
/* 027DDB48 */ _t313 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDB48 */ rbrew_write_f32(cpu->mem, _t313, cpu->f[12]);
|
|
/* 027DDB4C */ _t314 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDB4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t314);
|
|
/* 027DDB50 */ _t315 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDB50 */ rbrew_write_f32(cpu->mem, _t315, cpu->f[0]);
|
|
/* 027DDB54 */ _t316 = cpu->r[1] + 0x00000118u;
|
|
/* 027DDB54 */ rbrew_write32(cpu->mem, _t316, cpu->r[8]);
|
|
/* 027DDB58 */ _t317 = cpu->r[1] + 0x00000118u;
|
|
/* 027DDB58 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t317);
|
|
/* 027DDB5C */ _t318 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDB5C */ rbrew_write_f32(cpu->mem, _t318, cpu->f[10]);
|
|
/* 027DDB60 */ _t319 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDB60 */ rbrew_write_f32(cpu->mem, _t319, cpu->f[12]);
|
|
/* 027DDB64 */ _t320 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDB64 */ rbrew_write_f32(cpu->mem, _t320, cpu->f[8]);
|
|
/* 027DDB68 */ cpu->f[12] = cpu->f[3];
|
|
/* 027DDB6C */ _t321 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDB6C */ rbrew_write_f32(cpu->mem, _t321, cpu->f[7]);
|
|
L_027DDB70: ; // 0x27ddb70
|
|
/* 027DDB70 */ _t322 = cpu->r[3] + 0x00000008u;
|
|
/* 027DDB70 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t322);
|
|
/* 027DDB74 */ _t323 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDB74 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t323);
|
|
/* 027DDB78 */ _t324 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDB78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t324);
|
|
/* 027DDB7C */ cpu->f[2] = cpu->f[9] - cpu->f[8];
|
|
/* 027DDB80 */ cpu->f[3] = cpu->f[9] - cpu->f[13];
|
|
/* 027DDB84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DDB88 */ _t325 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDB88 */ _t326 = _t325 & 0x00000001u;
|
|
/* 027DDB88 */ if (_t326) goto L_027DDBD8; else goto L_027DDB8C;
|
|
L_027DDB8C: ; // 0x27ddb8c
|
|
/* 027DDB8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DDB90 */ _t327 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDB90 */ _t328 = _t327 & 0x00000001u;
|
|
/* 027DDB90 */ if (_t328) goto L_027DDB94; else goto L_027DDC20;
|
|
L_027DDB94: ; // 0x27ddb94
|
|
/* 027DDB94 */ _t329 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDB94 */ rbrew_write_f32(cpu->mem, _t329, cpu->f[2]);
|
|
/* 027DDB98 */ _t330 = cpu->r[29] + 0x00000018u;
|
|
/* 027DDB98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t330);
|
|
/* 027DDB9C */ _t331 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDB9C */ rbrew_write_f32(cpu->mem, _t331, cpu->f[9]);
|
|
/* 027DDBA0 */ _t332 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027DDBA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t332);
|
|
/* 027DDBA4 */ _t333 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDBA4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t333);
|
|
/* 027DDBA8 */ _t334 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDBA8 */ rbrew_write_f32(cpu->mem, _t334, cpu->f[11]);
|
|
/* 027DDBAC */ _t335 = cpu->r[29] + 0x00000020u;
|
|
/* 027DDBAC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t335);
|
|
/* 027DDBB0 */ _t336 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDBB0 */ rbrew_write_f32(cpu->mem, _t336, cpu->f[6]);
|
|
/* 027DDBB4 */ _t337 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDBB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t337);
|
|
/* 027DDBB8 */ _t338 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDBB8 */ rbrew_write_f32(cpu->mem, _t338, cpu->f[12]);
|
|
/* 027DDBBC */ _t339 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDBBC */ rbrew_write_f32(cpu->mem, _t339, cpu->f[13]);
|
|
/* 027DDBC0 */ _t340 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDBC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t340);
|
|
/* 027DDBC4 */ _t341 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDBC4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t341);
|
|
/* 027DDBC8 */ cpu->f[12] = cpu->f[2];
|
|
/* 027DDBCC */ _t342 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDBCC */ rbrew_write_f32(cpu->mem, _t342, cpu->f[8]);
|
|
/* 027DDBD0 */ _t343 = cpu->r[3] + 0x00000008u;
|
|
/* 027DDBD0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t343);
|
|
/* 027DDBD4 */ goto L_027DDC20;
|
|
L_027DDBD8: ; // 0x27ddbd8
|
|
/* 027DDBD8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DDBDC */ _t344 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDBDC */ _t345 = _t344 & 0x00000001u;
|
|
/* 027DDBDC */ if (_t345) goto L_027DDBE0; else goto L_027DDC20;
|
|
L_027DDBE0: ; // 0x27ddbe0
|
|
/* 027DDBE0 */ _t346 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDBE0 */ rbrew_write_f32(cpu->mem, _t346, cpu->f[3]);
|
|
/* 027DDBE4 */ _t347 = cpu->r[29] + 0x00000018u;
|
|
/* 027DDBE4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t347);
|
|
/* 027DDBE8 */ _t348 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDBE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 027DDBEC */ _t349 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDBEC */ rbrew_write_f32(cpu->mem, _t349, cpu->f[8]);
|
|
/* 027DDBF0 */ _t350 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027DDBF0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t350);
|
|
/* 027DDBF4 */ _t351 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDBF4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t351);
|
|
/* 027DDBF8 */ _t352 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDBF8 */ rbrew_write_f32(cpu->mem, _t352, cpu->f[9]);
|
|
/* 027DDBFC */ _t353 = cpu->r[29] + 0x00000020u;
|
|
/* 027DDBFC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t353);
|
|
/* 027DDC00 */ _t354 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDC00 */ rbrew_write_f32(cpu->mem, _t354, cpu->f[12]);
|
|
/* 027DDC04 */ _t355 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDC04 */ rbrew_write_f32(cpu->mem, _t355, cpu->f[10]);
|
|
/* 027DDC08 */ _t356 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDC08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t356);
|
|
/* 027DDC0C */ _t357 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDC0C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t357);
|
|
/* 027DDC10 */ _t358 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDC10 */ rbrew_write_f32(cpu->mem, _t358, cpu->f[13]);
|
|
/* 027DDC14 */ cpu->f[12] = cpu->f[3];
|
|
/* 027DDC18 */ _t359 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDC18 */ rbrew_write_f32(cpu->mem, _t359, cpu->f[11]);
|
|
/* 027DDC1C */ _t360 = cpu->r[3] + 0x00000008u;
|
|
/* 027DDC1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t360);
|
|
L_027DDC20: ; // 0x27ddc20
|
|
/* 027DDC20 */ cpu->f[2] = cpu->f[9] + cpu->f[8];
|
|
/* 027DDC24 */ cpu->f[3] = cpu->f[9] + cpu->f[13];
|
|
/* 027DDC28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DDC2C */ _t361 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDC2C */ _t362 = _t361 & 0x00000001u;
|
|
/* 027DDC2C */ if (_t362) goto L_027DDCAC; else goto L_027DDC30;
|
|
L_027DDC30: ; // 0x27ddc30
|
|
/* 027DDC30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[12]);
|
|
/* 027DDC34 */ _t363 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDC34 */ _t364 = _t363 & 0x00000001u;
|
|
/* 027DDC34 */ if (_t364) goto L_027DDC38; else goto L_027DDD24;
|
|
L_027DDC38: ; // 0x27ddc38
|
|
/* 027DDC38 */ _t365 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDC38 */ rbrew_write_f32(cpu->mem, _t365, cpu->f[2]);
|
|
/* 027DDC3C */ _t366 = cpu->r[29] + 0x00000018u;
|
|
/* 027DDC3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t366);
|
|
/* 027DDC40 */ _t367 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDC40 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t367);
|
|
/* 027DDC44 */ cpu->f[13] = -cpu->f[0];
|
|
/* 027DDC48 */ _t368 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDC48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t368);
|
|
/* 027DDC4C */ _t369 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDC4C */ rbrew_write_f32(cpu->mem, _t369, cpu->f[13]);
|
|
/* 027DDC50 */ _t370 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027DDC50 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t370);
|
|
/* 027DDC54 */ _t371 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDC54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t371);
|
|
/* 027DDC58 */ cpu->f[7] = -cpu->f[9];
|
|
/* 027DDC5C */ _t372 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDC5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t372);
|
|
/* 027DDC60 */ _t373 = cpu->r[1] + 0x00000060u;
|
|
/* 027DDC60 */ rbrew_write_f32(cpu->mem, _t373, cpu->f[7]);
|
|
/* 027DDC64 */ _t374 = cpu->r[29] + 0x00000020u;
|
|
/* 027DDC64 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t374);
|
|
/* 027DDC68 */ _t375 = cpu->r[1] + 0x00000060u;
|
|
/* 027DDC68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t375);
|
|
/* 027DDC6C */ _t376 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDC6C */ rbrew_write_f32(cpu->mem, _t376, cpu->f[13]);
|
|
/* 027DDC70 */ cpu->f[11] = -cpu->f[6];
|
|
/* 027DDC74 */ _t377 = cpu->r[1] + 0x00000120u;
|
|
/* 027DDC74 */ rbrew_write32(cpu->mem, _t377, cpu->r[4]);
|
|
/* 027DDC78 */ _t378 = cpu->r[1] + 0x00000120u;
|
|
/* 027DDC78 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t378);
|
|
/* 027DDC7C */ _t379 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027DDC7C */ rbrew_write32(cpu->mem, _t379, cpu->r[12]);
|
|
/* 027DDC80 */ _t380 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027DDC80 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t380);
|
|
/* 027DDC84 */ _t381 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDC84 */ rbrew_write_f32(cpu->mem, _t381, cpu->f[11]);
|
|
/* 027DDC88 */ _t382 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDC88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t382);
|
|
/* 027DDC8C */ _t383 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDC8C */ rbrew_write_f32(cpu->mem, _t383, cpu->f[10]);
|
|
/* 027DDC90 */ _t384 = cpu->r[1] + 0x00000124u;
|
|
/* 027DDC90 */ rbrew_write32(cpu->mem, _t384, cpu->r[5]);
|
|
/* 027DDC94 */ _t385 = cpu->r[1] + 0x00000124u;
|
|
/* 027DDC94 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t385);
|
|
/* 027DDC98 */ _t386 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDC98 */ rbrew_write_f32(cpu->mem, _t386, cpu->f[12]);
|
|
/* 027DDC9C */ _t387 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDC9C */ rbrew_write_f32(cpu->mem, _t387, cpu->f[9]);
|
|
/* 027DDCA0 */ _t388 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDCA0 */ rbrew_write_f32(cpu->mem, _t388, cpu->f[5]);
|
|
/* 027DDCA4 */ _t389 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDCA4 */ rbrew_write_f32(cpu->mem, _t389, cpu->f[11]);
|
|
/* 027DDCA8 */ goto L_027DDD24;
|
|
L_027DDCAC: ; // 0x27ddcac
|
|
/* 027DDCAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DDCB0 */ _t390 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDCB0 */ _t391 = _t390 & 0x00000001u;
|
|
/* 027DDCB0 */ if (_t391) goto L_027DDCB4; else goto L_027DDD24;
|
|
L_027DDCB4: ; // 0x27ddcb4
|
|
/* 027DDCB4 */ _t392 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DDCB4 */ rbrew_write_f32(cpu->mem, _t392, cpu->f[3]);
|
|
/* 027DDCB8 */ _t393 = cpu->r[29] + 0x00000018u;
|
|
/* 027DDCB8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t393);
|
|
/* 027DDCBC */ _t394 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDCBC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t394);
|
|
/* 027DDCC0 */ cpu->f[0] = -cpu->f[7];
|
|
/* 027DDCC4 */ _t395 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDCC4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t395);
|
|
/* 027DDCC8 */ _t396 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDCC8 */ rbrew_write_f32(cpu->mem, _t396, cpu->f[0]);
|
|
/* 027DDCCC */ _t397 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027DDCCC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t397);
|
|
/* 027DDCD0 */ _t398 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDCD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t398);
|
|
/* 027DDCD4 */ cpu->f[8] = -cpu->f[9];
|
|
/* 027DDCD8 */ _t399 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDCD8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t399);
|
|
/* 027DDCDC */ _t400 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDCDC */ rbrew_write_f32(cpu->mem, _t400, cpu->f[8]);
|
|
/* 027DDCE0 */ _t401 = cpu->r[29] + 0x00000020u;
|
|
/* 027DDCE0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t401);
|
|
/* 027DDCE4 */ _t402 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDCE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t402);
|
|
/* 027DDCE8 */ _t403 = cpu->r[28] + 0x00000014u;
|
|
/* 027DDCE8 */ rbrew_write_f32(cpu->mem, _t403, cpu->f[7]);
|
|
/* 027DDCEC */ cpu->f[10] = -cpu->f[11];
|
|
/* 027DDCF0 */ _t404 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027DDCF0 */ rbrew_write32(cpu->mem, _t404, cpu->r[9]);
|
|
/* 027DDCF4 */ _t405 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027DDCF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t405);
|
|
/* 027DDCF8 */ _t406 = cpu->r[1] + 0x00000128u;
|
|
/* 027DDCF8 */ rbrew_write32(cpu->mem, _t406, cpu->r[8]);
|
|
/* 027DDCFC */ _t407 = cpu->r[1] + 0x00000128u;
|
|
/* 027DDCFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t407);
|
|
/* 027DDD00 */ _t408 = cpu->r[1] + 0x00000070u;
|
|
/* 027DDD00 */ rbrew_write_f32(cpu->mem, _t408, cpu->f[10]);
|
|
/* 027DDD04 */ _t409 = cpu->r[1] + 0x00000070u;
|
|
/* 027DDD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t409);
|
|
/* 027DDD08 */ _t410 = cpu->r[28] + 0x00000004u;
|
|
/* 027DDD08 */ rbrew_write_f32(cpu->mem, _t410, cpu->f[13]);
|
|
/* 027DDD0C */ _t411 = cpu->r[1] + 0x00000130u;
|
|
/* 027DDD0C */ rbrew_write32(cpu->mem, _t411, cpu->r[11]);
|
|
/* 027DDD10 */ _t412 = cpu->r[1] + 0x00000130u;
|
|
/* 027DDD10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t412);
|
|
/* 027DDD14 */ _t413 = cpu->r[28] + 0x00000010u;
|
|
/* 027DDD14 */ rbrew_write_f32(cpu->mem, _t413, cpu->f[6]);
|
|
/* 027DDD18 */ _t414 = cpu->r[28] + 0x00000008u;
|
|
/* 027DDD18 */ rbrew_write_f32(cpu->mem, _t414, cpu->f[0]);
|
|
/* 027DDD1C */ _t415 = cpu->r[28] + 0x00000000u;
|
|
/* 027DDD1C */ rbrew_write_f32(cpu->mem, _t415, cpu->f[12]);
|
|
/* 027DDD20 */ _t416 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDD20 */ rbrew_write_f32(cpu->mem, _t416, cpu->f[5]);
|
|
L_027DDD24: ; // 0x27ddd24
|
|
/* 027DDD24 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 027DDD28 */ cpu->r[4] = cpu->r[29];
|
|
/* 027DDD2C */ cpu->r[5] = cpu->r[3];
|
|
/* 027DDD30 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DDD34 */ /* nop */
|
|
/* 027DDD38 */ /* nop */
|
|
/* 027DDD3C */ _t417 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDD3C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t417);
|
|
/* 027DDD40 */ /* nop */
|
|
/* 027DDD44 */ /* nop */
|
|
/* 027DDD48 */ _t418 = cpu->r[27] + 0x00000008u;
|
|
/* 027DDD48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t418);
|
|
/* 027DDD4C */ cpu->f[11] = cpu->f[11] + cpu->f[12];
|
|
/* 027DDD50 */ _t419 = cpu->r[28] + 0x00000018u;
|
|
/* 027DDD50 */ rbrew_write_f32(cpu->mem, _t419, cpu->f[11]);
|
|
/* 027DDD54 */ /* nop */
|
|
/* 027DDD58 */ _t420 = cpu->r[1] + 0x00000160u;
|
|
/* 027DDD58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t420);
|
|
/* 027DDD5C */ _t421 = cpu->r[1] + 0x00000158u;
|
|
/* 027DDD5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t421);
|
|
/* 027DDD60 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DDD64 */ _t422 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDD64 */ _t423 = _t422 & 0x00000001u;
|
|
/* 027DDD64 */ if (_t423) goto L_027DDD68; // else: addr-0 trap, fall-through
|
|
L_027DDD68: ; // 0x27ddd68
|
|
/* 027DDD68 */ _t424 = cpu->r[1] + 0x0000016Cu;
|
|
/* 027DDD68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t424);
|
|
/* 027DDD6C */ cpu->lr = cpu->r[0];
|
|
/* 027DDD70 */ cpu->r[1] = cpu->r[1] + 0x00000168u;
|
|
/* 027DDD74 */ return;
|
|
}
|
|
|
|
// fn_027DDD78 @ 0x27ddd78
|
|
void Gambit_fn_027DDD78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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;
|
|
double _ft61, _ft62;
|
|
|
|
L_027DDD78: ; // 0x27ddd78
|
|
/* 027DDD78 */ cpu->r[0] = cpu->lr;
|
|
/* 027DDD7C */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 027DDD7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DDD7C */ cpu->r[1] = _t0;
|
|
/* 027DDD80 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DDD84 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DDD88 */ _t2 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDD88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DDD8C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DDD90 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027DDD94 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDD94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DDD98 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DDD9C */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDD9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DDDA0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DDDA4 */ Gambit_fn_027DD0B4(cpu);
|
|
/* 027DDDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DDDAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDDAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DDDAC */ if (_t6) goto L_027DDDD0; else goto L_027DDDB0;
|
|
L_027DDDB0: ; // 0x27dddb0
|
|
/* 027DDDB0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DDDB4 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DDDB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DDDB8 */ _t8 = cpu->r[11] + 0xFFFFED9Cu;
|
|
/* 027DDDB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DDDBC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 027DDDC0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDDC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DDDC0 */ if (_t10) goto L_027DDDD0; else goto L_027DDDC4;
|
|
L_027DDDC4: ; // 0x27dddc4
|
|
/* 027DDDC4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DDDC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027DDDC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DDDCC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDDCC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DDDCC */ if (_t13) goto L_027DDDF0; else goto L_027DDDD0;
|
|
L_027DDDD0: ; // 0x27dddd0
|
|
/* 027DDDD0 */ _t14 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDDD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DDDD4 */ _t15 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DDDD8 */ _t16 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDDD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DDDDC */ cpu->lr = cpu->r[0];
|
|
/* 027DDDE0 */ _t17 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDDE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DDDE4 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027DDDE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DDDEC */ return;
|
|
L_027DDDF0: ; // 0x27dddf0
|
|
/* 027DDDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DDDF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDDF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DDDF4 */ if (_t19) goto L_027DDF74; else goto L_027DDDF8;
|
|
L_027DDDF8: ; // 0x27dddf8
|
|
/* 027DDDF8 */ /* nop */
|
|
/* 027DDDFC */ /* nop */
|
|
/* 027DDE00 */ /* nop */
|
|
/* 027DDE04 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 027DDE04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DDE08 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 027DDE08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DDE0C */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 027DDE0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DDE10 */ cpu->f[10] = cpu->f[11] * cpu->f[10];
|
|
/* 027DDE14 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDE14 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 027DDE18 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDE18 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 027DDE1C */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DDE1C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 027DDE20 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DDE20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DDE24 */ /* nop */
|
|
/* 027DDE28 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDE28 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027DDE2C */ /* nop */
|
|
/* 027DDE30 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDE30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DDE34 */ /* nop */
|
|
/* 027DDE38 */ /* nop */
|
|
/* 027DDE3C */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 027DDE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DDE40 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DDE40 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DDE44 */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDE44 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 027DDE48 */ _t32 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDE48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DDE4C */ cpu->f[9] = cpu->f[10] + cpu->f[11];
|
|
/* 027DDE50 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 027DDE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DDE54 */ _t34 = cpu->r[30] + 0x00000010u;
|
|
/* 027DDE54 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 027DDE58 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 027DDE58 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 027DDE5C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 027DDE5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DDE60 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDE60 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027DDE64 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDE64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027DDE68 */ _t39 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDE68 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 027DDE6C */ _t40 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDE6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027DDE70 */ _t41 = cpu->r[30] + 0x00000014u;
|
|
/* 027DDE70 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 027DDE74 */ _t42 = cpu->r[30] + 0x00000018u;
|
|
/* 027DDE74 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[9]);
|
|
/* 027DDE78 */ _t43 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DDE78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DDE7C */ /* nop */
|
|
/* 027DDE80 */ cpu->f[12] = cpu->f[9] - cpu->f[13];
|
|
/* 027DDE84 */ /* nop */
|
|
/* 027DDE88 */ /* nop */
|
|
/* 027DDE8C */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDE8C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[12]);
|
|
/* 027DDE90 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027DDE94 */ /* nop */
|
|
/* 027DDE98 */ _t46 = cpu->r[1] + 0x00000040u;
|
|
/* 027DDE98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DDE9C */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DDE9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DDEA0 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDEA0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027DDEA4 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDEA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027DDEA8 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDEA8 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 027DDEAC */ cpu->f[9] = cpu->f[12] * cpu->f[12];
|
|
/* 027DDEB0 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDEB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DDEB4 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDEB4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 027DDEB8 */ cpu->f[10] = fma(cpu->f[11], cpu->f[11], cpu->f[9]);
|
|
/* 027DDEBC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDEBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DDEC0 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 027DDEC0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 027DDEC4 */ cpu->f[7] = fma(cpu->f[13], cpu->f[13], cpu->f[10]);
|
|
/* 027DDEC8 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 027DDEC8 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 027DDECC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 027DDED0 */ _t56 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDED0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027DDED4 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DDED4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DDED4 */ if (_t58) goto L_027DDED8; else goto L_027DDF18;
|
|
L_027DDED8: ; // 0x27dded8
|
|
/* 027DDED8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DDEDC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DDEE0 */ _t59 = cpu->r[8] + 0xFFFFEDA4u;
|
|
/* 027DDEE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027DDEE4 */ _t60 = cpu->r[6] + 0xFFFFEDA0u;
|
|
/* 027DDEE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 027DDEE8 */ _ft61 = sqrt(cpu->f[7]);
|
|
/* 027DDEE8 */ _ft62 = (double)(int32_t)0x00000001u;
|
|
/* 027DDEE8 */ cpu->f[8] = _ft62 / _ft61;
|
|
/* 027DDEEC */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DDEF0 */ cpu->f[10] = cpu->f[8] * cpu->f[12];
|
|
/* 027DDEF4 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[13]));
|
|
/* 027DDEF8 */ cpu->f[8] = cpu->f[9] * cpu->f[10];
|
|
/* 027DDEFC */ /* nop */
|
|
/* 027DDF00 */ _t63 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF00 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027DDF04 */ /* nop */
|
|
/* 027DDF08 */ cpu->f[9] = cpu->f[9] * cpu->f[8];
|
|
/* 027DDF0C */ /* nop */
|
|
/* 027DDF10 */ cpu->f[7] = cpu->f[7] * cpu->f[8];
|
|
/* 027DDF14 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF14 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[9]);
|
|
L_027DDF18: ; // 0x27ddf18
|
|
/* 027DDF18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 027DDF1C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDF1C */ _t66 = _t65 & 0x00000001u;
|
|
/* 027DDF1C */ if (_t66) goto L_027DDF20; else goto L_027DDF74;
|
|
L_027DDF20: ; // 0x27ddf20
|
|
/* 027DDF20 */ _t67 = cpu->r[31] + 0x00000010u;
|
|
/* 027DDF20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027DDF24 */ cpu->f[0] = -cpu->f[10];
|
|
/* 027DDF28 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDF28 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 027DDF2C */ _t69 = cpu->r[31] + 0x00000014u;
|
|
/* 027DDF2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DDF30 */ cpu->f[11] = -cpu->f[12];
|
|
/* 027DDF34 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDF34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027DDF38 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDF38 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[11]);
|
|
/* 027DDF3C */ _t72 = cpu->r[31] + 0x00000018u;
|
|
/* 027DDF3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DDF40 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027DDF44 */ _t74 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDF44 */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 027DDF48 */ _t75 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDF48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DDF4C */ cpu->f[13] = -cpu->f[0];
|
|
/* 027DDF50 */ _t76 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDF50 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 027DDF54 */ _t77 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDF54 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DDF58 */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDF58 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 027DDF5C */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027DDF60 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 027DDF60 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[9]);
|
|
/* 027DDF64 */ _t81 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDF64 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 027DDF68 */ _t82 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDF68 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 027DDF6C */ _t83 = cpu->r[30] + 0x00000004u;
|
|
/* 027DDF6C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
/* 027DDF70 */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF70 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
L_027DDF74: ; // 0x27ddf74
|
|
/* 027DDF74 */ _t85 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDF74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027DDF78 */ _t86 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DDF7C */ _t87 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDF7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027DDF80 */ cpu->lr = cpu->r[0];
|
|
/* 027DDF84 */ _t88 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DDF88 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027DDF8C */ cpu->r[3] = 0x00000001u;
|
|
/* 027DDF90 */ return;
|
|
}
|
|
|
|
// fn_027DDD7C @ 0x27ddd7c
|
|
void Gambit_fn_027DDD7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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;
|
|
double _ft61, _ft62;
|
|
|
|
L_027DDD7C: ; // 0x27ddd7c
|
|
/* 027DDD7C */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 027DDD7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DDD7C */ cpu->r[1] = _t0;
|
|
/* 027DDD80 */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DDD84 */ cpu->r[30] = cpu->r[5];
|
|
/* 027DDD88 */ _t2 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDD88 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DDD8C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DDD90 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027DDD94 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDD94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027DDD98 */ cpu->r[6] = 0x00000000u;
|
|
/* 027DDD9C */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDD9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DDDA0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027DDDA4 */ Gambit_fn_027DD0B4(cpu);
|
|
/* 027DDDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DDDAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDDAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DDDAC */ if (_t6) goto L_027DDDD0; else goto L_027DDDB0;
|
|
L_027DDDB0: ; // 0x27dddb0
|
|
/* 027DDDB0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DDDB4 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DDDB4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DDDB8 */ _t8 = cpu->r[11] + 0xFFFFED9Cu;
|
|
/* 027DDDB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DDDBC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 027DDDC0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDDC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DDDC0 */ if (_t10) goto L_027DDDD0; else goto L_027DDDC4;
|
|
L_027DDDC4: ; // 0x27dddc4
|
|
/* 027DDDC4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DDDC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027DDDC8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DDDCC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DDDCC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DDDCC */ if (_t13) goto L_027DDDF0; else goto L_027DDDD0;
|
|
L_027DDDD0: ; // 0x27dddd0
|
|
/* 027DDDD0 */ _t14 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDDD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DDDD4 */ _t15 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDDD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DDDD8 */ _t16 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDDD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DDDDC */ cpu->lr = cpu->r[0];
|
|
/* 027DDDE0 */ _t17 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDDE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DDDE4 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027DDDE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DDDEC */ return;
|
|
L_027DDDF0: ; // 0x27dddf0
|
|
/* 027DDDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DDDF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDDF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DDDF4 */ if (_t19) goto L_027DDF74; else goto L_027DDDF8;
|
|
L_027DDDF8: ; // 0x27dddf8
|
|
/* 027DDDF8 */ /* nop */
|
|
/* 027DDDFC */ /* nop */
|
|
/* 027DDE00 */ /* nop */
|
|
/* 027DDE04 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 027DDE04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DDE08 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 027DDE08 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DDE0C */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 027DDE0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DDE10 */ cpu->f[10] = cpu->f[11] * cpu->f[10];
|
|
/* 027DDE14 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDE14 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 027DDE18 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDE18 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 027DDE1C */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DDE1C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 027DDE20 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DDE20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DDE24 */ /* nop */
|
|
/* 027DDE28 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDE28 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027DDE2C */ /* nop */
|
|
/* 027DDE30 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDE30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DDE34 */ /* nop */
|
|
/* 027DDE38 */ /* nop */
|
|
/* 027DDE3C */ _t29 = cpu->r[1] + 0x00000030u;
|
|
/* 027DDE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DDE40 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DDE40 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DDE44 */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDE44 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 027DDE48 */ _t32 = cpu->r[1] + 0x00000048u;
|
|
/* 027DDE48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DDE4C */ cpu->f[9] = cpu->f[10] + cpu->f[11];
|
|
/* 027DDE50 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 027DDE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027DDE54 */ _t34 = cpu->r[30] + 0x00000010u;
|
|
/* 027DDE54 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 027DDE58 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 027DDE58 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 027DDE5C */ _t36 = cpu->r[1] + 0x00000038u;
|
|
/* 027DDE5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DDE60 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDE60 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027DDE64 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DDE64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027DDE68 */ _t39 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDE68 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 027DDE6C */ _t40 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDE6C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027DDE70 */ _t41 = cpu->r[30] + 0x00000014u;
|
|
/* 027DDE70 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 027DDE74 */ _t42 = cpu->r[30] + 0x00000018u;
|
|
/* 027DDE74 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[9]);
|
|
/* 027DDE78 */ _t43 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DDE78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DDE7C */ /* nop */
|
|
/* 027DDE80 */ cpu->f[12] = cpu->f[9] - cpu->f[13];
|
|
/* 027DDE84 */ /* nop */
|
|
/* 027DDE88 */ /* nop */
|
|
/* 027DDE8C */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDE8C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[12]);
|
|
/* 027DDE90 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027DDE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027DDE94 */ /* nop */
|
|
/* 027DDE98 */ _t46 = cpu->r[1] + 0x00000040u;
|
|
/* 027DDE98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DDE9C */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DDE9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DDEA0 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDEA0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027DDEA4 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDEA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027DDEA8 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDEA8 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 027DDEAC */ cpu->f[9] = cpu->f[12] * cpu->f[12];
|
|
/* 027DDEB0 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDEB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DDEB4 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDEB4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 027DDEB8 */ cpu->f[10] = fma(cpu->f[11], cpu->f[11], cpu->f[9]);
|
|
/* 027DDEBC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDEBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DDEC0 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 027DDEC0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 027DDEC4 */ cpu->f[7] = fma(cpu->f[13], cpu->f[13], cpu->f[10]);
|
|
/* 027DDEC8 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 027DDEC8 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[12]);
|
|
/* 027DDECC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 027DDED0 */ _t56 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDED0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027DDED4 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DDED4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027DDED4 */ if (_t58) goto L_027DDED8; else goto L_027DDF18;
|
|
L_027DDED8: ; // 0x27dded8
|
|
/* 027DDED8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DDEDC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DDEE0 */ _t59 = cpu->r[8] + 0xFFFFEDA4u;
|
|
/* 027DDEE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027DDEE4 */ _t60 = cpu->r[6] + 0xFFFFEDA0u;
|
|
/* 027DDEE4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 027DDEE8 */ _ft61 = sqrt(cpu->f[7]);
|
|
/* 027DDEE8 */ _ft62 = (double)(int32_t)0x00000001u;
|
|
/* 027DDEE8 */ cpu->f[8] = _ft62 / _ft61;
|
|
/* 027DDEEC */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DDEF0 */ cpu->f[10] = cpu->f[8] * cpu->f[12];
|
|
/* 027DDEF4 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[13]));
|
|
/* 027DDEF8 */ cpu->f[8] = cpu->f[9] * cpu->f[10];
|
|
/* 027DDEFC */ /* nop */
|
|
/* 027DDF00 */ _t63 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF00 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027DDF04 */ /* nop */
|
|
/* 027DDF08 */ cpu->f[9] = cpu->f[9] * cpu->f[8];
|
|
/* 027DDF0C */ /* nop */
|
|
/* 027DDF10 */ cpu->f[7] = cpu->f[7] * cpu->f[8];
|
|
/* 027DDF14 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF14 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[9]);
|
|
L_027DDF18: ; // 0x27ddf18
|
|
/* 027DDF18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 027DDF1C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DDF1C */ _t66 = _t65 & 0x00000001u;
|
|
/* 027DDF1C */ if (_t66) goto L_027DDF20; else goto L_027DDF74;
|
|
L_027DDF20: ; // 0x27ddf20
|
|
/* 027DDF20 */ _t67 = cpu->r[31] + 0x00000010u;
|
|
/* 027DDF20 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027DDF24 */ cpu->f[0] = -cpu->f[10];
|
|
/* 027DDF28 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDF28 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 027DDF2C */ _t69 = cpu->r[31] + 0x00000014u;
|
|
/* 027DDF2C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DDF30 */ cpu->f[11] = -cpu->f[12];
|
|
/* 027DDF34 */ _t70 = cpu->r[1] + 0x00000014u;
|
|
/* 027DDF34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027DDF38 */ _t71 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDF38 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[11]);
|
|
/* 027DDF3C */ _t72 = cpu->r[31] + 0x00000018u;
|
|
/* 027DDF3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DDF40 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 027DDF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027DDF44 */ _t74 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDF44 */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 027DDF48 */ _t75 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDF48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DDF4C */ cpu->f[13] = -cpu->f[0];
|
|
/* 027DDF50 */ _t76 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDF50 */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 027DDF54 */ _t77 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDF54 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DDF58 */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDF58 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[13]);
|
|
/* 027DDF5C */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DDF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027DDF60 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 027DDF60 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[9]);
|
|
/* 027DDF64 */ _t81 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDF64 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 027DDF68 */ _t82 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DDF68 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 027DDF6C */ _t83 = cpu->r[30] + 0x00000004u;
|
|
/* 027DDF6C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
/* 027DDF70 */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 027DDF70 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
L_027DDF74: ; // 0x27ddf74
|
|
/* 027DDF74 */ _t85 = cpu->r[1] + 0x00000064u;
|
|
/* 027DDF74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027DDF78 */ _t86 = cpu->r[1] + 0x00000074u;
|
|
/* 027DDF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DDF7C */ _t87 = cpu->r[1] + 0x00000068u;
|
|
/* 027DDF7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027DDF80 */ cpu->lr = cpu->r[0];
|
|
/* 027DDF84 */ _t88 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DDF84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DDF88 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027DDF8C */ cpu->r[3] = 0x00000001u;
|
|
/* 027DDF90 */ return;
|
|
}
|
|
|
|
// fn_027DDF94 @ 0x27ddf94
|
|
void Gambit_fn_027DDF94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027DDF94: ; // 0x27ddf94
|
|
/* 027DDF94 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 027DDF94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DDF94 */ cpu->r[1] = _t0;
|
|
/* 027DDF98 */ /* nop */
|
|
/* 027DDF9C */ /* nop */
|
|
/* 027DDFA0 */ /* nop */
|
|
/* 027DDFA4 */ /* nop */
|
|
/* 027DDFA8 */ _t1 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DDFA8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027DDFAC */ /* nop */
|
|
/* 027DDFB0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DDFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DDFB4 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DDFB4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027DDFB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DDFB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DDFBC */ cpu->f[0] = cpu->f[7] - cpu->f[8];
|
|
/* 027DDFC0 */ _t5 = cpu->r[1] + 0x00000050u;
|
|
/* 027DDFC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DDFC4 */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 027DDFC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 027DDFC8 */ /* nop */
|
|
/* 027DDFCC */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDFCC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027DDFD0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027DDFD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DDFD4 */ /* nop */
|
|
/* 027DDFD8 */ _t9 = cpu->r[4] + 0x00000018u;
|
|
/* 027DDFD8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027DDFDC */ /* nop */
|
|
/* 027DDFE0 */ _t10 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDFE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 027DDFE4 */ cpu->f[8] = cpu->f[7];
|
|
/* 027DDFE8 */ _t11 = cpu->r[1] + 0x00000058u;
|
|
/* 027DDFE8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027DDFEC */ cpu->r[8] = 0x10110000u;
|
|
/* 027DDFF0 */ cpu->f[5] = fma(cpu->f[7], cpu->f[9], cpu->f[8]);
|
|
/* 027DDFF4 */ _t12 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DDFF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027DDFF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 027DDFFC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DDFFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DDFFC */ if (_t14) goto L_027DE000; else goto L_027DE088;
|
|
L_027DE000: ; // 0x27de000
|
|
/* 027DE000 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 027DE000 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DE004 */ _t16 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027DE004 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DE008 */ /* nop */
|
|
/* 027DE00C */ cpu->f[12] = cpu->f[7] * cpu->f[9];
|
|
/* 027DE010 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE010 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DE014 */ /* nop */
|
|
/* 027DE018 */ /* nop */
|
|
/* 027DE01C */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE01C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DE020 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE020 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 027DE024 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DE028 */ _t21 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DE028 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 027DE02C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027DE02C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DE030 */ _t23 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE030 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 027DE034 */ _t24 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE034 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DE038 */ _t25 = cpu->r[1] + 0x00000068u;
|
|
/* 027DE038 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 027DE03C */ cpu->f[7] = cpu->f[13] + cpu->f[7];
|
|
/* 027DE040 */ /* nop */
|
|
/* 027DE044 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE044 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[7]);
|
|
/* 027DE048 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE048 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DE04C */ /* nop */
|
|
/* 027DE050 */ /* nop */
|
|
/* 027DE054 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DE058 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE058 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DE05C */ _t30 = cpu->r[1] + 0x00000074u;
|
|
/* 027DE05C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027DE060 */ _t31 = cpu->r[1] + 0x00000078u;
|
|
/* 027DE060 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 027DE064 */ /* nop */
|
|
/* 027DE068 */ _t32 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DE068 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
/* 027DE06C */ /* nop */
|
|
/* 027DE070 */ _t33 = cpu->r[4] + 0x00000018u;
|
|
/* 027DE070 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DE074 */ /* nop */
|
|
/* 027DE078 */ _t34 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DE078 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027DE07C */ cpu->f[13] = fma(cpu->f[10], cpu->f[11], cpu->f[13]);
|
|
/* 027DE080 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027DE084 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE084 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027DE084 */ if (_t36) goto L_027DE094; else goto L_027DE088;
|
|
L_027DE088: ; // 0x27de088
|
|
/* 027DE088 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE08C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 027DE090 */ return;
|
|
L_027DE094: ; // 0x27de094
|
|
/* 027DE094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DE098 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE098 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DE098 */ if (_t38) goto L_027DE164; else goto L_027DE09C;
|
|
L_027DE09C: ; // 0x27de09c
|
|
/* 027DE09C */ cpu->f[12] = cpu->f[5] - cpu->f[13];
|
|
/* 027DE0A0 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 027DE0A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 027DE0A4 */ /* nop */
|
|
/* 027DE0A8 */ cpu->f[0] = cpu->f[7] * cpu->f[9];
|
|
/* 027DE0AC */ cpu->f[10] = cpu->f[5] / cpu->f[12];
|
|
/* 027DE0B0 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE0B0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 027DE0B4 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE0B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DE0B8 */ _t42 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE0B8 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 027DE0BC */ _t43 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE0BC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DE0C0 */ /* nop */
|
|
/* 027DE0C4 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE0C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DE0C8 */ _t45 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE0C8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 027DE0CC */ _t46 = cpu->r[1] + 0x00000030u;
|
|
/* 027DE0CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DE0D0 */ _t47 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE0D0 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 027DE0D4 */ /* nop */
|
|
/* 027DE0D8 */ /* nop */
|
|
/* 027DE0DC */ /* nop */
|
|
/* 027DE0E0 */ _t48 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE0E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027DE0E4 */ cpu->f[10] = cpu->f[11] * cpu->f[10];
|
|
/* 027DE0E8 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE0E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027DE0EC */ _t50 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE0EC */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 027DE0F0 */ _t51 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE0F0 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
|
|
/* 027DE0F4 */ _t52 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE0F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027DE0F8 */ _t53 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE0F8 */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 027DE0FC */ /* nop */
|
|
/* 027DE100 */ _t54 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE100 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
/* 027DE104 */ _t55 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE104 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DE108 */ /* nop */
|
|
/* 027DE10C */ _t56 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DE10C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027DE110 */ /* nop */
|
|
/* 027DE114 */ _t57 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE114 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027DE118 */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 027DE11C */ _t58 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE11C */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027DE120 */ _t59 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE120 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
/* 027DE124 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE124 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 027DE128 */ _t61 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027DE12C */ _t62 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE12C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 027DE130 */ _t63 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE130 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027DE134 */ _t64 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE134 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 027DE138 */ _t65 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE138 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 027DE13C */ _t66 = cpu->r[5] + 0x00000014u;
|
|
/* 027DE13C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[12]);
|
|
/* 027DE140 */ _t67 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE140 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027DE144 */ _t68 = cpu->r[5] + 0x00000018u;
|
|
/* 027DE144 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[8]);
|
|
/* 027DE148 */ _t69 = cpu->r[5] + 0x00000010u;
|
|
/* 027DE148 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[11]);
|
|
/* 027DE14C */ _t70 = cpu->r[4] + 0x00000010u;
|
|
/* 027DE14C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027DE150 */ _t71 = cpu->r[5] + 0x00000000u;
|
|
/* 027DE150 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[12]);
|
|
/* 027DE154 */ _t72 = cpu->r[4] + 0x00000014u;
|
|
/* 027DE154 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DE158 */ _t73 = cpu->r[5] + 0x00000004u;
|
|
/* 027DE158 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[13]);
|
|
/* 027DE15C */ _t74 = cpu->r[4] + 0x00000018u;
|
|
/* 027DE15C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027DE160 */ _t75 = cpu->r[5] + 0x00000008u;
|
|
/* 027DE160 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
L_027DE164: ; // 0x27de164
|
|
/* 027DE164 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE168 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 027DE16C */ return;
|
|
}
|
|
|
|
// fn_027DE170 @ 0x27de170
|
|
void Gambit_fn_027DE170(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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;
|
|
double _ft56, _ft57;
|
|
|
|
L_027DE170: ; // 0x27de170
|
|
/* 027DE170 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 027DE170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DE170 */ cpu->r[1] = _t0;
|
|
/* 027DE174 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DE174 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027DE178 */ _t2 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DE178 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027DE17C */ /* nop */
|
|
/* 027DE180 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DE184 */ /* nop */
|
|
/* 027DE188 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 027DE188 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027DE18C */ /* nop */
|
|
/* 027DE190 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE190 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 027DE194 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE194 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DE198 */ /* nop */
|
|
/* 027DE19C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE19C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DE1A0 */ _t7 = cpu->r[4] + 0x00000010u;
|
|
/* 027DE1A0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DE1A4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE1A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 027DE1A8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE1A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027DE1AC */ cpu->f[7] = cpu->f[10] + cpu->f[8];
|
|
/* 027DE1B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027DE1B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DE1B4 */ cpu->f[8] = cpu->f[12] * cpu->f[12];
|
|
/* 027DE1B8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE1B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 027DE1BC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE1BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027DE1C0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE1C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 027DE1C4 */ cpu->f[9] = fma(cpu->f[0], cpu->f[0], cpu->f[8]);
|
|
/* 027DE1C8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE1C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DE1CC */ cpu->f[0] = cpu->f[7] * cpu->f[7];
|
|
/* 027DE1D0 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[9]);
|
|
/* 027DE1D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 027DE1D8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE1D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DE1D8 */ if (_t16) goto L_027DE1E8; else goto L_027DE1DC;
|
|
L_027DE1DC: ; // 0x27de1dc
|
|
/* 027DE1DC */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE1E0 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 027DE1E4 */ return;
|
|
L_027DE1E8: ; // 0x27de1e8
|
|
/* 027DE1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027DE1EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE1EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DE1EC */ if (_t18) goto L_027DE3C0; else goto L_027DE1F0;
|
|
L_027DE1F0: ; // 0x27de1f0
|
|
/* 027DE1F0 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DE1F4 */ _t19 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DE1F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DE1F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 027DE1FC */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE1FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027DE1FC */ if (_t21) goto L_027DE2B4; else goto L_027DE200;
|
|
L_027DE200: ; // 0x27de200
|
|
/* 027DE200 */ cpu->f[9] = cpu->f[9] * cpu->f[13];
|
|
/* 027DE204 */ cpu->f[11] = cpu->f[7] - cpu->f[9];
|
|
/* 027DE208 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 027DE20C */ _t22 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027DE20C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 027DE210 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE210 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DE210 */ if (_t24) goto L_027DE2EC; else goto L_027DE214;
|
|
L_027DE214: ; // 0x27de214
|
|
/* 027DE214 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027DE218 */ _t25 = cpu->r[11] + 0x00003864u;
|
|
/* 027DE218 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DE218 */ cpu->r[11] = _t25;
|
|
/* 027DE21C */ _t26 = cpu->r[5] + 0x00000000u;
|
|
/* 027DE21C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[10]);
|
|
/* 027DE220 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 027DE220 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027DE224 */ _t28 = cpu->r[5] + 0x00000004u;
|
|
/* 027DE224 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 027DE228 */ _t29 = cpu->r[11] + 0x00000008u;
|
|
/* 027DE228 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027DE22C */ _t30 = cpu->r[5] + 0x00000008u;
|
|
/* 027DE22C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 027DE230 */ _t31 = cpu->r[3] + 0x00000010u;
|
|
/* 027DE230 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027DE234 */ /* nop */
|
|
/* 027DE238 */ cpu->f[8] = cpu->f[10] * cpu->f[11];
|
|
/* 027DE23C */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DE23C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DE240 */ /* nop */
|
|
/* 027DE244 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE244 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[8]);
|
|
/* 027DE248 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE248 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DE24C */ /* nop */
|
|
/* 027DE250 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 027DE250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DE254 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DE258 */ /* nop */
|
|
/* 027DE25C */ _t37 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE25C */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 027DE260 */ _t38 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE260 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 027DE264 */ /* nop */
|
|
/* 027DE268 */ _t39 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE268 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 027DE26C */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE26C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027DE270 */ /* nop */
|
|
/* 027DE274 */ /* nop */
|
|
/* 027DE278 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE278 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027DE27C */ _t42 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE27C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027DE280 */ cpu->f[0] = cpu->f[9] - cpu->f[11];
|
|
/* 027DE284 */ _t43 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE284 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 027DE288 */ _t44 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE288 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DE28C */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE28C */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 027DE290 */ _t46 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE290 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 027DE294 */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE294 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[0]);
|
|
/* 027DE298 */ _t48 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027DE29C */ _t49 = cpu->r[5] + 0x00000010u;
|
|
/* 027DE29C */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 027DE2A0 */ _t50 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE2A0 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 027DE2A4 */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE2A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DE2A8 */ _t52 = cpu->r[5] + 0x00000014u;
|
|
/* 027DE2A8 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[8]);
|
|
/* 027DE2AC */ _t53 = cpu->r[5] + 0x00000018u;
|
|
/* 027DE2AC */ rbrew_write_f32(cpu->mem, _t53, cpu->f[10]);
|
|
/* 027DE2B0 */ goto L_027DE3C0;
|
|
L_027DE2B4: ; // 0x27de2b4
|
|
/* 027DE2B4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DE2B8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DE2BC */ _t54 = cpu->r[10] + 0xFFFFEDA4u;
|
|
/* 027DE2BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027DE2C0 */ _t55 = cpu->r[9] + 0xFFFFEDA0u;
|
|
/* 027DE2C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DE2C4 */ _ft56 = sqrt(cpu->f[9]);
|
|
/* 027DE2C4 */ _ft57 = (double)(int32_t)0x00000001u;
|
|
/* 027DE2C4 */ cpu->f[0] = _ft57 / _ft56;
|
|
/* 027DE2C8 */ cpu->f[8] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE2CC */ cpu->f[10] = cpu->f[0] * cpu->f[11];
|
|
/* 027DE2D0 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[9], -(cpu->f[12]));
|
|
/* 027DE2D4 */ cpu->f[0] = cpu->f[8] * cpu->f[10];
|
|
/* 027DE2D8 */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 027DE2DC */ cpu->f[11] = cpu->f[7] - cpu->f[9];
|
|
/* 027DE2E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 027DE2E4 */ _t58 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027DE2E4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[11]);
|
|
/* 027DE2E8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE2E8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027DE2E8 */ if (_t60) goto L_027DE2EC; else goto L_027DE214;
|
|
L_027DE2EC: ; // 0x27de2ec
|
|
/* 027DE2EC */ cpu->r[8] = 0x10110000u;
|
|
/* 027DE2F0 */ _t61 = cpu->r[8] + 0xFFFFEDA8u;
|
|
/* 027DE2F0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027DE2F4 */ /* nop */
|
|
/* 027DE2F8 */ cpu->f[7] = cpu->f[10] / cpu->f[9];
|
|
/* 027DE2FC */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE2FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 027DE300 */ /* nop */
|
|
/* 027DE304 */ /* nop */
|
|
/* 027DE308 */ cpu->f[9] = cpu->f[0] * cpu->f[7];
|
|
/* 027DE30C */ _t63 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE30C */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027DE310 */ _t64 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE310 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027DE314 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE314 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]);
|
|
/* 027DE318 */ _t66 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027DE31C */ _t67 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE31C */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 027DE320 */ _t68 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE320 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 027DE324 */ _t69 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE324 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 027DE328 */ _t70 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE328 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027DE32C */ _t71 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE32C */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 027DE330 */ _t72 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE330 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027DE334 */ _t73 = cpu->r[5] + 0x00000000u;
|
|
/* 027DE334 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 027DE338 */ _t74 = cpu->r[5] + 0x00000004u;
|
|
/* 027DE338 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[9]);
|
|
/* 027DE33C */ /* nop */
|
|
/* 027DE340 */ _t75 = cpu->r[5] + 0x00000008u;
|
|
/* 027DE340 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[10]);
|
|
/* 027DE344 */ _t76 = cpu->r[3] + 0x00000010u;
|
|
/* 027DE344 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027DE348 */ _t77 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DE348 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DE34C */ /* nop */
|
|
/* 027DE350 */ /* nop */
|
|
/* 027DE354 */ /* nop */
|
|
/* 027DE358 */ _t78 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027DE35C */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 027DE35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027DE360 */ cpu->f[8] = cpu->f[10] * cpu->f[11];
|
|
/* 027DE364 */ _t80 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE364 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 027DE368 */ _t81 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE368 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 027DE36C */ /* nop */
|
|
/* 027DE370 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE370 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[8]);
|
|
/* 027DE374 */ _t83 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027DE378 */ /* nop */
|
|
/* 027DE37C */ /* nop */
|
|
/* 027DE380 */ _t84 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE380 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027DE384 */ _t85 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE384 */ rbrew_write32(cpu->mem, _t85, cpu->r[7]);
|
|
/* 027DE388 */ _t86 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE388 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027DE38C */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE38C */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027DE390 */ _t88 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE390 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 027DE394 */ _t89 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE394 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027DE398 */ cpu->f[0] = cpu->f[9] - cpu->f[11];
|
|
/* 027DE39C */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE39C */ rbrew_write32(cpu->mem, _t90, cpu->r[10]);
|
|
/* 027DE3A0 */ _t91 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE3A0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 027DE3A4 */ _t92 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE3A4 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[0]);
|
|
/* 027DE3A8 */ _t93 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027DE3AC */ _t94 = cpu->r[5] + 0x00000010u;
|
|
/* 027DE3AC */ rbrew_write_f32(cpu->mem, _t94, cpu->f[7]);
|
|
/* 027DE3B0 */ _t95 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE3B0 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 027DE3B4 */ _t96 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE3B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027DE3B8 */ _t97 = cpu->r[5] + 0x00000014u;
|
|
/* 027DE3B8 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[8]);
|
|
/* 027DE3BC */ _t98 = cpu->r[5] + 0x00000018u;
|
|
/* 027DE3BC */ rbrew_write_f32(cpu->mem, _t98, cpu->f[10]);
|
|
L_027DE3C0: ; // 0x27de3c0
|
|
/* 027DE3C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE3C4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 027DE3C8 */ return;
|
|
}
|
|
|
|
// fn_027DE3CC @ 0x27de3cc
|
|
void Gambit_fn_027DE3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _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, _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;
|
|
double _ft20, _ft21, _ft67, _ft68;
|
|
|
|
L_027DE3CC: ; // 0x27de3cc
|
|
/* 027DE3CC */ cpu->r[0] = cpu->lr;
|
|
/* 027DE3D0 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 027DE3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DE3D0 */ cpu->r[1] = _t0;
|
|
/* 027DE3D4 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DE3D8 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DE3DC */ cpu->r[30] = cpu->r[5];
|
|
/* 027DE3E0 */ _t3 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DE3E4 */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE3E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DE3E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DE3EC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027DE3F0 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 027DE3F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DE3F8 */ Gambit_fn_027DCE08(cpu);
|
|
/* 027DE3FC */ _t5 = cpu->r[29] + 0x00000010u;
|
|
/* 027DE3FC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DE400 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DE400 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DE404 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 027DE408 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DE40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DE410 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE410 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DE410 */ if (_t8) goto L_027DE434; else goto L_027DE414;
|
|
L_027DE414: ; // 0x27de414
|
|
/* 027DE414 */ _t9 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DE418 */ _t10 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DE41C */ _t11 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE41C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DE420 */ cpu->lr = cpu->r[0];
|
|
/* 027DE424 */ _t12 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DE428 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027DE42C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE430 */ return;
|
|
L_027DE434: ; // 0x27de434
|
|
/* 027DE434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DE438 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE438 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DE438 */ if (_t14) goto L_027DE658; else goto L_027DE43C;
|
|
L_027DE43C: ; // 0x27de43c
|
|
/* 027DE43C */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE440 */ _t15 = cpu->r[12] + 0xFFFFED9Cu;
|
|
/* 027DE440 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DE444 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE448 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 027DE44C */ _t16 = cpu->r[12] + 0xFFFFEDA0u;
|
|
/* 027DE44C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DE450 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DE454 */ _t17 = cpu->r[11] + 0xFFFFEDA4u;
|
|
/* 027DE454 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DE458 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE458 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DE458 */ if (_t19) goto L_027DE464; else goto L_027DE45C;
|
|
L_027DE45C: ; // 0x27de45c
|
|
/* 027DE45C */ cpu->f[0] = cpu->f[11];
|
|
/* 027DE460 */ goto L_027DE478;
|
|
L_027DE464: ; // 0x27de464
|
|
/* 027DE464 */ _ft20 = sqrt(cpu->f[1]);
|
|
/* 027DE464 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 027DE464 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 027DE468 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE46C */ cpu->f[9] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE470 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[1], -(cpu->f[13]));
|
|
/* 027DE474 */ cpu->f[0] = cpu->f[10] * cpu->f[9];
|
|
L_027DE478: ; // 0x27de478
|
|
/* 027DE478 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[1], -(cpu->f[8]));
|
|
/* 027DE47C */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE47C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 027DE480 */ /* nop */
|
|
/* 027DE484 */ /* nop */
|
|
/* 027DE488 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DE488 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DE48C */ /* nop */
|
|
/* 027DE490 */ /* nop */
|
|
/* 027DE494 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 027DE494 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DE498 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DE49C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE49C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027DE4A0 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DE4A4 */ cpu->f[7] = cpu->f[0] - cpu->f[10];
|
|
/* 027DE4A8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE4A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 027DE4AC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE4AC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027DE4B0 */ /* nop */
|
|
/* 027DE4B4 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE4B4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[7]);
|
|
/* 027DE4B8 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE4B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DE4BC */ /* nop */
|
|
/* 027DE4C0 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE4C0 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 027DE4C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE4C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DE4C8 */ /* nop */
|
|
/* 027DE4CC */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DE4D0 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 027DE4D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DE4D4 */ cpu->f[8] = cpu->f[10] * cpu->f[8];
|
|
/* 027DE4D8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE4D8 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 027DE4DC */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE4DC */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 027DE4E0 */ /* nop */
|
|
/* 027DE4E4 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE4E4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]);
|
|
/* 027DE4E8 */ _t39 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027DE4EC */ /* nop */
|
|
/* 027DE4F0 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE4F0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027DE4F4 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE4F4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DE4F8 */ /* nop */
|
|
/* 027DE4FC */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE4FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DE500 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DE504 */ cpu->f[7] = cpu->f[9] + cpu->f[10];
|
|
/* 027DE508 */ /* nop */
|
|
/* 027DE50C */ _t44 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DE50C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DE510 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE510 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[7]);
|
|
/* 027DE514 */ _t46 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DE518 */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DE51C */ _t48 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE51C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 027DE520 */ _t49 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE520 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027DE524 */ _t50 = cpu->r[1] + 0x00000078u;
|
|
/* 027DE524 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 027DE528 */ cpu->f[10] = cpu->f[0] - cpu->f[7];
|
|
/* 027DE52C */ _t51 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DE52C */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
/* 027DE530 */ /* nop */
|
|
/* 027DE534 */ _t52 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE534 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[10]);
|
|
/* 027DE538 */ /* nop */
|
|
/* 027DE53C */ _t53 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027DE540 */ /* nop */
|
|
/* 027DE544 */ _t54 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE544 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027DE548 */ _t55 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027DE54C */ _t56 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE54C */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 027DE550 */ _t57 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027DE554 */ _t58 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DE554 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 027DE558 */ cpu->f[7] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE55C */ _t59 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DE55C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027DE560 */ _t60 = cpu->r[1] + 0x00000074u;
|
|
/* 027DE560 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 027DE564 */ cpu->f[8] = fma(cpu->f[10], cpu->f[10], cpu->f[7]);
|
|
/* 027DE568 */ _t61 = cpu->r[1] + 0x00000074u;
|
|
/* 027DE568 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027DE56C */ cpu->f[5] = fma(cpu->f[6], cpu->f[6], cpu->f[8]);
|
|
/* 027DE570 */ _t62 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE570 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[6]);
|
|
/* 027DE574 */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 027DE574 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 027DE578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 027DE57C */ _t64 = cpu->r[30] + 0x00000004u;
|
|
/* 027DE57C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 027DE580 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE580 */ _t66 = _t65 & 0x00000001u;
|
|
/* 027DE580 */ if (_t66) goto L_027DE584; else goto L_027DE5B4;
|
|
L_027DE584: ; // 0x27de584
|
|
/* 027DE584 */ _ft67 = sqrt(cpu->f[5]);
|
|
/* 027DE584 */ _ft68 = (double)(int32_t)0x00000001u;
|
|
/* 027DE584 */ cpu->f[0] = _ft68 / _ft67;
|
|
/* 027DE588 */ cpu->f[7] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE58C */ cpu->f[8] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE590 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[5], -(cpu->f[13]));
|
|
/* 027DE594 */ cpu->f[0] = cpu->f[7] * cpu->f[8];
|
|
/* 027DE598 */ /* nop */
|
|
/* 027DE59C */ _t69 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE59C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DE5A0 */ /* nop */
|
|
/* 027DE5A4 */ cpu->f[6] = cpu->f[6] * cpu->f[0];
|
|
/* 027DE5A8 */ /* nop */
|
|
/* 027DE5AC */ cpu->f[5] = cpu->f[5] * cpu->f[0];
|
|
/* 027DE5B0 */ _t70 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE5B0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[6]);
|
|
L_027DE5B4: ; // 0x27de5b4
|
|
/* 027DE5B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 027DE5B8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE5B8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027DE5B8 */ if (_t72) goto L_027DE5BC; else goto L_027DE5D8;
|
|
L_027DE5BC: ; // 0x27de5bc
|
|
/* 027DE5BC */ cpu->r[7] = 0x101F0000u;
|
|
/* 027DE5C0 */ _t73 = cpu->r[7] + 0x00003864u;
|
|
/* 027DE5C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 027DE5C0 */ cpu->r[7] = _t73;
|
|
/* 027DE5C4 */ _t74 = cpu->r[30] + 0x00000000u;
|
|
/* 027DE5C4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[10]);
|
|
/* 027DE5C8 */ _t75 = cpu->r[7] + 0x00000004u;
|
|
/* 027DE5C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DE5CC */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 027DE5CC */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 027DE5D0 */ _t77 = cpu->r[7] + 0x00000008u;
|
|
/* 027DE5D0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DE5D4 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE5D4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[6]);
|
|
L_027DE5D8: ; // 0x27de5d8
|
|
/* 027DE5D8 */ _t79 = cpu->r[29] + 0x00000010u;
|
|
/* 027DE5D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 027DE5DC */ _t80 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DE5DC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 027DE5E0 */ cpu->f[0] = cpu->f[6] * cpu->f[8];
|
|
/* 027DE5E4 */ /* nop */
|
|
/* 027DE5E8 */ /* nop */
|
|
/* 027DE5EC */ /* nop */
|
|
/* 027DE5F0 */ _t81 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE5F0 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[0]);
|
|
/* 027DE5F4 */ _t82 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027DE5F8 */ /* nop */
|
|
/* 027DE5FC */ _t83 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE5FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027DE600 */ _t84 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE600 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027DE604 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE604 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 027DE608 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE608 */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
/* 027DE60C */ /* nop */
|
|
/* 027DE610 */ _t87 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE610 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 027DE614 */ /* nop */
|
|
/* 027DE618 */ /* nop */
|
|
/* 027DE61C */ _t88 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DE620 */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027DE624 */ _t90 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE624 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DE628 */ cpu->f[9] = cpu->f[7] - cpu->f[0];
|
|
/* 027DE62C */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE62C */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 027DE630 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE630 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 027DE634 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE634 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
|
|
/* 027DE638 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE638 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027DE63C */ _t95 = cpu->r[1] + 0x00000068u;
|
|
/* 027DE63C */ rbrew_write_f32(cpu->mem, _t95, cpu->f[9]);
|
|
/* 027DE640 */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 027DE640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027DE644 */ _t97 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE644 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[13]);
|
|
/* 027DE648 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE648 */ rbrew_write32(cpu->mem, _t98, cpu->r[7]);
|
|
/* 027DE64C */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE64C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027DE650 */ _t100 = cpu->r[30] + 0x00000014u;
|
|
/* 027DE650 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[7]);
|
|
/* 027DE654 */ _t101 = cpu->r[30] + 0x00000018u;
|
|
/* 027DE654 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[9]);
|
|
L_027DE658: ; // 0x27de658
|
|
/* 027DE658 */ _t102 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027DE65C */ _t103 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027DE660 */ _t104 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DE664 */ cpu->lr = cpu->r[0];
|
|
/* 027DE668 */ _t105 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027DE66C */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027DE670 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE674 */ return;
|
|
}
|
|
|
|
// fn_027DE3D0 @ 0x27de3d0
|
|
void Gambit_fn_027DE3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _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, _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;
|
|
double _ft20, _ft21, _ft67, _ft68;
|
|
|
|
L_027DE3D0: ; // 0x27de3d0
|
|
/* 027DE3D0 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 027DE3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DE3D0 */ cpu->r[1] = _t0;
|
|
/* 027DE3D4 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DE3D8 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027DE3DC */ cpu->r[30] = cpu->r[5];
|
|
/* 027DE3E0 */ _t3 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DE3E4 */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE3E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DE3E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027DE3EC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027DE3F0 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 027DE3F4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DE3F8 */ Gambit_fn_027DCE08(cpu);
|
|
/* 027DE3FC */ _t5 = cpu->r[29] + 0x00000010u;
|
|
/* 027DE3FC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DE400 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DE400 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DE404 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 027DE408 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DE40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DE410 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE410 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DE410 */ if (_t8) goto L_027DE434; else goto L_027DE414;
|
|
L_027DE414: ; // 0x27de414
|
|
/* 027DE414 */ _t9 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE414 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DE418 */ _t10 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DE41C */ _t11 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE41C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DE420 */ cpu->lr = cpu->r[0];
|
|
/* 027DE424 */ _t12 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DE428 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027DE42C */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE430 */ return;
|
|
L_027DE434: ; // 0x27de434
|
|
/* 027DE434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DE438 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE438 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DE438 */ if (_t14) goto L_027DE658; else goto L_027DE43C;
|
|
L_027DE43C: ; // 0x27de43c
|
|
/* 027DE43C */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE440 */ _t15 = cpu->r[12] + 0xFFFFED9Cu;
|
|
/* 027DE440 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DE444 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE448 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 027DE44C */ _t16 = cpu->r[12] + 0xFFFFEDA0u;
|
|
/* 027DE44C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DE450 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DE454 */ _t17 = cpu->r[11] + 0xFFFFEDA4u;
|
|
/* 027DE454 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DE458 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE458 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DE458 */ if (_t19) goto L_027DE464; else goto L_027DE45C;
|
|
L_027DE45C: ; // 0x27de45c
|
|
/* 027DE45C */ cpu->f[0] = cpu->f[11];
|
|
/* 027DE460 */ goto L_027DE478;
|
|
L_027DE464: ; // 0x27de464
|
|
/* 027DE464 */ _ft20 = sqrt(cpu->f[1]);
|
|
/* 027DE464 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 027DE464 */ cpu->f[0] = _ft21 / _ft20;
|
|
/* 027DE468 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE46C */ cpu->f[9] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE470 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[1], -(cpu->f[13]));
|
|
/* 027DE474 */ cpu->f[0] = cpu->f[10] * cpu->f[9];
|
|
L_027DE478: ; // 0x27de478
|
|
/* 027DE478 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[1], -(cpu->f[8]));
|
|
/* 027DE47C */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE47C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 027DE480 */ /* nop */
|
|
/* 027DE484 */ /* nop */
|
|
/* 027DE488 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027DE488 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DE48C */ /* nop */
|
|
/* 027DE490 */ /* nop */
|
|
/* 027DE494 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 027DE494 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DE498 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE498 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DE49C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE49C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027DE4A0 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DE4A4 */ cpu->f[7] = cpu->f[0] - cpu->f[10];
|
|
/* 027DE4A8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE4A8 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
/* 027DE4AC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE4AC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027DE4B0 */ /* nop */
|
|
/* 027DE4B4 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE4B4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[7]);
|
|
/* 027DE4B8 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DE4B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027DE4BC */ /* nop */
|
|
/* 027DE4C0 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE4C0 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 027DE4C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE4C4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DE4C8 */ /* nop */
|
|
/* 027DE4CC */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 027DE4CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027DE4D0 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 027DE4D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DE4D4 */ cpu->f[8] = cpu->f[10] * cpu->f[8];
|
|
/* 027DE4D8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE4D8 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 027DE4DC */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE4DC */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 027DE4E0 */ /* nop */
|
|
/* 027DE4E4 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE4E4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[8]);
|
|
/* 027DE4E8 */ _t39 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027DE4EC */ /* nop */
|
|
/* 027DE4F0 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE4F0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027DE4F4 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE4F4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DE4F8 */ /* nop */
|
|
/* 027DE4FC */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE4FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DE500 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DE504 */ cpu->f[7] = cpu->f[9] + cpu->f[10];
|
|
/* 027DE508 */ /* nop */
|
|
/* 027DE50C */ _t44 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DE50C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DE510 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE510 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[7]);
|
|
/* 027DE514 */ _t46 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027DE518 */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DE51C */ _t48 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE51C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 027DE520 */ _t49 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE520 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027DE524 */ _t50 = cpu->r[1] + 0x00000078u;
|
|
/* 027DE524 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 027DE528 */ cpu->f[10] = cpu->f[0] - cpu->f[7];
|
|
/* 027DE52C */ _t51 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DE52C */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
/* 027DE530 */ /* nop */
|
|
/* 027DE534 */ _t52 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE534 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[10]);
|
|
/* 027DE538 */ /* nop */
|
|
/* 027DE53C */ _t53 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027DE540 */ /* nop */
|
|
/* 027DE544 */ _t54 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE544 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027DE548 */ _t55 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE548 */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027DE54C */ _t56 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE54C */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 027DE550 */ _t57 = cpu->r[1] + 0x00000070u;
|
|
/* 027DE550 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027DE554 */ _t58 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DE554 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 027DE558 */ cpu->f[7] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE55C */ _t59 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DE55C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027DE560 */ _t60 = cpu->r[1] + 0x00000074u;
|
|
/* 027DE560 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 027DE564 */ cpu->f[8] = fma(cpu->f[10], cpu->f[10], cpu->f[7]);
|
|
/* 027DE568 */ _t61 = cpu->r[1] + 0x00000074u;
|
|
/* 027DE568 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027DE56C */ cpu->f[5] = fma(cpu->f[6], cpu->f[6], cpu->f[8]);
|
|
/* 027DE570 */ _t62 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE570 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[6]);
|
|
/* 027DE574 */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 027DE574 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 027DE578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 027DE57C */ _t64 = cpu->r[30] + 0x00000004u;
|
|
/* 027DE57C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 027DE580 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE580 */ _t66 = _t65 & 0x00000001u;
|
|
/* 027DE580 */ if (_t66) goto L_027DE584; else goto L_027DE5B4;
|
|
L_027DE584: ; // 0x27de584
|
|
/* 027DE584 */ _ft67 = sqrt(cpu->f[5]);
|
|
/* 027DE584 */ _ft68 = (double)(int32_t)0x00000001u;
|
|
/* 027DE584 */ cpu->f[0] = _ft68 / _ft67;
|
|
/* 027DE588 */ cpu->f[7] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE58C */ cpu->f[8] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE590 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[5], -(cpu->f[13]));
|
|
/* 027DE594 */ cpu->f[0] = cpu->f[7] * cpu->f[8];
|
|
/* 027DE598 */ /* nop */
|
|
/* 027DE59C */ _t69 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE59C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DE5A0 */ /* nop */
|
|
/* 027DE5A4 */ cpu->f[6] = cpu->f[6] * cpu->f[0];
|
|
/* 027DE5A8 */ /* nop */
|
|
/* 027DE5AC */ cpu->f[5] = cpu->f[5] * cpu->f[0];
|
|
/* 027DE5B0 */ _t70 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE5B0 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[6]);
|
|
L_027DE5B4: ; // 0x27de5b4
|
|
/* 027DE5B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 027DE5B8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE5B8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027DE5B8 */ if (_t72) goto L_027DE5BC; else goto L_027DE5D8;
|
|
L_027DE5BC: ; // 0x27de5bc
|
|
/* 027DE5BC */ cpu->r[7] = 0x101F0000u;
|
|
/* 027DE5C0 */ _t73 = cpu->r[7] + 0x00003864u;
|
|
/* 027DE5C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 027DE5C0 */ cpu->r[7] = _t73;
|
|
/* 027DE5C4 */ _t74 = cpu->r[30] + 0x00000000u;
|
|
/* 027DE5C4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[10]);
|
|
/* 027DE5C8 */ _t75 = cpu->r[7] + 0x00000004u;
|
|
/* 027DE5C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DE5CC */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 027DE5CC */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 027DE5D0 */ _t77 = cpu->r[7] + 0x00000008u;
|
|
/* 027DE5D0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DE5D4 */ _t78 = cpu->r[30] + 0x00000008u;
|
|
/* 027DE5D4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[6]);
|
|
L_027DE5D8: ; // 0x27de5d8
|
|
/* 027DE5D8 */ _t79 = cpu->r[29] + 0x00000010u;
|
|
/* 027DE5D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 027DE5DC */ _t80 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DE5DC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 027DE5E0 */ cpu->f[0] = cpu->f[6] * cpu->f[8];
|
|
/* 027DE5E4 */ /* nop */
|
|
/* 027DE5E8 */ /* nop */
|
|
/* 027DE5EC */ /* nop */
|
|
/* 027DE5F0 */ _t81 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE5F0 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[0]);
|
|
/* 027DE5F4 */ _t82 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027DE5F8 */ /* nop */
|
|
/* 027DE5FC */ _t83 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE5FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027DE600 */ _t84 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE600 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027DE604 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 027DE604 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 027DE608 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DE608 */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
/* 027DE60C */ /* nop */
|
|
/* 027DE610 */ _t87 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE610 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 027DE614 */ /* nop */
|
|
/* 027DE618 */ /* nop */
|
|
/* 027DE61C */ _t88 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DE620 */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE620 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027DE624 */ _t90 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE624 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027DE628 */ cpu->f[9] = cpu->f[7] - cpu->f[0];
|
|
/* 027DE62C */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE62C */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 027DE630 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE630 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 027DE634 */ _t93 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE634 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
|
|
/* 027DE638 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE638 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027DE63C */ _t95 = cpu->r[1] + 0x00000068u;
|
|
/* 027DE63C */ rbrew_write_f32(cpu->mem, _t95, cpu->f[9]);
|
|
/* 027DE640 */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 027DE640 */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027DE644 */ _t97 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE644 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[13]);
|
|
/* 027DE648 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE648 */ rbrew_write32(cpu->mem, _t98, cpu->r[7]);
|
|
/* 027DE64C */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE64C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027DE650 */ _t100 = cpu->r[30] + 0x00000014u;
|
|
/* 027DE650 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[7]);
|
|
/* 027DE654 */ _t101 = cpu->r[30] + 0x00000018u;
|
|
/* 027DE654 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[9]);
|
|
L_027DE658: ; // 0x27de658
|
|
/* 027DE658 */ _t102 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027DE65C */ _t103 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027DE660 */ _t104 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DE664 */ cpu->lr = cpu->r[0];
|
|
/* 027DE668 */ _t105 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DE668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027DE66C */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027DE670 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE674 */ return;
|
|
}
|
|
|
|
// fn_027DE678 @ 0x27de678
|
|
void Gambit_fn_027DE678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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, _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;
|
|
double _ft51, _ft52, _ft80, _ft81;
|
|
|
|
L_027DE678: ; // 0x27de678
|
|
/* 027DE678 */ cpu->r[0] = cpu->lr;
|
|
/* 027DE67C */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 027DE67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DE67C */ cpu->r[1] = _t0;
|
|
/* 027DE680 */ _t1 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE680 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027DE684 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE684 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DE688 */ /* nop */
|
|
/* 027DE68C */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE68C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027DE690 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DE694 */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE694 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DE698 */ _t5 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE698 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DE69C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE69C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DE6A0 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DE6A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DE6A4 */ /* nop */
|
|
/* 027DE6A8 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DE6AC */ /* nop */
|
|
/* 027DE6B0 */ _t8 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DE6B0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DE6B4 */ /* nop */
|
|
/* 027DE6B8 */ /* nop */
|
|
/* 027DE6BC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE6BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DE6C0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE6C0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027DE6C4 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE6C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DE6C8 */ _t12 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE6C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027DE6CC */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE6CC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DE6D0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DE6D4 */ _t15 = cpu->r[4] + 0x00000020u;
|
|
/* 027DE6D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DE6D8 */ _t16 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE6D8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027DE6DC */ _t17 = cpu->r[4] + 0x00000024u;
|
|
/* 027DE6DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DE6E0 */ cpu->f[9] = cpu->f[10] * cpu->f[3];
|
|
/* 027DE6E4 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE6E4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DE6E8 */ _t19 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE6E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 027DE6EC */ _t20 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE6EC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DE6F0 */ cpu->f[11] = fma(cpu->f[8], cpu->f[7], cpu->f[9]);
|
|
/* 027DE6F4 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE6F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027DE6F8 */ _t22 = cpu->r[4] + 0x00000038u;
|
|
/* 027DE6F8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027DE6FC */ cpu->f[6] = fma(cpu->f[12], cpu->f[2], cpu->f[11]);
|
|
/* 027DE700 */ cpu->f[0] = cpu->f[5] + cpu->f[1];
|
|
/* 027DE704 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[0]);
|
|
/* 027DE708 */ cpu->r[9] = cpu->r[4] + 0x00000034u;
|
|
/* 027DE70C */ cpu->r[31] = cpu->r[5];
|
|
/* 027DE710 */ cpu->r[11] = cpu->r[30] + 0x00000010u;
|
|
/* 027DE714 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE714 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DE714 */ if (_t24) goto L_027DE718; else goto L_027DE8E0;
|
|
L_027DE718: ; // 0x27de718
|
|
/* 027DE718 */ cpu->f[13] = -cpu->f[0];
|
|
/* 027DE71C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 027DE720 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE720 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027DE720 */ if (_t26) goto L_027DE724; else goto L_027DE8E0;
|
|
L_027DE724: ; // 0x27de724
|
|
/* 027DE724 */ _t27 = cpu->r[4] + 0x00000014u;
|
|
/* 027DE724 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027DE728 */ _t28 = cpu->r[4] + 0x00000010u;
|
|
/* 027DE728 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DE72C */ cpu->f[10] = cpu->f[11] * cpu->f[3];
|
|
/* 027DE730 */ _t29 = cpu->r[9] + 0x00000000u;
|
|
/* 027DE730 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027DE734 */ cpu->f[12] = fma(cpu->f[8], cpu->f[7], cpu->f[10]);
|
|
/* 027DE738 */ _t30 = cpu->r[4] + 0x00000018u;
|
|
/* 027DE738 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DE73C */ cpu->f[0] = cpu->f[4] + cpu->f[1];
|
|
/* 027DE740 */ cpu->f[31] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 027DE744 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027DE748 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE748 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DE748 */ if (_t32) goto L_027DE74C; else goto L_027DE8E0;
|
|
L_027DE74C: ; // 0x27de74c
|
|
/* 027DE74C */ cpu->f[0] = -cpu->f[0];
|
|
/* 027DE750 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027DE754 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE754 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027DE754 */ if (_t34) goto L_027DE758; else goto L_027DE8E0;
|
|
L_027DE758: ; // 0x27de758
|
|
/* 027DE758 */ _t35 = cpu->r[4] + 0x0000002Cu;
|
|
/* 027DE758 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DE75C */ _t36 = cpu->r[4] + 0x00000028u;
|
|
/* 027DE75C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027DE760 */ cpu->f[11] = cpu->f[13] * cpu->f[3];
|
|
/* 027DE764 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 027DE764 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 027DE768 */ cpu->f[7] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 027DE76C */ _t38 = cpu->r[4] + 0x00000030u;
|
|
/* 027DE76C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027DE770 */ cpu->f[0] = cpu->f[8] + cpu->f[1];
|
|
/* 027DE774 */ cpu->f[3] = fma(cpu->f[11], cpu->f[2], cpu->f[7]);
|
|
/* 027DE778 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[0]);
|
|
/* 027DE77C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE77C */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DE77C */ if (_t40) goto L_027DE780; else goto L_027DE8E0;
|
|
L_027DE780: ; // 0x27de780
|
|
/* 027DE780 */ cpu->f[12] = -cpu->f[0];
|
|
/* 027DE784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DE788 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE788 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027DE788 */ if (_t42) goto L_027DE78C; else goto L_027DE8E0;
|
|
L_027DE78C: ; // 0x27de78c
|
|
/* 027DE78C */ cpu->f[13] = cpu->f[31] * cpu->f[31];
|
|
/* 027DE790 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DE794 */ cpu->f[12] = cpu->f[8] / cpu->f[4];
|
|
/* 027DE798 */ _t43 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DE798 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DE79C */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 027DE7A0 */ cpu->f[7] = cpu->f[3] * cpu->f[3];
|
|
/* 027DE7A4 */ cpu->r[5] = 0x10110000u;
|
|
/* 027DE7A8 */ cpu->f[4] = fma(cpu->f[0], cpu->f[12], cpu->f[7]);
|
|
/* 027DE7AC */ _t44 = cpu->r[5] + 0xFFFFEDA0u;
|
|
/* 027DE7AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DE7B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE7B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE7B8 */ _t45 = cpu->r[12] + 0xFFFFEDA4u;
|
|
/* 027DE7B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027DE7BC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE7BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 027DE7BC */ if (_t47) goto L_027DE7D8; else goto L_027DE7C0;
|
|
L_027DE7C0: ; // 0x27de7c0
|
|
/* 027DE7C0 */ cpu->f[7] = cpu->f[11] * cpu->f[4];
|
|
/* 027DE7C4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DE7C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[8]);
|
|
/* 027DE7CC */ _t48 = cpu->r[10] + 0xFFFFEDA8u;
|
|
/* 027DE7CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 027DE7D0 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE7D0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027DE7D0 */ if (_t50) goto L_027DE7D4; else goto L_027DE82C;
|
|
L_027DE7D4: ; // 0x27de7d4
|
|
/* 027DE7D4 */ goto L_027DE808;
|
|
L_027DE7D8: ; // 0x27de7d8
|
|
/* 027DE7D8 */ _ft51 = sqrt(cpu->f[4]);
|
|
/* 027DE7D8 */ _ft52 = (double)(int32_t)0x00000001u;
|
|
/* 027DE7D8 */ cpu->f[10] = _ft52 / _ft51;
|
|
/* 027DE7DC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE7E0 */ cpu->f[9] = cpu->f[10] * cpu->f[12];
|
|
/* 027DE7E4 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[4], -(cpu->f[13]));
|
|
/* 027DE7E8 */ cpu->f[10] = cpu->f[7] * cpu->f[9];
|
|
/* 027DE7EC */ cpu->f[7] = cpu->f[10] * cpu->f[4];
|
|
/* 027DE7F0 */ _t53 = cpu->r[9] + 0x00000008u;
|
|
/* 027DE7F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DE7F4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DE7F8 */ _t54 = cpu->r[10] + 0xFFFFEDA8u;
|
|
/* 027DE7F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027DE7FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[8]);
|
|
/* 027DE800 */ _t55 = cpu->r[9] + 0x00000004u;
|
|
/* 027DE800 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DE804 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE804 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027DE804 */ if (_t57) goto L_027DE808; else goto L_027DE82C;
|
|
L_027DE808: ; // 0x27de808
|
|
/* 027DE808 */ cpu->f[8] = cpu->f[8] / cpu->f[7];
|
|
/* 027DE80C */ cpu->f[0] = cpu->f[9] - cpu->f[8];
|
|
/* 027DE810 */ cpu->f[4] = cpu->f[3] * cpu->f[0];
|
|
/* 027DE814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[5]);
|
|
/* 027DE818 */ cpu->f[0] = cpu->f[31] * cpu->f[0];
|
|
/* 027DE81C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE81C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[4]);
|
|
/* 027DE820 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE820 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 027DE824 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE824 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027DE824 */ if (_t61) goto L_027DE828; else goto L_027DE864;
|
|
L_027DE828: ; // 0x27de828
|
|
/* 027DE828 */ goto L_027DE844;
|
|
L_027DE82C: ; // 0x27de82c
|
|
/* 027DE82C */ cpu->f[4] = cpu->f[11];
|
|
/* 027DE830 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[5]);
|
|
/* 027DE834 */ cpu->f[0] = cpu->f[4];
|
|
/* 027DE838 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE838 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 027DE83C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE83C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 027DE840 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE840 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027DE840 */ if (_t65) goto L_027DE844; else goto L_027DE864;
|
|
L_027DE844: ; // 0x27de844
|
|
/* 027DE844 */ cpu->f[10] = cpu->f[6] - cpu->f[5];
|
|
/* 027DE848 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE84C */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE850 */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE854 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE858 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE858 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 027DE85C */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE85C */ _t68 = _t67 & 0x00000001u;
|
|
/* 027DE85C */ if (_t68) goto L_027DE860; else goto L_027DE8A8;
|
|
L_027DE860: ; // 0x27de860
|
|
/* 027DE860 */ goto L_027DE8BC;
|
|
L_027DE864: ; // 0x27de864
|
|
/* 027DE864 */ cpu->f[10] = -cpu->f[5];
|
|
/* 027DE868 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[10]);
|
|
/* 027DE86C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE86C */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DE86C */ if (_t70) goto L_027DE870; else goto L_027DE890;
|
|
L_027DE870: ; // 0x27de870
|
|
/* 027DE870 */ cpu->f[10] = cpu->f[6] + cpu->f[5];
|
|
/* 027DE874 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE878 */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE87C */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE880 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE884 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE884 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 027DE888 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE888 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027DE888 */ if (_t73) goto L_027DE88C; else goto L_027DE8A8;
|
|
L_027DE88C: ; // 0x27de88c
|
|
/* 027DE88C */ goto L_027DE8BC;
|
|
L_027DE890: ; // 0x27de890
|
|
/* 027DE890 */ cpu->f[7] = cpu->f[11] * cpu->f[11];
|
|
/* 027DE894 */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE898 */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE89C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE8A0 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE8A0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[11]);
|
|
/* 027DE8A4 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE8A4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DE8A4 */ if (_t76) goto L_027DE8BC; else goto L_027DE8A8;
|
|
L_027DE8A8: ; // 0x27de8a8
|
|
/* 027DE8A8 */ cpu->f[10] = cpu->f[11] * cpu->f[4];
|
|
/* 027DE8AC */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 027DE8AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DE8B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 027DE8B4 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8B4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027DE8B4 */ if (_t79) goto L_027DE908; else goto L_027DE8B8;
|
|
L_027DE8B8: ; // 0x27de8b8
|
|
/* 027DE8B8 */ goto L_027DE8E0;
|
|
L_027DE8BC: ; // 0x27de8bc
|
|
/* 027DE8BC */ _ft80 = sqrt(cpu->f[4]);
|
|
/* 027DE8BC */ _ft81 = (double)(int32_t)0x00000001u;
|
|
/* 027DE8BC */ cpu->f[0] = _ft81 / _ft80;
|
|
/* 027DE8C0 */ cpu->f[8] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE8C4 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE8C8 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[4], -(cpu->f[13]));
|
|
/* 027DE8CC */ cpu->f[0] = cpu->f[8] * cpu->f[10];
|
|
/* 027DE8D0 */ cpu->f[10] = cpu->f[0] * cpu->f[4];
|
|
/* 027DE8D4 */ _t82 = cpu->r[11] + 0x00000000u;
|
|
/* 027DE8D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 027DE8D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 027DE8DC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8DC */ _t84 = _t83 & 0x00000001u;
|
|
/* 027DE8DC */ if (_t84) goto L_027DE908; else goto L_027DE8E0;
|
|
L_027DE8E0: ; // 0x27de8e0
|
|
/* 027DE8E0 */ _t85 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE8E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027DE8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE8E8 */ _t86 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE8E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DE8EC */ _t87 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE8EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 027DE8F0 */ _t88 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DE8F4 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8F4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 027DE8F4 */ if (_t90) goto L_027DE8F8; // else: addr-0 trap, fall-through
|
|
L_027DE8F8: ; // 0x27de8f8
|
|
/* 027DE8F8 */ _t91 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027DE8FC */ cpu->lr = cpu->r[0];
|
|
/* 027DE900 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DE904 */ return;
|
|
L_027DE908: ; // 0x27de908
|
|
/* 027DE908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DE90C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE90C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027DE90C */ if (_t93) goto L_027DE910; else goto L_027DE938;
|
|
L_027DE910: ; // 0x27de910
|
|
/* 027DE910 */ _t94 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE910 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027DE914 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE918 */ _t95 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027DE91C */ _t96 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE91C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 027DE920 */ _t97 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027DE924 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE924 */ _t99 = _t98 & 0x00000001u;
|
|
/* 027DE924 */ if (_t99) goto L_027DE928; // else: addr-0 trap, fall-through
|
|
L_027DE928: ; // 0x27de928
|
|
/* 027DE928 */ _t100 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DE92C */ cpu->lr = cpu->r[0];
|
|
/* 027DE930 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DE934 */ return;
|
|
L_027DE938: ; // 0x27de938
|
|
/* 027DE938 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 027DE93C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE93C */ _t102 = _t101 & 0x00000001u;
|
|
/* 027DE93C */ if (_t102) goto L_027DE940; else goto L_027DEAE0;
|
|
L_027DE940: ; // 0x27de940
|
|
/* 027DE940 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[11]);
|
|
/* 027DE944 */ _t103 = cpu->r[9] + 0x00000004u;
|
|
/* 027DE944 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 027DE948 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE948 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027DE948 */ if (_t105) goto L_027DE9F8; else goto L_027DE94C;
|
|
L_027DE94C: ; // 0x27de94c
|
|
/* 027DE94C */ cpu->f[0] = cpu->f[11] - cpu->f[6];
|
|
/* 027DE950 */ cpu->f[7] = cpu->f[0] + cpu->f[1];
|
|
/* 027DE954 */ _t106 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE954 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[7]);
|
|
/* 027DE958 */ _t107 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DE958 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027DE95C */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 027DE95C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[8]);
|
|
/* 027DE960 */ _t109 = cpu->r[4] + 0x00000020u;
|
|
/* 027DE960 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 027DE964 */ _t110 = cpu->r[31] + 0x00000004u;
|
|
/* 027DE964 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[9]);
|
|
/* 027DE968 */ _t111 = cpu->r[4] + 0x00000024u;
|
|
/* 027DE968 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 027DE96C */ _t112 = cpu->r[31] + 0x00000008u;
|
|
/* 027DE96C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]);
|
|
/* 027DE970 */ _t113 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE970 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 027DE974 */ /* nop */
|
|
/* 027DE978 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DE97C */ _t114 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE97C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 027DE980 */ /* nop */
|
|
/* 027DE984 */ /* nop */
|
|
/* 027DE988 */ _t115 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 027DE98C */ _t116 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE98C */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 027DE990 */ _t117 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE990 */ rbrew_write32(cpu->mem, _t117, cpu->r[7]);
|
|
/* 027DE994 */ _t118 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE994 */ rbrew_write32(cpu->mem, _t118, cpu->r[8]);
|
|
/* 027DE998 */ /* nop */
|
|
/* 027DE99C */ /* nop */
|
|
/* 027DE9A0 */ _t119 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE9A0 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[9]);
|
|
/* 027DE9A4 */ _t120 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DE9A8 */ /* nop */
|
|
/* 027DE9AC */ /* nop */
|
|
/* 027DE9B0 */ _t121 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE9B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027DE9B4 */ _t122 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE9B4 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
/* 027DE9B8 */ _t123 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE9B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 027DE9BC */ _t124 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027DE9C0 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DE9C4 */ _t125 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE9C4 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 027DE9C8 */ _t126 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE9C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DE9CC */ _t127 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE9CC */ rbrew_write32(cpu->mem, _t127, cpu->r[0]);
|
|
/* 027DE9D0 */ _t128 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 027DE9D4 */ _t129 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE9D4 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[0]);
|
|
/* 027DE9D8 */ _t130 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE9D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027DE9DC */ _t131 = cpu->r[31] + 0x00000010u;
|
|
/* 027DE9DC */ rbrew_write_f32(cpu->mem, _t131, cpu->f[9]);
|
|
/* 027DE9E0 */ _t132 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE9E0 */ rbrew_write32(cpu->mem, _t132, cpu->r[7]);
|
|
/* 027DE9E4 */ _t133 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE9E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027DE9E8 */ _t134 = cpu->r[31] + 0x00000014u;
|
|
/* 027DE9E8 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[13]);
|
|
/* 027DE9EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE9F0 */ _t135 = cpu->r[31] + 0x00000018u;
|
|
/* 027DE9F0 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[0]);
|
|
/* 027DE9F4 */ goto L_027DEBCC;
|
|
L_027DE9F8: ; // 0x27de9f8
|
|
/* 027DE9F8 */ cpu->f[10] = cpu->f[11] + cpu->f[6];
|
|
/* 027DE9FC */ cpu->f[12] = cpu->f[10] + cpu->f[1];
|
|
/* 027DEA00 */ _t136 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEA00 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[12]);
|
|
/* 027DEA04 */ _t137 = cpu->r[4] + 0x00000024u;
|
|
/* 027DEA04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 027DEA08 */ _t138 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DEA08 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 027DEA0C */ cpu->f[10] = -cpu->f[11];
|
|
/* 027DEA10 */ _t139 = cpu->r[4] + 0x00000020u;
|
|
/* 027DEA10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 027DEA14 */ cpu->f[13] = -cpu->f[7];
|
|
/* 027DEA18 */ _t140 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEA18 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[10]);
|
|
/* 027DEA1C */ cpu->f[8] = -cpu->f[9];
|
|
/* 027DEA20 */ _t141 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEA20 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[13]);
|
|
/* 027DEA24 */ _t142 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEA24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027DEA28 */ _t143 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEA28 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[8]);
|
|
/* 027DEA2C */ _t144 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 027DEA30 */ _t145 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEA30 */ rbrew_write32(cpu->mem, _t145, cpu->r[12]);
|
|
/* 027DEA34 */ _t146 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEA34 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 027DEA38 */ _t147 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEA38 */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
|
|
/* 027DEA3C */ _t148 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEA3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 027DEA40 */ _t149 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149);
|
|
/* 027DEA44 */ _t150 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEA44 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[8]);
|
|
/* 027DEA48 */ _t151 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEA48 */ rbrew_write32(cpu->mem, _t151, cpu->r[0]);
|
|
/* 027DEA4C */ _t152 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEA4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 027DEA50 */ _t153 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEA50 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[9]);
|
|
/* 027DEA54 */ _t154 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEA54 */ rbrew_write_f32(cpu->mem, _t154, cpu->f[8]);
|
|
/* 027DEA58 */ _t155 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEA58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 027DEA5C */ /* nop */
|
|
/* 027DEA60 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DEA64 */ _t156 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEA64 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 027DEA68 */ /* nop */
|
|
/* 027DEA6C */ /* nop */
|
|
/* 027DEA70 */ _t157 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEA70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027DEA74 */ _t158 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEA74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158);
|
|
/* 027DEA78 */ _t159 = cpu->r[1] + 0x00000080u;
|
|
/* 027DEA78 */ rbrew_write32(cpu->mem, _t159, cpu->r[7]);
|
|
/* 027DEA7C */ _t160 = cpu->r[1] + 0x00000084u;
|
|
/* 027DEA7C */ rbrew_write32(cpu->mem, _t160, cpu->r[8]);
|
|
/* 027DEA80 */ /* nop */
|
|
/* 027DEA84 */ /* nop */
|
|
/* 027DEA88 */ _t161 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEA88 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[9]);
|
|
/* 027DEA8C */ _t162 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t162);
|
|
/* 027DEA90 */ /* nop */
|
|
/* 027DEA94 */ /* nop */
|
|
/* 027DEA98 */ _t163 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEA98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027DEA9C */ _t164 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEA9C */ rbrew_write32(cpu->mem, _t164, cpu->r[0]);
|
|
/* 027DEAA0 */ _t165 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEAA0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 027DEAA4 */ _t166 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 027DEAA8 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DEAAC */ _t167 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEAAC */ rbrew_write32(cpu->mem, _t167, cpu->r[11]);
|
|
/* 027DEAB0 */ _t168 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEAB0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 027DEAB4 */ _t169 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEAB4 */ rbrew_write32(cpu->mem, _t169, cpu->r[0]);
|
|
/* 027DEAB8 */ _t170 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEAB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 027DEABC */ _t171 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEABC */ rbrew_write_f32(cpu->mem, _t171, cpu->f[0]);
|
|
/* 027DEAC0 */ _t172 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEAC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
|
|
/* 027DEAC4 */ _t173 = cpu->r[31] + 0x00000010u;
|
|
/* 027DEAC4 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[9]);
|
|
/* 027DEAC8 */ _t174 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEAC8 */ rbrew_write32(cpu->mem, _t174, cpu->r[7]);
|
|
/* 027DEACC */ _t175 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEACC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 027DEAD0 */ _t176 = cpu->r[31] + 0x00000014u;
|
|
/* 027DEAD0 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[13]);
|
|
/* 027DEAD4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DEAD8 */ _t177 = cpu->r[31] + 0x00000018u;
|
|
/* 027DEAD8 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[0]);
|
|
/* 027DEADC */ goto L_027DEBCC;
|
|
L_027DEAE0: ; // 0x27deae0
|
|
/* 027DEAE0 */ cpu->f[12] = cpu->f[9] / cpu->f[10];
|
|
/* 027DEAE4 */ _t178 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEAE4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 027DEAE8 */ /* nop */
|
|
/* 027DEAEC */ /* nop */
|
|
/* 027DEAF0 */ /* nop */
|
|
/* 027DEAF4 */ _t179 = cpu->r[1] + 0x00000030u;
|
|
/* 027DEAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t179);
|
|
/* 027DEAF8 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 027DEAFC */ _t180 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DEAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 027DEB00 */ _t181 = cpu->r[1] + 0x00000078u;
|
|
/* 027DEB00 */ rbrew_write32(cpu->mem, _t181, cpu->r[7]);
|
|
/* 027DEB04 */ _t182 = cpu->r[1] + 0x00000078u;
|
|
/* 027DEB04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 027DEB08 */ cpu->f[10] = cpu->f[1] - cpu->f[10];
|
|
/* 027DEB0C */ _t183 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEB0C */ rbrew_write32(cpu->mem, _t183, cpu->r[0]);
|
|
/* 027DEB10 */ _t184 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEB10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 027DEB14 */ _t185 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEB14 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[8]);
|
|
/* 027DEB18 */ _t186 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 027DEB1C */ _t187 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEB1C */ rbrew_write_f32(cpu->mem, _t187, cpu->f[10]);
|
|
/* 027DEB20 */ _t188 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DEB20 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]);
|
|
/* 027DEB24 */ _t189 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DEB24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t189);
|
|
/* 027DEB28 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEB2C */ _t190 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEB2C */ rbrew_write_f32(cpu->mem, _t190, cpu->f[11]);
|
|
/* 027DEB30 */ _t191 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEB30 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[12]);
|
|
/* 027DEB34 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEB38 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DEB3C */ _t192 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEB3C */ rbrew_write_f32(cpu->mem, _t192, cpu->f[13]);
|
|
/* 027DEB40 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DEB44 */ _t193 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEB44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 027DEB48 */ _t194 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEB48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t194);
|
|
/* 027DEB4C */ /* nop */
|
|
/* 027DEB50 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DEB54 */ _t195 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEB54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t195);
|
|
/* 027DEB58 */ /* nop */
|
|
/* 027DEB5C */ /* nop */
|
|
/* 027DEB60 */ /* nop */
|
|
/* 027DEB64 */ _t196 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEB64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027DEB68 */ _t197 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEB68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t197);
|
|
/* 027DEB6C */ _t198 = cpu->r[1] + 0x00000080u;
|
|
/* 027DEB6C */ rbrew_write32(cpu->mem, _t198, cpu->r[7]);
|
|
/* 027DEB70 */ _t199 = cpu->r[1] + 0x00000084u;
|
|
/* 027DEB70 */ rbrew_write32(cpu->mem, _t199, cpu->r[8]);
|
|
/* 027DEB74 */ /* nop */
|
|
/* 027DEB78 */ _t200 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEB78 */ rbrew_write_f32(cpu->mem, _t200, cpu->f[9]);
|
|
/* 027DEB7C */ _t201 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
|
|
/* 027DEB80 */ /* nop */
|
|
/* 027DEB84 */ /* nop */
|
|
/* 027DEB88 */ _t202 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEB88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t202);
|
|
/* 027DEB8C */ _t203 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEB8C */ rbrew_write32(cpu->mem, _t203, cpu->r[0]);
|
|
/* 027DEB90 */ _t204 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEB90 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 027DEB94 */ _t205 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEB94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 027DEB98 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DEB9C */ _t206 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEB9C */ rbrew_write32(cpu->mem, _t206, cpu->r[11]);
|
|
/* 027DEBA0 */ _t207 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEBA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t207);
|
|
/* 027DEBA4 */ _t208 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEBA4 */ rbrew_write32(cpu->mem, _t208, cpu->r[0]);
|
|
/* 027DEBA8 */ _t209 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEBA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t209);
|
|
/* 027DEBAC */ _t210 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEBAC */ rbrew_write_f32(cpu->mem, _t210, cpu->f[0]);
|
|
/* 027DEBB0 */ _t211 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEBB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t211);
|
|
/* 027DEBB4 */ _t212 = cpu->r[31] + 0x00000010u;
|
|
/* 027DEBB4 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[9]);
|
|
/* 027DEBB8 */ _t213 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEBB8 */ rbrew_write32(cpu->mem, _t213, cpu->r[7]);
|
|
/* 027DEBBC */ _t214 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEBBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 027DEBC0 */ _t215 = cpu->r[31] + 0x00000014u;
|
|
/* 027DEBC0 */ rbrew_write_f32(cpu->mem, _t215, cpu->f[13]);
|
|
/* 027DEBC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DEBC8 */ _t216 = cpu->r[31] + 0x00000018u;
|
|
/* 027DEBC8 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[0]);
|
|
L_027DEBCC: ; // 0x27debcc
|
|
/* 027DEBCC */ _t217 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEBCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 027DEBD0 */ _t218 = cpu->r[1] + 0x00000094u;
|
|
/* 027DEBD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t218);
|
|
/* 027DEBD4 */ _t219 = cpu->r[1] + 0x00000098u;
|
|
/* 027DEBD4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t219);
|
|
/* 027DEBD8 */ _t220 = cpu->r[1] + 0x00000090u;
|
|
/* 027DEBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t220);
|
|
/* 027DEBDC */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEBDC */ _t222 = _t221 & 0x00000001u;
|
|
/* 027DEBDC */ if (_t222) goto L_027DEBE0; // else: addr-0 trap, fall-through
|
|
L_027DEBE0: ; // 0x27debe0
|
|
/* 027DEBE0 */ _t223 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 027DEBE4 */ cpu->lr = cpu->r[0];
|
|
/* 027DEBE8 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEBEC */ return;
|
|
}
|
|
|
|
// fn_027DE67C @ 0x27de67c
|
|
void Gambit_fn_027DE67C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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, _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;
|
|
double _ft51, _ft52, _ft80, _ft81;
|
|
|
|
L_027DE67C: ; // 0x27de67c
|
|
/* 027DE67C */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 027DE67C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DE67C */ cpu->r[1] = _t0;
|
|
/* 027DE680 */ _t1 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE680 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027DE684 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE684 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DE688 */ /* nop */
|
|
/* 027DE68C */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE68C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027DE690 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DE694 */ _t4 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE694 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027DE698 */ _t5 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE698 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DE69C */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE69C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DE6A0 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DE6A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DE6A4 */ /* nop */
|
|
/* 027DE6A8 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DE6AC */ /* nop */
|
|
/* 027DE6B0 */ _t8 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DE6B0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027DE6B4 */ /* nop */
|
|
/* 027DE6B8 */ /* nop */
|
|
/* 027DE6BC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027DE6BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DE6C0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE6C0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027DE6C4 */ _t11 = cpu->r[1] + 0x00000028u;
|
|
/* 027DE6C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DE6C8 */ _t12 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE6C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027DE6CC */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 027DE6CC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DE6D0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027DE6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DE6D4 */ _t15 = cpu->r[4] + 0x00000020u;
|
|
/* 027DE6D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DE6D8 */ _t16 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE6D8 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 027DE6DC */ _t17 = cpu->r[4] + 0x00000024u;
|
|
/* 027DE6DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DE6E0 */ cpu->f[9] = cpu->f[10] * cpu->f[3];
|
|
/* 027DE6E4 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DE6E4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DE6E8 */ _t19 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE6E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 027DE6EC */ _t20 = cpu->r[1] + 0x00000064u;
|
|
/* 027DE6EC */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DE6F0 */ cpu->f[11] = fma(cpu->f[8], cpu->f[7], cpu->f[9]);
|
|
/* 027DE6F4 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE6F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027DE6F8 */ _t22 = cpu->r[4] + 0x00000038u;
|
|
/* 027DE6F8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027DE6FC */ cpu->f[6] = fma(cpu->f[12], cpu->f[2], cpu->f[11]);
|
|
/* 027DE700 */ cpu->f[0] = cpu->f[5] + cpu->f[1];
|
|
/* 027DE704 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[0]);
|
|
/* 027DE708 */ cpu->r[9] = cpu->r[4] + 0x00000034u;
|
|
/* 027DE70C */ cpu->r[31] = cpu->r[5];
|
|
/* 027DE710 */ cpu->r[11] = cpu->r[30] + 0x00000010u;
|
|
/* 027DE714 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE714 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DE714 */ if (_t24) goto L_027DE718; else goto L_027DE8E0;
|
|
L_027DE718: ; // 0x27de718
|
|
/* 027DE718 */ cpu->f[13] = -cpu->f[0];
|
|
/* 027DE71C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 027DE720 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE720 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027DE720 */ if (_t26) goto L_027DE724; else goto L_027DE8E0;
|
|
L_027DE724: ; // 0x27de724
|
|
/* 027DE724 */ _t27 = cpu->r[4] + 0x00000014u;
|
|
/* 027DE724 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027DE728 */ _t28 = cpu->r[4] + 0x00000010u;
|
|
/* 027DE728 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DE72C */ cpu->f[10] = cpu->f[11] * cpu->f[3];
|
|
/* 027DE730 */ _t29 = cpu->r[9] + 0x00000000u;
|
|
/* 027DE730 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027DE734 */ cpu->f[12] = fma(cpu->f[8], cpu->f[7], cpu->f[10]);
|
|
/* 027DE738 */ _t30 = cpu->r[4] + 0x00000018u;
|
|
/* 027DE738 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DE73C */ cpu->f[0] = cpu->f[4] + cpu->f[1];
|
|
/* 027DE740 */ cpu->f[31] = fma(cpu->f[13], cpu->f[2], cpu->f[12]);
|
|
/* 027DE744 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027DE748 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE748 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DE748 */ if (_t32) goto L_027DE74C; else goto L_027DE8E0;
|
|
L_027DE74C: ; // 0x27de74c
|
|
/* 027DE74C */ cpu->f[0] = -cpu->f[0];
|
|
/* 027DE750 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027DE754 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE754 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027DE754 */ if (_t34) goto L_027DE758; else goto L_027DE8E0;
|
|
L_027DE758: ; // 0x27de758
|
|
/* 027DE758 */ _t35 = cpu->r[4] + 0x0000002Cu;
|
|
/* 027DE758 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DE75C */ _t36 = cpu->r[4] + 0x00000028u;
|
|
/* 027DE75C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027DE760 */ cpu->f[11] = cpu->f[13] * cpu->f[3];
|
|
/* 027DE764 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 027DE764 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 027DE768 */ cpu->f[7] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 027DE76C */ _t38 = cpu->r[4] + 0x00000030u;
|
|
/* 027DE76C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027DE770 */ cpu->f[0] = cpu->f[8] + cpu->f[1];
|
|
/* 027DE774 */ cpu->f[3] = fma(cpu->f[11], cpu->f[2], cpu->f[7]);
|
|
/* 027DE778 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[0]);
|
|
/* 027DE77C */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE77C */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DE77C */ if (_t40) goto L_027DE780; else goto L_027DE8E0;
|
|
L_027DE780: ; // 0x27de780
|
|
/* 027DE780 */ cpu->f[12] = -cpu->f[0];
|
|
/* 027DE784 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[3], cpu->f[12]);
|
|
/* 027DE788 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE788 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027DE788 */ if (_t42) goto L_027DE78C; else goto L_027DE8E0;
|
|
L_027DE78C: ; // 0x27de78c
|
|
/* 027DE78C */ cpu->f[13] = cpu->f[31] * cpu->f[31];
|
|
/* 027DE790 */ cpu->r[8] = 0x10110000u;
|
|
/* 027DE794 */ cpu->f[12] = cpu->f[8] / cpu->f[4];
|
|
/* 027DE798 */ _t43 = cpu->r[8] + 0xFFFFED9Cu;
|
|
/* 027DE798 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027DE79C */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 027DE7A0 */ cpu->f[7] = cpu->f[3] * cpu->f[3];
|
|
/* 027DE7A4 */ cpu->r[5] = 0x10110000u;
|
|
/* 027DE7A8 */ cpu->f[4] = fma(cpu->f[0], cpu->f[12], cpu->f[7]);
|
|
/* 027DE7AC */ _t44 = cpu->r[5] + 0xFFFFEDA0u;
|
|
/* 027DE7AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027DE7B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DE7B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE7B8 */ _t45 = cpu->r[12] + 0xFFFFEDA4u;
|
|
/* 027DE7B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027DE7BC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE7BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 027DE7BC */ if (_t47) goto L_027DE7D8; else goto L_027DE7C0;
|
|
L_027DE7C0: ; // 0x27de7c0
|
|
/* 027DE7C0 */ cpu->f[7] = cpu->f[11] * cpu->f[4];
|
|
/* 027DE7C4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DE7C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[8]);
|
|
/* 027DE7CC */ _t48 = cpu->r[10] + 0xFFFFEDA8u;
|
|
/* 027DE7CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 027DE7D0 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE7D0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027DE7D0 */ if (_t50) goto L_027DE7D4; else goto L_027DE82C;
|
|
L_027DE7D4: ; // 0x27de7d4
|
|
/* 027DE7D4 */ goto L_027DE808;
|
|
L_027DE7D8: ; // 0x27de7d8
|
|
/* 027DE7D8 */ _ft51 = sqrt(cpu->f[4]);
|
|
/* 027DE7D8 */ _ft52 = (double)(int32_t)0x00000001u;
|
|
/* 027DE7D8 */ cpu->f[10] = _ft52 / _ft51;
|
|
/* 027DE7DC */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE7E0 */ cpu->f[9] = cpu->f[10] * cpu->f[12];
|
|
/* 027DE7E4 */ cpu->f[7] = -fma(cpu->f[7], cpu->f[4], -(cpu->f[13]));
|
|
/* 027DE7E8 */ cpu->f[10] = cpu->f[7] * cpu->f[9];
|
|
/* 027DE7EC */ cpu->f[7] = cpu->f[10] * cpu->f[4];
|
|
/* 027DE7F0 */ _t53 = cpu->r[9] + 0x00000008u;
|
|
/* 027DE7F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027DE7F4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DE7F8 */ _t54 = cpu->r[10] + 0xFFFFEDA8u;
|
|
/* 027DE7F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027DE7FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[8]);
|
|
/* 027DE800 */ _t55 = cpu->r[9] + 0x00000004u;
|
|
/* 027DE800 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027DE804 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE804 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027DE804 */ if (_t57) goto L_027DE808; else goto L_027DE82C;
|
|
L_027DE808: ; // 0x27de808
|
|
/* 027DE808 */ cpu->f[8] = cpu->f[8] / cpu->f[7];
|
|
/* 027DE80C */ cpu->f[0] = cpu->f[9] - cpu->f[8];
|
|
/* 027DE810 */ cpu->f[4] = cpu->f[3] * cpu->f[0];
|
|
/* 027DE814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[5]);
|
|
/* 027DE818 */ cpu->f[0] = cpu->f[31] * cpu->f[0];
|
|
/* 027DE81C */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE81C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[4]);
|
|
/* 027DE820 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE820 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 027DE824 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE824 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027DE824 */ if (_t61) goto L_027DE828; else goto L_027DE864;
|
|
L_027DE828: ; // 0x27de828
|
|
/* 027DE828 */ goto L_027DE844;
|
|
L_027DE82C: ; // 0x27de82c
|
|
/* 027DE82C */ cpu->f[4] = cpu->f[11];
|
|
/* 027DE830 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[5]);
|
|
/* 027DE834 */ cpu->f[0] = cpu->f[4];
|
|
/* 027DE838 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 027DE838 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 027DE83C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027DE83C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 027DE840 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE840 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027DE840 */ if (_t65) goto L_027DE844; else goto L_027DE864;
|
|
L_027DE844: ; // 0x27de844
|
|
/* 027DE844 */ cpu->f[10] = cpu->f[6] - cpu->f[5];
|
|
/* 027DE848 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE84C */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE850 */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE854 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE858 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE858 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 027DE85C */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE85C */ _t68 = _t67 & 0x00000001u;
|
|
/* 027DE85C */ if (_t68) goto L_027DE860; else goto L_027DE8A8;
|
|
L_027DE860: ; // 0x27de860
|
|
/* 027DE860 */ goto L_027DE8BC;
|
|
L_027DE864: ; // 0x27de864
|
|
/* 027DE864 */ cpu->f[10] = -cpu->f[5];
|
|
/* 027DE868 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[10]);
|
|
/* 027DE86C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE86C */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DE86C */ if (_t70) goto L_027DE870; else goto L_027DE890;
|
|
L_027DE870: ; // 0x27de870
|
|
/* 027DE870 */ cpu->f[10] = cpu->f[6] + cpu->f[5];
|
|
/* 027DE874 */ cpu->f[7] = cpu->f[10] * cpu->f[10];
|
|
/* 027DE878 */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE87C */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE880 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE884 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE884 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 027DE888 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE888 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027DE888 */ if (_t73) goto L_027DE88C; else goto L_027DE8A8;
|
|
L_027DE88C: ; // 0x27de88c
|
|
/* 027DE88C */ goto L_027DE8BC;
|
|
L_027DE890: ; // 0x27de890
|
|
/* 027DE890 */ cpu->f[7] = cpu->f[11] * cpu->f[11];
|
|
/* 027DE894 */ cpu->f[8] = fma(cpu->f[0], cpu->f[0], cpu->f[7]);
|
|
/* 027DE898 */ cpu->f[4] = fma(cpu->f[4], cpu->f[4], cpu->f[8]);
|
|
/* 027DE89C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[4], cpu->f[11]);
|
|
/* 027DE8A0 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DE8A0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[11]);
|
|
/* 027DE8A4 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DE8A4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DE8A4 */ if (_t76) goto L_027DE8BC; else goto L_027DE8A8;
|
|
L_027DE8A8: ; // 0x27de8a8
|
|
/* 027DE8A8 */ cpu->f[10] = cpu->f[11] * cpu->f[4];
|
|
/* 027DE8AC */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 027DE8AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DE8B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 027DE8B4 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8B4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027DE8B4 */ if (_t79) goto L_027DE908; else goto L_027DE8B8;
|
|
L_027DE8B8: ; // 0x27de8b8
|
|
/* 027DE8B8 */ goto L_027DE8E0;
|
|
L_027DE8BC: ; // 0x27de8bc
|
|
/* 027DE8BC */ _ft80 = sqrt(cpu->f[4]);
|
|
/* 027DE8BC */ _ft81 = (double)(int32_t)0x00000001u;
|
|
/* 027DE8BC */ cpu->f[0] = _ft81 / _ft80;
|
|
/* 027DE8C0 */ cpu->f[8] = cpu->f[0] * cpu->f[0];
|
|
/* 027DE8C4 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 027DE8C8 */ cpu->f[8] = -fma(cpu->f[8], cpu->f[4], -(cpu->f[13]));
|
|
/* 027DE8CC */ cpu->f[0] = cpu->f[8] * cpu->f[10];
|
|
/* 027DE8D0 */ cpu->f[10] = cpu->f[0] * cpu->f[4];
|
|
/* 027DE8D4 */ _t82 = cpu->r[11] + 0x00000000u;
|
|
/* 027DE8D4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 027DE8D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[1]);
|
|
/* 027DE8DC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8DC */ _t84 = _t83 & 0x00000001u;
|
|
/* 027DE8DC */ if (_t84) goto L_027DE908; else goto L_027DE8E0;
|
|
L_027DE8E0: ; // 0x27de8e0
|
|
/* 027DE8E0 */ _t85 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE8E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027DE8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DE8E8 */ _t86 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE8E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DE8EC */ _t87 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE8EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 027DE8F0 */ _t88 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DE8F4 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE8F4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 027DE8F4 */ if (_t90) goto L_027DE8F8; // else: addr-0 trap, fall-through
|
|
L_027DE8F8: ; // 0x27de8f8
|
|
/* 027DE8F8 */ _t91 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027DE8FC */ cpu->lr = cpu->r[0];
|
|
/* 027DE900 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DE904 */ return;
|
|
L_027DE908: ; // 0x27de908
|
|
/* 027DE908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DE90C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE90C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027DE90C */ if (_t93) goto L_027DE910; else goto L_027DE938;
|
|
L_027DE910: ; // 0x27de910
|
|
/* 027DE910 */ _t94 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DE910 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027DE914 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE918 */ _t95 = cpu->r[1] + 0x00000094u;
|
|
/* 027DE918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027DE91C */ _t96 = cpu->r[1] + 0x00000098u;
|
|
/* 027DE91C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 027DE920 */ _t97 = cpu->r[1] + 0x00000090u;
|
|
/* 027DE920 */ cpu->r[30] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027DE924 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE924 */ _t99 = _t98 & 0x00000001u;
|
|
/* 027DE924 */ if (_t99) goto L_027DE928; // else: addr-0 trap, fall-through
|
|
L_027DE928: ; // 0x27de928
|
|
/* 027DE928 */ _t100 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DE928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DE92C */ cpu->lr = cpu->r[0];
|
|
/* 027DE930 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DE934 */ return;
|
|
L_027DE938: ; // 0x27de938
|
|
/* 027DE938 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 027DE93C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DE93C */ _t102 = _t101 & 0x00000001u;
|
|
/* 027DE93C */ if (_t102) goto L_027DE940; else goto L_027DEAE0;
|
|
L_027DE940: ; // 0x27de940
|
|
/* 027DE940 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[11]);
|
|
/* 027DE944 */ _t103 = cpu->r[9] + 0x00000004u;
|
|
/* 027DE944 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 027DE948 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DE948 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027DE948 */ if (_t105) goto L_027DE9F8; else goto L_027DE94C;
|
|
L_027DE94C: ; // 0x27de94c
|
|
/* 027DE94C */ cpu->f[0] = cpu->f[11] - cpu->f[6];
|
|
/* 027DE950 */ cpu->f[7] = cpu->f[0] + cpu->f[1];
|
|
/* 027DE954 */ _t106 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DE954 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[7]);
|
|
/* 027DE958 */ _t107 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DE958 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027DE95C */ _t108 = cpu->r[31] + 0x00000000u;
|
|
/* 027DE95C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[8]);
|
|
/* 027DE960 */ _t109 = cpu->r[4] + 0x00000020u;
|
|
/* 027DE960 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 027DE964 */ _t110 = cpu->r[31] + 0x00000004u;
|
|
/* 027DE964 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[9]);
|
|
/* 027DE968 */ _t111 = cpu->r[4] + 0x00000024u;
|
|
/* 027DE968 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 027DE96C */ _t112 = cpu->r[31] + 0x00000008u;
|
|
/* 027DE96C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]);
|
|
/* 027DE970 */ _t113 = cpu->r[30] + 0x00000010u;
|
|
/* 027DE970 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 027DE974 */ /* nop */
|
|
/* 027DE978 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DE97C */ _t114 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DE97C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 027DE980 */ /* nop */
|
|
/* 027DE984 */ /* nop */
|
|
/* 027DE988 */ _t115 = cpu->r[1] + 0x00000038u;
|
|
/* 027DE988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 027DE98C */ _t116 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DE98C */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 027DE990 */ _t117 = cpu->r[1] + 0x00000080u;
|
|
/* 027DE990 */ rbrew_write32(cpu->mem, _t117, cpu->r[7]);
|
|
/* 027DE994 */ _t118 = cpu->r[1] + 0x00000084u;
|
|
/* 027DE994 */ rbrew_write32(cpu->mem, _t118, cpu->r[8]);
|
|
/* 027DE998 */ /* nop */
|
|
/* 027DE99C */ /* nop */
|
|
/* 027DE9A0 */ _t119 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE9A0 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[9]);
|
|
/* 027DE9A4 */ _t120 = cpu->r[1] + 0x00000040u;
|
|
/* 027DE9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DE9A8 */ /* nop */
|
|
/* 027DE9AC */ /* nop */
|
|
/* 027DE9B0 */ _t121 = cpu->r[1] + 0x00000044u;
|
|
/* 027DE9B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027DE9B4 */ _t122 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE9B4 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
/* 027DE9B8 */ _t123 = cpu->r[1] + 0x00000088u;
|
|
/* 027DE9B8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 027DE9BC */ _t124 = cpu->r[1] + 0x00000048u;
|
|
/* 027DE9BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027DE9C0 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DE9C4 */ _t125 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE9C4 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 027DE9C8 */ _t126 = cpu->r[1] + 0x00000050u;
|
|
/* 027DE9C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DE9CC */ _t127 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE9CC */ rbrew_write32(cpu->mem, _t127, cpu->r[0]);
|
|
/* 027DE9D0 */ _t128 = cpu->r[1] + 0x00000054u;
|
|
/* 027DE9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 027DE9D4 */ _t129 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE9D4 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[0]);
|
|
/* 027DE9D8 */ _t130 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DE9D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027DE9DC */ _t131 = cpu->r[31] + 0x00000010u;
|
|
/* 027DE9DC */ rbrew_write_f32(cpu->mem, _t131, cpu->f[9]);
|
|
/* 027DE9E0 */ _t132 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE9E0 */ rbrew_write32(cpu->mem, _t132, cpu->r[7]);
|
|
/* 027DE9E4 */ _t133 = cpu->r[1] + 0x00000058u;
|
|
/* 027DE9E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027DE9E8 */ _t134 = cpu->r[31] + 0x00000014u;
|
|
/* 027DE9E8 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[13]);
|
|
/* 027DE9EC */ cpu->r[3] = 0x00000001u;
|
|
/* 027DE9F0 */ _t135 = cpu->r[31] + 0x00000018u;
|
|
/* 027DE9F0 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[0]);
|
|
/* 027DE9F4 */ goto L_027DEBCC;
|
|
L_027DE9F8: ; // 0x27de9f8
|
|
/* 027DE9F8 */ cpu->f[10] = cpu->f[11] + cpu->f[6];
|
|
/* 027DE9FC */ cpu->f[12] = cpu->f[10] + cpu->f[1];
|
|
/* 027DEA00 */ _t136 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEA00 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[12]);
|
|
/* 027DEA04 */ _t137 = cpu->r[4] + 0x00000024u;
|
|
/* 027DEA04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 027DEA08 */ _t138 = cpu->r[4] + 0x0000001Cu;
|
|
/* 027DEA08 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 027DEA0C */ cpu->f[10] = -cpu->f[11];
|
|
/* 027DEA10 */ _t139 = cpu->r[4] + 0x00000020u;
|
|
/* 027DEA10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 027DEA14 */ cpu->f[13] = -cpu->f[7];
|
|
/* 027DEA18 */ _t140 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEA18 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[10]);
|
|
/* 027DEA1C */ cpu->f[8] = -cpu->f[9];
|
|
/* 027DEA20 */ _t141 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEA20 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[13]);
|
|
/* 027DEA24 */ _t142 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEA24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027DEA28 */ _t143 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEA28 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[8]);
|
|
/* 027DEA2C */ _t144 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEA2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 027DEA30 */ _t145 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEA30 */ rbrew_write32(cpu->mem, _t145, cpu->r[12]);
|
|
/* 027DEA34 */ _t146 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEA34 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 027DEA38 */ _t147 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEA38 */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
|
|
/* 027DEA3C */ _t148 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEA3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 027DEA40 */ _t149 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149);
|
|
/* 027DEA44 */ _t150 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEA44 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[8]);
|
|
/* 027DEA48 */ _t151 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEA48 */ rbrew_write32(cpu->mem, _t151, cpu->r[0]);
|
|
/* 027DEA4C */ _t152 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEA4C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 027DEA50 */ _t153 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEA50 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[9]);
|
|
/* 027DEA54 */ _t154 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEA54 */ rbrew_write_f32(cpu->mem, _t154, cpu->f[8]);
|
|
/* 027DEA58 */ _t155 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEA58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t155);
|
|
/* 027DEA5C */ /* nop */
|
|
/* 027DEA60 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DEA64 */ _t156 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEA64 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 027DEA68 */ /* nop */
|
|
/* 027DEA6C */ /* nop */
|
|
/* 027DEA70 */ _t157 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEA70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027DEA74 */ _t158 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEA74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158);
|
|
/* 027DEA78 */ _t159 = cpu->r[1] + 0x00000080u;
|
|
/* 027DEA78 */ rbrew_write32(cpu->mem, _t159, cpu->r[7]);
|
|
/* 027DEA7C */ _t160 = cpu->r[1] + 0x00000084u;
|
|
/* 027DEA7C */ rbrew_write32(cpu->mem, _t160, cpu->r[8]);
|
|
/* 027DEA80 */ /* nop */
|
|
/* 027DEA84 */ /* nop */
|
|
/* 027DEA88 */ _t161 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEA88 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[9]);
|
|
/* 027DEA8C */ _t162 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t162);
|
|
/* 027DEA90 */ /* nop */
|
|
/* 027DEA94 */ /* nop */
|
|
/* 027DEA98 */ _t163 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEA98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027DEA9C */ _t164 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEA9C */ rbrew_write32(cpu->mem, _t164, cpu->r[0]);
|
|
/* 027DEAA0 */ _t165 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEAA0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 027DEAA4 */ _t166 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 027DEAA8 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DEAAC */ _t167 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEAAC */ rbrew_write32(cpu->mem, _t167, cpu->r[11]);
|
|
/* 027DEAB0 */ _t168 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEAB0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 027DEAB4 */ _t169 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEAB4 */ rbrew_write32(cpu->mem, _t169, cpu->r[0]);
|
|
/* 027DEAB8 */ _t170 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEAB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t170);
|
|
/* 027DEABC */ _t171 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEABC */ rbrew_write_f32(cpu->mem, _t171, cpu->f[0]);
|
|
/* 027DEAC0 */ _t172 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEAC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t172);
|
|
/* 027DEAC4 */ _t173 = cpu->r[31] + 0x00000010u;
|
|
/* 027DEAC4 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[9]);
|
|
/* 027DEAC8 */ _t174 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEAC8 */ rbrew_write32(cpu->mem, _t174, cpu->r[7]);
|
|
/* 027DEACC */ _t175 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEACC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t175);
|
|
/* 027DEAD0 */ _t176 = cpu->r[31] + 0x00000014u;
|
|
/* 027DEAD0 */ rbrew_write_f32(cpu->mem, _t176, cpu->f[13]);
|
|
/* 027DEAD4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DEAD8 */ _t177 = cpu->r[31] + 0x00000018u;
|
|
/* 027DEAD8 */ rbrew_write_f32(cpu->mem, _t177, cpu->f[0]);
|
|
/* 027DEADC */ goto L_027DEBCC;
|
|
L_027DEAE0: ; // 0x27deae0
|
|
/* 027DEAE0 */ cpu->f[12] = cpu->f[9] / cpu->f[10];
|
|
/* 027DEAE4 */ _t178 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEAE4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 027DEAE8 */ /* nop */
|
|
/* 027DEAEC */ /* nop */
|
|
/* 027DEAF0 */ /* nop */
|
|
/* 027DEAF4 */ _t179 = cpu->r[1] + 0x00000030u;
|
|
/* 027DEAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t179);
|
|
/* 027DEAF8 */ cpu->f[8] = cpu->f[7] * cpu->f[12];
|
|
/* 027DEAFC */ _t180 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DEAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 027DEB00 */ _t181 = cpu->r[1] + 0x00000078u;
|
|
/* 027DEB00 */ rbrew_write32(cpu->mem, _t181, cpu->r[7]);
|
|
/* 027DEB04 */ _t182 = cpu->r[1] + 0x00000078u;
|
|
/* 027DEB04 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 027DEB08 */ cpu->f[10] = cpu->f[1] - cpu->f[10];
|
|
/* 027DEB0C */ _t183 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEB0C */ rbrew_write32(cpu->mem, _t183, cpu->r[0]);
|
|
/* 027DEB10 */ _t184 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEB10 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 027DEB14 */ _t185 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEB14 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[8]);
|
|
/* 027DEB18 */ _t186 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 027DEB1C */ _t187 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEB1C */ rbrew_write_f32(cpu->mem, _t187, cpu->f[10]);
|
|
/* 027DEB20 */ _t188 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DEB20 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]);
|
|
/* 027DEB24 */ _t189 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DEB24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t189);
|
|
/* 027DEB28 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEB2C */ _t190 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEB2C */ rbrew_write_f32(cpu->mem, _t190, cpu->f[11]);
|
|
/* 027DEB30 */ _t191 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEB30 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[12]);
|
|
/* 027DEB34 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEB38 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DEB3C */ _t192 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEB3C */ rbrew_write_f32(cpu->mem, _t192, cpu->f[13]);
|
|
/* 027DEB40 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DEB44 */ _t193 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEB44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t193);
|
|
/* 027DEB48 */ _t194 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEB48 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t194);
|
|
/* 027DEB4C */ /* nop */
|
|
/* 027DEB50 */ cpu->f[9] = cpu->f[8] * cpu->f[0];
|
|
/* 027DEB54 */ _t195 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEB54 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t195);
|
|
/* 027DEB58 */ /* nop */
|
|
/* 027DEB5C */ /* nop */
|
|
/* 027DEB60 */ /* nop */
|
|
/* 027DEB64 */ _t196 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEB64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t196);
|
|
/* 027DEB68 */ _t197 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEB68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t197);
|
|
/* 027DEB6C */ _t198 = cpu->r[1] + 0x00000080u;
|
|
/* 027DEB6C */ rbrew_write32(cpu->mem, _t198, cpu->r[7]);
|
|
/* 027DEB70 */ _t199 = cpu->r[1] + 0x00000084u;
|
|
/* 027DEB70 */ rbrew_write32(cpu->mem, _t199, cpu->r[8]);
|
|
/* 027DEB74 */ /* nop */
|
|
/* 027DEB78 */ _t200 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEB78 */ rbrew_write_f32(cpu->mem, _t200, cpu->f[9]);
|
|
/* 027DEB7C */ _t201 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
|
|
/* 027DEB80 */ /* nop */
|
|
/* 027DEB84 */ /* nop */
|
|
/* 027DEB88 */ _t202 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEB88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t202);
|
|
/* 027DEB8C */ _t203 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEB8C */ rbrew_write32(cpu->mem, _t203, cpu->r[0]);
|
|
/* 027DEB90 */ _t204 = cpu->r[1] + 0x00000088u;
|
|
/* 027DEB90 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 027DEB94 */ _t205 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEB94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 027DEB98 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 027DEB9C */ _t206 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEB9C */ rbrew_write32(cpu->mem, _t206, cpu->r[11]);
|
|
/* 027DEBA0 */ _t207 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEBA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t207);
|
|
/* 027DEBA4 */ _t208 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEBA4 */ rbrew_write32(cpu->mem, _t208, cpu->r[0]);
|
|
/* 027DEBA8 */ _t209 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEBA8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t209);
|
|
/* 027DEBAC */ _t210 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEBAC */ rbrew_write_f32(cpu->mem, _t210, cpu->f[0]);
|
|
/* 027DEBB0 */ _t211 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEBB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t211);
|
|
/* 027DEBB4 */ _t212 = cpu->r[31] + 0x00000010u;
|
|
/* 027DEBB4 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[9]);
|
|
/* 027DEBB8 */ _t213 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEBB8 */ rbrew_write32(cpu->mem, _t213, cpu->r[7]);
|
|
/* 027DEBBC */ _t214 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEBBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 027DEBC0 */ _t215 = cpu->r[31] + 0x00000014u;
|
|
/* 027DEBC0 */ rbrew_write_f32(cpu->mem, _t215, cpu->f[13]);
|
|
/* 027DEBC4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DEBC8 */ _t216 = cpu->r[31] + 0x00000018u;
|
|
/* 027DEBC8 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[0]);
|
|
L_027DEBCC: ; // 0x27debcc
|
|
/* 027DEBCC */ _t217 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEBCC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 027DEBD0 */ _t218 = cpu->r[1] + 0x00000094u;
|
|
/* 027DEBD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t218);
|
|
/* 027DEBD4 */ _t219 = cpu->r[1] + 0x00000098u;
|
|
/* 027DEBD4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t219);
|
|
/* 027DEBD8 */ _t220 = cpu->r[1] + 0x00000090u;
|
|
/* 027DEBD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t220);
|
|
/* 027DEBDC */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEBDC */ _t222 = _t221 & 0x00000001u;
|
|
/* 027DEBDC */ if (_t222) goto L_027DEBE0; // else: addr-0 trap, fall-through
|
|
L_027DEBE0: ; // 0x27debe0
|
|
/* 027DEBE0 */ _t223 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 027DEBE4 */ cpu->lr = cpu->r[0];
|
|
/* 027DEBE8 */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEBEC */ return;
|
|
}
|
|
|
|
// fn_027DEBF0 @ 0x27debf0
|
|
void Gambit_fn_027DEBF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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;
|
|
double _ft81, _ft82;
|
|
|
|
L_027DEBF0: ; // 0x27debf0
|
|
/* 027DEBF0 */ cpu->r[0] = cpu->lr;
|
|
/* 027DEBF4 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 027DEBF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DEBF4 */ cpu->r[1] = _t0;
|
|
/* 027DEBF8 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEBF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DEBFC */ cpu->r[30] = cpu->r[3];
|
|
/* 027DEC00 */ _t2 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEC00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DEC04 */ _t3 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEC04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DEC08 */ /* nop */
|
|
/* 027DEC0C */ /* nop */
|
|
/* 027DEC10 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEC10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DEC14 */ /* nop */
|
|
/* 027DEC18 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEC18 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DEC1C */ /* nop */
|
|
/* 027DEC20 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 027DEC20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DEC24 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DEC28 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DEC28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DEC2C */ _t8 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEC2C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027DEC30 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027DEC30 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027DEC34 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 027DEC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DEC38 */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DEC3C */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEC3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DEC40 */ _t13 = cpu->r[4] + 0x00000014u;
|
|
/* 027DEC40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DEC44 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEC44 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DEC48 */ _t15 = cpu->r[4] + 0x00000010u;
|
|
/* 027DEC48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DEC4C */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEC4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DEC50 */ cpu->f[11] = cpu->f[13] * cpu->f[5];
|
|
/* 027DEC54 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEC54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DEC58 */ _t18 = cpu->r[4] + 0x00000018u;
|
|
/* 027DEC58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DEC5C */ cpu->f[8] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 027DEC60 */ _t19 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEC60 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DEC64 */ _t20 = cpu->r[4] + 0x00000034u;
|
|
/* 027DEC64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DEC68 */ cpu->f[1] = fma(cpu->f[10], cpu->f[4], cpu->f[8]);
|
|
/* 027DEC6C */ cpu->f[0] = cpu->f[9] + cpu->f[6];
|
|
/* 027DEC70 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DEC74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027DEC78 */ cpu->r[5] = cpu->r[30] + 0x00000010u;
|
|
/* 027DEC7C */ cpu->r[10] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEC80 */ cpu->r[11] = cpu->r[4] + 0x00000034u;
|
|
/* 027DEC84 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEC84 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DEC84 */ if (_t22) goto L_027DEC88; else goto L_027DEE3C;
|
|
L_027DEC88: ; // 0x27dec88
|
|
/* 027DEC88 */ cpu->f[11] = -cpu->f[0];
|
|
/* 027DEC8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 027DEC90 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEC90 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DEC90 */ if (_t24) goto L_027DEC94; else goto L_027DEE3C;
|
|
L_027DEC94: ; // 0x27dec94
|
|
/* 027DEC94 */ _t25 = cpu->r[10] + 0x00000010u;
|
|
/* 027DEC94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DEC98 */ _t26 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027DEC98 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027DEC9C */ cpu->f[0] = cpu->f[8] * cpu->f[5];
|
|
/* 027DECA0 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 027DECA0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027DECA4 */ cpu->f[10] = fma(cpu->f[12], cpu->f[7], cpu->f[0]);
|
|
/* 027DECA8 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 027DECA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DECAC */ cpu->f[8] = cpu->f[3] + cpu->f[6];
|
|
/* 027DECB0 */ cpu->f[2] = fma(cpu->f[11], cpu->f[4], cpu->f[10]);
|
|
/* 027DECB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[8]);
|
|
/* 027DECB8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DECB8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027DECB8 */ if (_t30) goto L_027DECBC; else goto L_027DEE3C;
|
|
L_027DECBC: ; // 0x27decbc
|
|
/* 027DECBC */ cpu->f[13] = -cpu->f[8];
|
|
/* 027DECC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[13]);
|
|
/* 027DECC4 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DECC4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DECC4 */ if (_t32) goto L_027DECC8; else goto L_027DEE3C;
|
|
L_027DECC8: ; // 0x27decc8
|
|
/* 027DECC8 */ _t33 = cpu->r[10] + 0x0000001Cu;
|
|
/* 027DECC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DECCC */ _t34 = cpu->r[10] + 0x00000018u;
|
|
/* 027DECCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027DECD0 */ cpu->f[10] = cpu->f[11] * cpu->f[5];
|
|
/* 027DECD4 */ _t35 = cpu->r[11] + 0x00000008u;
|
|
/* 027DECD4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DECD8 */ cpu->f[12] = fma(cpu->f[8], cpu->f[7], cpu->f[10]);
|
|
/* 027DECDC */ _t36 = cpu->r[10] + 0x00000020u;
|
|
/* 027DECDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027DECE0 */ cpu->f[10] = cpu->f[5] + cpu->f[6];
|
|
/* 027DECE4 */ cpu->f[13] = fma(cpu->f[13], cpu->f[4], cpu->f[12]);
|
|
/* 027DECE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 027DECEC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DECEC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DECEC */ if (_t38) goto L_027DECF0; else goto L_027DEE3C;
|
|
L_027DECF0: ; // 0x27decf0
|
|
/* 027DECF0 */ cpu->f[0] = -cpu->f[10];
|
|
/* 027DECF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027DECF8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DECF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DECF8 */ if (_t40) goto L_027DECFC; else goto L_027DEE3C;
|
|
L_027DECFC: ; // 0x27decfc
|
|
/* 027DECFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DED00 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DED04 */ _t41 = cpu->r[9] + 0xFFFFED9Cu;
|
|
/* 027DED04 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DED08 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED08 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DED08 */ if (_t43) goto L_027DED0C; else goto L_027DED20;
|
|
L_027DED0C: ; // 0x27ded0c
|
|
/* 027DED0C */ cpu->f[7] = cpu->f[1] - cpu->f[9];
|
|
/* 027DED10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED14 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED14 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[7]);
|
|
/* 027DED18 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED18 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DED18 */ if (_t46) goto L_027DED1C; else goto L_027DED64;
|
|
L_027DED1C: ; // 0x27ded1c
|
|
/* 027DED1C */ goto L_027DED50;
|
|
L_027DED20: ; // 0x27ded20
|
|
/* 027DED20 */ cpu->f[7] = -cpu->f[9];
|
|
/* 027DED24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[7]);
|
|
/* 027DED28 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DED28 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027DED28 */ if (_t48) goto L_027DED2C; else goto L_027DED40;
|
|
L_027DED2C: ; // 0x27ded2c
|
|
/* 027DED2C */ cpu->f[7] = cpu->f[1] + cpu->f[9];
|
|
/* 027DED30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED34 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED34 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 027DED38 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED38 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027DED38 */ if (_t51) goto L_027DED3C; else goto L_027DED64;
|
|
L_027DED3C: ; // 0x27ded3c
|
|
/* 027DED3C */ goto L_027DED50;
|
|
L_027DED40: ; // 0x27ded40
|
|
/* 027DED40 */ cpu->f[7] = cpu->f[8];
|
|
/* 027DED44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED48 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED48 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027DED4C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027DED4C */ if (_t54) goto L_027DED50; else goto L_027DED64;
|
|
L_027DED50: ; // 0x27ded50
|
|
/* 027DED50 */ cpu->f[0] = cpu->f[2] - cpu->f[3];
|
|
/* 027DED54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED58 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED58 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 027DED5C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED5C */ _t57 = _t56 & 0x00000001u;
|
|
/* 027DED5C */ if (_t57) goto L_027DED60; else goto L_027DEDB4;
|
|
L_027DED60: ; // 0x27ded60
|
|
/* 027DED60 */ goto L_027DED94;
|
|
L_027DED64: ; // 0x27ded64
|
|
/* 027DED64 */ cpu->f[9] = -cpu->f[3];
|
|
/* 027DED68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[9]);
|
|
/* 027DED6C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DED6C */ _t59 = _t58 & 0x00000001u;
|
|
/* 027DED6C */ if (_t59) goto L_027DED70; else goto L_027DED84;
|
|
L_027DED70: ; // 0x27ded70
|
|
/* 027DED70 */ cpu->f[0] = cpu->f[2] + cpu->f[3];
|
|
/* 027DED74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED78 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED78 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 027DED7C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED7C */ _t62 = _t61 & 0x00000001u;
|
|
/* 027DED7C */ if (_t62) goto L_027DED80; else goto L_027DEDB4;
|
|
L_027DED80: ; // 0x27ded80
|
|
/* 027DED80 */ goto L_027DED94;
|
|
L_027DED84: ; // 0x27ded84
|
|
/* 027DED84 */ cpu->f[0] = cpu->f[8];
|
|
/* 027DED88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED8C */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED8C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 027DED90 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED90 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027DED90 */ if (_t65) goto L_027DED94; else goto L_027DEDB4;
|
|
L_027DED94: ; // 0x27ded94
|
|
/* 027DED94 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DED98 */ cpu->f[13] = cpu->f[13] - cpu->f[5];
|
|
/* 027DED9C */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDA0 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[9]);
|
|
/* 027DEDA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDA8 */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDA8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 027DEDAC */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDAC */ _t68 = _t67 & 0x00000001u;
|
|
/* 027DEDAC */ if (_t68) goto L_027DEDB0; else goto L_027DEDF8;
|
|
L_027DEDB0: ; // 0x27dedb0
|
|
/* 027DEDB0 */ goto L_027DEE08;
|
|
L_027DEDB4: ; // 0x27dedb4
|
|
/* 027DEDB4 */ cpu->f[11] = -cpu->f[5];
|
|
/* 027DEDB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 027DEDBC */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEDBC */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DEDBC */ if (_t70) goto L_027DEDC0; else goto L_027DEDE0;
|
|
L_027DEDC0: ; // 0x27dedc0
|
|
/* 027DEDC0 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DEDC4 */ cpu->f[13] = cpu->f[13] + cpu->f[5];
|
|
/* 027DEDC8 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDCC */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[9]);
|
|
/* 027DEDD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDD4 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDD4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[13]);
|
|
/* 027DEDD8 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDD8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027DEDD8 */ if (_t73) goto L_027DEDDC; else goto L_027DEDF8;
|
|
L_027DEDDC: ; // 0x27deddc
|
|
/* 027DEDDC */ goto L_027DEE08;
|
|
L_027DEDE0: ; // 0x27dede0
|
|
/* 027DEDE0 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DEDE4 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDE8 */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 027DEDEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDF0 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDF0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[8]);
|
|
/* 027DEDF4 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDF4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DEDF4 */ if (_t76) goto L_027DEE08; else goto L_027DEDF8;
|
|
L_027DEDF8: ; // 0x27dedf8
|
|
/* 027DEDF8 */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 027DEDFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DEE00 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEE00 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027DEE00 */ if (_t78) goto L_027DEE58; else goto L_027DEE04;
|
|
L_027DEE04: ; // 0x27dee04
|
|
/* 027DEE04 */ goto L_027DEE3C;
|
|
L_027DEE08: ; // 0x27dee08
|
|
/* 027DEE08 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DEE0C */ cpu->r[10] = 0x10110000u;
|
|
/* 027DEE10 */ _t79 = cpu->r[12] + 0xFFFFEDA4u;
|
|
/* 027DEE10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 027DEE14 */ _t80 = cpu->r[10] + 0xFFFFEDA0u;
|
|
/* 027DEE14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 027DEE18 */ _ft81 = sqrt(cpu->f[9]);
|
|
/* 027DEE18 */ _ft82 = (double)(int32_t)0x00000001u;
|
|
/* 027DEE18 */ cpu->f[12] = _ft82 / _ft81;
|
|
/* 027DEE1C */ cpu->f[10] = cpu->f[12] * cpu->f[12];
|
|
/* 027DEE20 */ cpu->f[0] = cpu->f[12] * cpu->f[11];
|
|
/* 027DEE24 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[13]));
|
|
/* 027DEE28 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 027DEE2C */ cpu->f[11] = cpu->f[12] * cpu->f[9];
|
|
/* 027DEE30 */ _t83 = cpu->r[5] + 0x00000000u;
|
|
/* 027DEE30 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027DEE34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DEE38 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEE38 */ _t85 = _t84 & 0x00000001u;
|
|
/* 027DEE38 */ if (_t85) goto L_027DEE58; else goto L_027DEE3C;
|
|
L_027DEE3C: ; // 0x27dee3c
|
|
/* 027DEE3C */ _t86 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DEE40 */ _t87 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEE40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027DEE44 */ cpu->lr = cpu->r[0];
|
|
/* 027DEE48 */ _t88 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEE48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DEE4C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DEE50 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DEE54 */ return;
|
|
L_027DEE58: ; // 0x27dee58
|
|
/* 027DEE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DEE5C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DEE5C */ _t90 = _t89 & 0x00000001u;
|
|
/* 027DEE5C */ if (_t90) goto L_027DF01C; else goto L_027DEE60;
|
|
L_027DEE60: ; // 0x27dee60
|
|
/* 027DEE60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[8]);
|
|
/* 027DEE64 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DEE64 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027DEE64 */ if (_t92) goto L_027DEE68; else goto L_027DEF2C;
|
|
L_027DEE68: ; // 0x27dee68
|
|
/* 027DEE68 */ _t93 = cpu->r[4] + 0x00000004u;
|
|
/* 027DEE68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027DEE6C */ cpu->r[6] = 0x10110000u;
|
|
/* 027DEE70 */ _t94 = cpu->r[4] + 0x00000008u;
|
|
/* 027DEE70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027DEE74 */ cpu->r[6] = cpu->r[6] + 0xFFFFEFACu;
|
|
/* 027DEE78 */ _t95 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEE78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027DEE7C */ cpu->r[12] = cpu->r[1] + 0x00000074u;
|
|
/* 027DEE80 */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEE80 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 027DEE84 */ cpu->r[11] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEE88 */ _t97 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEE88 */ rbrew_write32(cpu->mem, _t97, cpu->r[7]);
|
|
/* 027DEE8C */ cpu->r[0] = 0x00000003u;
|
|
/* 027DEE90 */ _t98 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEE90 */ rbrew_write32(cpu->mem, _t98, cpu->r[8]);
|
|
/* 027DEE94 */ cpu->ctr = cpu->r[0];
|
|
/* 027DEE98 */ _t99 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEE98 */ rbrew_write32(cpu->mem, _t99, cpu->r[10]);
|
|
L_027DEE9C: ; // 0x27dee9c
|
|
/* 027DEE9C */ _t100 = cpu->r[11] + 0x00000004u;
|
|
/* 027DEE9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DEEA0 */ _t101 = cpu->r[12] + 0x00000004u;
|
|
/* 027DEEA0 */ rbrew_write32(cpu->mem, _t101, cpu->r[7]);
|
|
/* 027DEEA4 */ _t102 = cpu->r[11] + 0x00000008u;
|
|
/* 027DEEA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027DEEA8 */ _t103 = cpu->r[12] + 0x00000008u;
|
|
/* 027DEEA8 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 027DEEAC */ _t104 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DEEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DEEAC */ cpu->r[11] = _t104;
|
|
/* 027DEEB0 */ _t105 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DEEB0 */ rbrew_write32(cpu->mem, _t105, cpu->r[0]);
|
|
/* 027DEEB0 */ cpu->r[12] = _t105;
|
|
/* 027DEEB4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DEEB4 */ _t106 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DEEB4 */ _t107 = _t106 >> (0x00000002u & 31u);
|
|
/* 027DEEB4 */ _t108 = _t107 & 0x00000001u;
|
|
/* 027DEEB4 */ if (_t108) goto L_027DEE9C; else goto L_027DEEB8;
|
|
L_027DEEB8: ; // 0x27deeb8
|
|
/* 027DEEB8 */ _t109 = cpu->r[4] + 0x0000003Cu;
|
|
/* 027DEEB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027DEEBC */ _t110 = cpu->r[4] + 0x00000034u;
|
|
/* 027DEEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027DEEC0 */ _t111 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEEC0 */ rbrew_write32(cpu->mem, _t111, cpu->r[7]);
|
|
/* 027DEEC4 */ _t112 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEC4 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 027DEEC8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DEECC */ _t113 = cpu->r[4] + 0x00000038u;
|
|
/* 027DEECC */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027DEED0 */ _t114 = cpu->r[12] + 0xFFFFEDACu;
|
|
/* 027DEED0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 027DEED4 */ _t115 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEED4 */ rbrew_write32(cpu->mem, _t115, cpu->r[6]);
|
|
/* 027DEED8 */ _t116 = cpu->r[5] + 0x00000000u;
|
|
/* 027DEED8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 027DEEDC */ _t117 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 027DEEE0 */ cpu->f[7] = cpu->f[12] + cpu->f[10];
|
|
/* 027DEEE4 */ _t118 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEEE4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 027DEEE8 */ cpu->f[0] = cpu->f[0] + cpu->f[7];
|
|
/* 027DEEEC */ _t119 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEEEC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 027DEEF0 */ cpu->f[8] = cpu->f[8] + cpu->f[7];
|
|
/* 027DEEF4 */ cpu->f[9] = cpu->f[9] + cpu->f[7];
|
|
/* 027DEEF8 */ _t120 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEF8 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[0]);
|
|
/* 027DEEFC */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 027DEF00 */ _t121 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEF00 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[8]);
|
|
/* 027DEF04 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEF08 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 027DEF0C */ _t122 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEF0C */ rbrew_write_f32(cpu->mem, _t122, cpu->f[9]);
|
|
/* 027DEF10 */ Gambit_fn_027DD1E4(cpu);
|
|
/* 027DEF14 */ _t123 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027DEF18 */ _t124 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027DEF1C */ cpu->lr = cpu->r[0];
|
|
/* 027DEF20 */ _t125 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEF20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027DEF24 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DEF28 */ return;
|
|
L_027DEF2C: ; // 0x27def2c
|
|
/* 027DEF2C */ cpu->r[9] = 0x10110000u;
|
|
/* 027DEF30 */ _t126 = cpu->r[9] + 0xFFFFEDA8u;
|
|
/* 027DEF30 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DEF34 */ cpu->f[8] = cpu->f[9] / cpu->f[11];
|
|
/* 027DEF38 */ _t127 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEF38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027DEF3C */ /* nop */
|
|
/* 027DEF40 */ /* nop */
|
|
/* 027DEF44 */ /* nop */
|
|
/* 027DEF48 */ _t128 = cpu->r[1] + 0x00000030u;
|
|
/* 027DEF48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DEF4C */ cpu->f[0] = cpu->f[9] * cpu->f[8];
|
|
/* 027DEF50 */ _t129 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DEF50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027DEF54 */ _t130 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEF54 */ rbrew_write32(cpu->mem, _t130, cpu->r[9]);
|
|
/* 027DEF58 */ _t131 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEF58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 027DEF5C */ cpu->f[8] = cpu->f[6] - cpu->f[11];
|
|
/* 027DEF60 */ _t132 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEF60 */ rbrew_write32(cpu->mem, _t132, cpu->r[8]);
|
|
/* 027DEF64 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEF64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027DEF68 */ _t134 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEF68 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[0]);
|
|
/* 027DEF6C */ _t135 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027DEF70 */ _t136 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEF70 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[7]);
|
|
/* 027DEF74 */ _t137 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEF74 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 027DEF78 */ _t138 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEF78 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 027DEF7C */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEF80 */ _t139 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEF80 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[13]);
|
|
/* 027DEF84 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEF88 */ _t140 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEF88 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[8]);
|
|
/* 027DEF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DEF90 */ _t141 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEF90 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[9]);
|
|
/* 027DEF94 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DEF98 */ _t142 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEF98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027DEF9C */ _t143 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEF9C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 027DEFA0 */ /* nop */
|
|
/* 027DEFA4 */ cpu->f[7] = cpu->f[9] * cpu->f[11];
|
|
/* 027DEFA8 */ _t144 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEFA8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 027DEFAC */ _t145 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEFAC */ rbrew_write_f32(cpu->mem, _t145, cpu->f[7]);
|
|
/* 027DEFB0 */ /* nop */
|
|
/* 027DEFB4 */ _t146 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027DEFB8 */ /* nop */
|
|
/* 027DEFBC */ _t147 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEFBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t147);
|
|
/* 027DEFC0 */ _t148 = cpu->r[1] + 0x00000064u;
|
|
/* 027DEFC0 */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 027DEFC4 */ _t149 = cpu->r[1] + 0x00000064u;
|
|
/* 027DEFC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 027DEFC8 */ _t150 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEFC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 027DEFCC */ _t151 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DEFCC */ rbrew_write32(cpu->mem, _t151, cpu->r[6]);
|
|
/* 027DEFD0 */ cpu->f[8] = cpu->f[10] - cpu->f[11];
|
|
/* 027DEFD4 */ _t152 = cpu->r[1] + 0x00000060u;
|
|
/* 027DEFD4 */ rbrew_write32(cpu->mem, _t152, cpu->r[7]);
|
|
/* 027DEFD8 */ /* nop */
|
|
/* 027DEFDC */ /* nop */
|
|
/* 027DEFE0 */ _t153 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEFE0 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[8]);
|
|
/* 027DEFE4 */ /* nop */
|
|
/* 027DEFE8 */ _t154 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEFE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027DEFEC */ /* nop */
|
|
/* 027DEFF0 */ _t155 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEFF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027DEFF4 */ _t156 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027DEFF8 */ _t157 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEFF8 */ rbrew_write32(cpu->mem, _t157, cpu->r[8]);
|
|
/* 027DEFFC */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEFFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027DF000 */ _t159 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF000 */ rbrew_write32(cpu->mem, _t159, cpu->r[0]);
|
|
/* 027DF004 */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 027DF008 */ _t161 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF008 */ rbrew_write32(cpu->mem, _t161, cpu->r[6]);
|
|
/* 027DF00C */ _t162 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF00C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 027DF010 */ _t163 = cpu->r[31] + 0x00000010u;
|
|
/* 027DF010 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[12]);
|
|
/* 027DF014 */ _t164 = cpu->r[31] + 0x00000018u;
|
|
/* 027DF014 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[0]);
|
|
/* 027DF018 */ _t165 = cpu->r[31] + 0x00000014u;
|
|
/* 027DF018 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[13]);
|
|
L_027DF01C: ; // 0x27df01c
|
|
/* 027DF01C */ _t166 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 027DF020 */ _t167 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF020 */ cpu->r[30] = rbrew_read32(cpu->mem, _t167);
|
|
/* 027DF024 */ cpu->lr = cpu->r[0];
|
|
/* 027DF028 */ _t168 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DF028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t168);
|
|
/* 027DF02C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DF030 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DF034 */ return;
|
|
}
|
|
|
|
// fn_027DEBF4 @ 0x27debf4
|
|
void Gambit_fn_027DEBF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _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;
|
|
double _ft81, _ft82;
|
|
|
|
L_027DEBF4: ; // 0x27debf4
|
|
/* 027DEBF4 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 027DEBF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DEBF4 */ cpu->r[1] = _t0;
|
|
/* 027DEBF8 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEBF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DEBFC */ cpu->r[30] = cpu->r[3];
|
|
/* 027DEC00 */ _t2 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEC00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DEC04 */ _t3 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEC04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DEC08 */ /* nop */
|
|
/* 027DEC0C */ /* nop */
|
|
/* 027DEC10 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEC10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DEC14 */ /* nop */
|
|
/* 027DEC18 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEC18 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DEC1C */ /* nop */
|
|
/* 027DEC20 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 027DEC20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DEC24 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DEC28 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027DEC28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DEC2C */ _t8 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEC2C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027DEC30 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027DEC30 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027DEC34 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 027DEC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DEC38 */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027DEC3C */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEC3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027DEC40 */ _t13 = cpu->r[4] + 0x00000014u;
|
|
/* 027DEC40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027DEC44 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 027DEC44 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027DEC48 */ _t15 = cpu->r[4] + 0x00000010u;
|
|
/* 027DEC48 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DEC4C */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 027DEC4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DEC50 */ cpu->f[11] = cpu->f[13] * cpu->f[5];
|
|
/* 027DEC54 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 027DEC54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DEC58 */ _t18 = cpu->r[4] + 0x00000018u;
|
|
/* 027DEC58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DEC5C */ cpu->f[8] = fma(cpu->f[9], cpu->f[7], cpu->f[11]);
|
|
/* 027DEC60 */ _t19 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEC60 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DEC64 */ _t20 = cpu->r[4] + 0x00000034u;
|
|
/* 027DEC64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DEC68 */ cpu->f[1] = fma(cpu->f[10], cpu->f[4], cpu->f[8]);
|
|
/* 027DEC6C */ cpu->f[0] = cpu->f[9] + cpu->f[6];
|
|
/* 027DEC70 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DEC74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027DEC78 */ cpu->r[5] = cpu->r[30] + 0x00000010u;
|
|
/* 027DEC7C */ cpu->r[10] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEC80 */ cpu->r[11] = cpu->r[4] + 0x00000034u;
|
|
/* 027DEC84 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEC84 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027DEC84 */ if (_t22) goto L_027DEC88; else goto L_027DEE3C;
|
|
L_027DEC88: ; // 0x27dec88
|
|
/* 027DEC88 */ cpu->f[11] = -cpu->f[0];
|
|
/* 027DEC8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 027DEC90 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEC90 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027DEC90 */ if (_t24) goto L_027DEC94; else goto L_027DEE3C;
|
|
L_027DEC94: ; // 0x27dec94
|
|
/* 027DEC94 */ _t25 = cpu->r[10] + 0x00000010u;
|
|
/* 027DEC94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DEC98 */ _t26 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027DEC98 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027DEC9C */ cpu->f[0] = cpu->f[8] * cpu->f[5];
|
|
/* 027DECA0 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 027DECA0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027DECA4 */ cpu->f[10] = fma(cpu->f[12], cpu->f[7], cpu->f[0]);
|
|
/* 027DECA8 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 027DECA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027DECAC */ cpu->f[8] = cpu->f[3] + cpu->f[6];
|
|
/* 027DECB0 */ cpu->f[2] = fma(cpu->f[11], cpu->f[4], cpu->f[10]);
|
|
/* 027DECB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[8]);
|
|
/* 027DECB8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DECB8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027DECB8 */ if (_t30) goto L_027DECBC; else goto L_027DEE3C;
|
|
L_027DECBC: ; // 0x27decbc
|
|
/* 027DECBC */ cpu->f[13] = -cpu->f[8];
|
|
/* 027DECC0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[13]);
|
|
/* 027DECC4 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DECC4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027DECC4 */ if (_t32) goto L_027DECC8; else goto L_027DEE3C;
|
|
L_027DECC8: ; // 0x27decc8
|
|
/* 027DECC8 */ _t33 = cpu->r[10] + 0x0000001Cu;
|
|
/* 027DECC8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DECCC */ _t34 = cpu->r[10] + 0x00000018u;
|
|
/* 027DECCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027DECD0 */ cpu->f[10] = cpu->f[11] * cpu->f[5];
|
|
/* 027DECD4 */ _t35 = cpu->r[11] + 0x00000008u;
|
|
/* 027DECD4 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DECD8 */ cpu->f[12] = fma(cpu->f[8], cpu->f[7], cpu->f[10]);
|
|
/* 027DECDC */ _t36 = cpu->r[10] + 0x00000020u;
|
|
/* 027DECDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027DECE0 */ cpu->f[10] = cpu->f[5] + cpu->f[6];
|
|
/* 027DECE4 */ cpu->f[13] = fma(cpu->f[13], cpu->f[4], cpu->f[12]);
|
|
/* 027DECE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[10]);
|
|
/* 027DECEC */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DECEC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027DECEC */ if (_t38) goto L_027DECF0; else goto L_027DEE3C;
|
|
L_027DECF0: ; // 0x27decf0
|
|
/* 027DECF0 */ cpu->f[0] = -cpu->f[10];
|
|
/* 027DECF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027DECF8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DECF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027DECF8 */ if (_t40) goto L_027DECFC; else goto L_027DEE3C;
|
|
L_027DECFC: ; // 0x27decfc
|
|
/* 027DECFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DED00 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DED04 */ _t41 = cpu->r[9] + 0xFFFFED9Cu;
|
|
/* 027DED04 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DED08 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED08 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027DED08 */ if (_t43) goto L_027DED0C; else goto L_027DED20;
|
|
L_027DED0C: ; // 0x27ded0c
|
|
/* 027DED0C */ cpu->f[7] = cpu->f[1] - cpu->f[9];
|
|
/* 027DED10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED14 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED14 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[7]);
|
|
/* 027DED18 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED18 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027DED18 */ if (_t46) goto L_027DED1C; else goto L_027DED64;
|
|
L_027DED1C: ; // 0x27ded1c
|
|
/* 027DED1C */ goto L_027DED50;
|
|
L_027DED20: ; // 0x27ded20
|
|
/* 027DED20 */ cpu->f[7] = -cpu->f[9];
|
|
/* 027DED24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[7]);
|
|
/* 027DED28 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DED28 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027DED28 */ if (_t48) goto L_027DED2C; else goto L_027DED40;
|
|
L_027DED2C: ; // 0x27ded2c
|
|
/* 027DED2C */ cpu->f[7] = cpu->f[1] + cpu->f[9];
|
|
/* 027DED30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED34 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED34 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[7]);
|
|
/* 027DED38 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED38 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027DED38 */ if (_t51) goto L_027DED3C; else goto L_027DED64;
|
|
L_027DED3C: ; // 0x27ded3c
|
|
/* 027DED3C */ goto L_027DED50;
|
|
L_027DED40: ; // 0x27ded40
|
|
/* 027DED40 */ cpu->f[7] = cpu->f[8];
|
|
/* 027DED44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[3]);
|
|
/* 027DED48 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027DED48 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027DED4C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED4C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027DED4C */ if (_t54) goto L_027DED50; else goto L_027DED64;
|
|
L_027DED50: ; // 0x27ded50
|
|
/* 027DED50 */ cpu->f[0] = cpu->f[2] - cpu->f[3];
|
|
/* 027DED54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED58 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED58 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 027DED5C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED5C */ _t57 = _t56 & 0x00000001u;
|
|
/* 027DED5C */ if (_t57) goto L_027DED60; else goto L_027DEDB4;
|
|
L_027DED60: ; // 0x27ded60
|
|
/* 027DED60 */ goto L_027DED94;
|
|
L_027DED64: ; // 0x27ded64
|
|
/* 027DED64 */ cpu->f[9] = -cpu->f[3];
|
|
/* 027DED68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[2], cpu->f[9]);
|
|
/* 027DED6C */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DED6C */ _t59 = _t58 & 0x00000001u;
|
|
/* 027DED6C */ if (_t59) goto L_027DED70; else goto L_027DED84;
|
|
L_027DED70: ; // 0x27ded70
|
|
/* 027DED70 */ cpu->f[0] = cpu->f[2] + cpu->f[3];
|
|
/* 027DED74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED78 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED78 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 027DED7C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED7C */ _t62 = _t61 & 0x00000001u;
|
|
/* 027DED7C */ if (_t62) goto L_027DED80; else goto L_027DEDB4;
|
|
L_027DED80: ; // 0x27ded80
|
|
/* 027DED80 */ goto L_027DED94;
|
|
L_027DED84: ; // 0x27ded84
|
|
/* 027DED84 */ cpu->f[0] = cpu->f[8];
|
|
/* 027DED88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[5]);
|
|
/* 027DED8C */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DED8C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 027DED90 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DED90 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027DED90 */ if (_t65) goto L_027DED94; else goto L_027DEDB4;
|
|
L_027DED94: ; // 0x27ded94
|
|
/* 027DED94 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DED98 */ cpu->f[13] = cpu->f[13] - cpu->f[5];
|
|
/* 027DED9C */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDA0 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[9]);
|
|
/* 027DEDA4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDA8 */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDA8 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 027DEDAC */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDAC */ _t68 = _t67 & 0x00000001u;
|
|
/* 027DEDAC */ if (_t68) goto L_027DEDB0; else goto L_027DEDF8;
|
|
L_027DEDB0: ; // 0x27dedb0
|
|
/* 027DEDB0 */ goto L_027DEE08;
|
|
L_027DEDB4: ; // 0x27dedb4
|
|
/* 027DEDB4 */ cpu->f[11] = -cpu->f[5];
|
|
/* 027DEDB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 027DEDBC */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEDBC */ _t70 = _t69 & 0x00000001u;
|
|
/* 027DEDBC */ if (_t70) goto L_027DEDC0; else goto L_027DEDE0;
|
|
L_027DEDC0: ; // 0x27dedc0
|
|
/* 027DEDC0 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DEDC4 */ cpu->f[13] = cpu->f[13] + cpu->f[5];
|
|
/* 027DEDC8 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDCC */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[9]);
|
|
/* 027DEDD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDD4 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDD4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[13]);
|
|
/* 027DEDD8 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDD8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027DEDD8 */ if (_t73) goto L_027DEDDC; else goto L_027DEDF8;
|
|
L_027DEDDC: ; // 0x27deddc
|
|
/* 027DEDDC */ goto L_027DEE08;
|
|
L_027DEDE0: ; // 0x27dede0
|
|
/* 027DEDE0 */ cpu->f[0] = cpu->f[0] * cpu->f[0];
|
|
/* 027DEDE4 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[0]);
|
|
/* 027DEDE8 */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 027DEDEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[8]);
|
|
/* 027DEDF0 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEDF0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[8]);
|
|
/* 027DEDF4 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DEDF4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027DEDF4 */ if (_t76) goto L_027DEE08; else goto L_027DEDF8;
|
|
L_027DEDF8: ; // 0x27dedf8
|
|
/* 027DEDF8 */ cpu->f[11] = cpu->f[8] * cpu->f[9];
|
|
/* 027DEDFC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DEE00 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEE00 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027DEE00 */ if (_t78) goto L_027DEE58; else goto L_027DEE04;
|
|
L_027DEE04: ; // 0x27dee04
|
|
/* 027DEE04 */ goto L_027DEE3C;
|
|
L_027DEE08: ; // 0x27dee08
|
|
/* 027DEE08 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DEE0C */ cpu->r[10] = 0x10110000u;
|
|
/* 027DEE10 */ _t79 = cpu->r[12] + 0xFFFFEDA4u;
|
|
/* 027DEE10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 027DEE14 */ _t80 = cpu->r[10] + 0xFFFFEDA0u;
|
|
/* 027DEE14 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 027DEE18 */ _ft81 = sqrt(cpu->f[9]);
|
|
/* 027DEE18 */ _ft82 = (double)(int32_t)0x00000001u;
|
|
/* 027DEE18 */ cpu->f[12] = _ft82 / _ft81;
|
|
/* 027DEE1C */ cpu->f[10] = cpu->f[12] * cpu->f[12];
|
|
/* 027DEE20 */ cpu->f[0] = cpu->f[12] * cpu->f[11];
|
|
/* 027DEE24 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[9], -(cpu->f[13]));
|
|
/* 027DEE28 */ cpu->f[12] = cpu->f[10] * cpu->f[0];
|
|
/* 027DEE2C */ cpu->f[11] = cpu->f[12] * cpu->f[9];
|
|
/* 027DEE30 */ _t83 = cpu->r[5] + 0x00000000u;
|
|
/* 027DEE30 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027DEE34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[6]);
|
|
/* 027DEE38 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DEE38 */ _t85 = _t84 & 0x00000001u;
|
|
/* 027DEE38 */ if (_t85) goto L_027DEE58; else goto L_027DEE3C;
|
|
L_027DEE3C: ; // 0x27dee3c
|
|
/* 027DEE3C */ _t86 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027DEE40 */ _t87 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEE40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027DEE44 */ cpu->lr = cpu->r[0];
|
|
/* 027DEE48 */ _t88 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEE48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027DEE4C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DEE50 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DEE54 */ return;
|
|
L_027DEE58: ; // 0x27dee58
|
|
/* 027DEE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DEE5C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DEE5C */ _t90 = _t89 & 0x00000001u;
|
|
/* 027DEE5C */ if (_t90) goto L_027DF01C; else goto L_027DEE60;
|
|
L_027DEE60: ; // 0x27dee60
|
|
/* 027DEE60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[8]);
|
|
/* 027DEE64 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DEE64 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027DEE64 */ if (_t92) goto L_027DEE68; else goto L_027DEF2C;
|
|
L_027DEE68: ; // 0x27dee68
|
|
/* 027DEE68 */ _t93 = cpu->r[4] + 0x00000004u;
|
|
/* 027DEE68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027DEE6C */ cpu->r[6] = 0x10110000u;
|
|
/* 027DEE70 */ _t94 = cpu->r[4] + 0x00000008u;
|
|
/* 027DEE70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027DEE74 */ cpu->r[6] = cpu->r[6] + 0xFFFFEFACu;
|
|
/* 027DEE78 */ _t95 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEE78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027DEE7C */ cpu->r[12] = cpu->r[1] + 0x00000074u;
|
|
/* 027DEE80 */ _t96 = cpu->r[1] + 0x00000068u;
|
|
/* 027DEE80 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 027DEE84 */ cpu->r[11] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027DEE88 */ _t97 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DEE88 */ rbrew_write32(cpu->mem, _t97, cpu->r[7]);
|
|
/* 027DEE8C */ cpu->r[0] = 0x00000003u;
|
|
/* 027DEE90 */ _t98 = cpu->r[1] + 0x00000070u;
|
|
/* 027DEE90 */ rbrew_write32(cpu->mem, _t98, cpu->r[8]);
|
|
/* 027DEE94 */ cpu->ctr = cpu->r[0];
|
|
/* 027DEE98 */ _t99 = cpu->r[1] + 0x00000074u;
|
|
/* 027DEE98 */ rbrew_write32(cpu->mem, _t99, cpu->r[10]);
|
|
L_027DEE9C: ; // 0x27dee9c
|
|
/* 027DEE9C */ _t100 = cpu->r[11] + 0x00000004u;
|
|
/* 027DEE9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027DEEA0 */ _t101 = cpu->r[12] + 0x00000004u;
|
|
/* 027DEEA0 */ rbrew_write32(cpu->mem, _t101, cpu->r[7]);
|
|
/* 027DEEA4 */ _t102 = cpu->r[11] + 0x00000008u;
|
|
/* 027DEEA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027DEEA8 */ _t103 = cpu->r[12] + 0x00000008u;
|
|
/* 027DEEA8 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 027DEEAC */ _t104 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027DEEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027DEEAC */ cpu->r[11] = _t104;
|
|
/* 027DEEB0 */ _t105 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027DEEB0 */ rbrew_write32(cpu->mem, _t105, cpu->r[0]);
|
|
/* 027DEEB0 */ cpu->r[12] = _t105;
|
|
/* 027DEEB4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DEEB4 */ _t106 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DEEB4 */ _t107 = _t106 >> (0x00000002u & 31u);
|
|
/* 027DEEB4 */ _t108 = _t107 & 0x00000001u;
|
|
/* 027DEEB4 */ if (_t108) goto L_027DEE9C; else goto L_027DEEB8;
|
|
L_027DEEB8: ; // 0x27deeb8
|
|
/* 027DEEB8 */ _t109 = cpu->r[4] + 0x0000003Cu;
|
|
/* 027DEEB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027DEEBC */ _t110 = cpu->r[4] + 0x00000034u;
|
|
/* 027DEEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027DEEC0 */ _t111 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEEC0 */ rbrew_write32(cpu->mem, _t111, cpu->r[7]);
|
|
/* 027DEEC4 */ _t112 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEC4 */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 027DEEC8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DEECC */ _t113 = cpu->r[4] + 0x00000038u;
|
|
/* 027DEECC */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027DEED0 */ _t114 = cpu->r[12] + 0xFFFFEDACu;
|
|
/* 027DEED0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 027DEED4 */ _t115 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEED4 */ rbrew_write32(cpu->mem, _t115, cpu->r[6]);
|
|
/* 027DEED8 */ _t116 = cpu->r[5] + 0x00000000u;
|
|
/* 027DEED8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 027DEEDC */ _t117 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 027DEEE0 */ cpu->f[7] = cpu->f[12] + cpu->f[10];
|
|
/* 027DEEE4 */ _t118 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEEE4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 027DEEE8 */ cpu->f[0] = cpu->f[0] + cpu->f[7];
|
|
/* 027DEEEC */ _t119 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEEEC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 027DEEF0 */ cpu->f[8] = cpu->f[8] + cpu->f[7];
|
|
/* 027DEEF4 */ cpu->f[9] = cpu->f[9] + cpu->f[7];
|
|
/* 027DEEF8 */ _t120 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DEEF8 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[0]);
|
|
/* 027DEEFC */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 027DEF00 */ _t121 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DEF00 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[8]);
|
|
/* 027DEF04 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEF08 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 027DEF0C */ _t122 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DEF0C */ rbrew_write_f32(cpu->mem, _t122, cpu->f[9]);
|
|
/* 027DEF10 */ Gambit_fn_027DD1E4(cpu);
|
|
/* 027DEF14 */ _t123 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DEF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027DEF18 */ _t124 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DEF18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027DEF1C */ cpu->lr = cpu->r[0];
|
|
/* 027DEF20 */ _t125 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DEF20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027DEF24 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DEF28 */ return;
|
|
L_027DEF2C: ; // 0x27def2c
|
|
/* 027DEF2C */ cpu->r[9] = 0x10110000u;
|
|
/* 027DEF30 */ _t126 = cpu->r[9] + 0xFFFFEDA8u;
|
|
/* 027DEF30 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DEF34 */ cpu->f[8] = cpu->f[9] / cpu->f[11];
|
|
/* 027DEF38 */ _t127 = cpu->r[1] + 0x00000010u;
|
|
/* 027DEF38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027DEF3C */ /* nop */
|
|
/* 027DEF40 */ /* nop */
|
|
/* 027DEF44 */ /* nop */
|
|
/* 027DEF48 */ _t128 = cpu->r[1] + 0x00000030u;
|
|
/* 027DEF48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DEF4C */ cpu->f[0] = cpu->f[9] * cpu->f[8];
|
|
/* 027DEF50 */ _t129 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DEF50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027DEF54 */ _t130 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEF54 */ rbrew_write32(cpu->mem, _t130, cpu->r[9]);
|
|
/* 027DEF58 */ _t131 = cpu->r[1] + 0x00000018u;
|
|
/* 027DEF58 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 027DEF5C */ cpu->f[8] = cpu->f[6] - cpu->f[11];
|
|
/* 027DEF60 */ _t132 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEF60 */ rbrew_write32(cpu->mem, _t132, cpu->r[8]);
|
|
/* 027DEF64 */ _t133 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEF64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027DEF68 */ _t134 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEF68 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[0]);
|
|
/* 027DEF6C */ _t135 = cpu->r[1] + 0x00000034u;
|
|
/* 027DEF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027DEF70 */ _t136 = cpu->r[31] + 0x00000004u;
|
|
/* 027DEF70 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[7]);
|
|
/* 027DEF74 */ _t137 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEF74 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 027DEF78 */ _t138 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DEF78 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 027DEF7C */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
/* 027DEF80 */ _t139 = cpu->r[31] + 0x00000000u;
|
|
/* 027DEF80 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[13]);
|
|
/* 027DEF84 */ cpu->r[5] = cpu->r[31];
|
|
/* 027DEF88 */ _t140 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DEF88 */ rbrew_write_f32(cpu->mem, _t140, cpu->f[8]);
|
|
/* 027DEF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DEF90 */ _t141 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEF90 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[9]);
|
|
/* 027DEF94 */ Gambit_fn_027F0BF4(cpu);
|
|
/* 027DEF98 */ _t142 = cpu->r[30] + 0x00000010u;
|
|
/* 027DEF98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027DEF9C */ _t143 = cpu->r[31] + 0x00000008u;
|
|
/* 027DEF9C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 027DEFA0 */ /* nop */
|
|
/* 027DEFA4 */ cpu->f[7] = cpu->f[9] * cpu->f[11];
|
|
/* 027DEFA8 */ _t144 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DEFA8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 027DEFAC */ _t145 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEFAC */ rbrew_write_f32(cpu->mem, _t145, cpu->f[7]);
|
|
/* 027DEFB0 */ /* nop */
|
|
/* 027DEFB4 */ _t146 = cpu->r[1] + 0x00000040u;
|
|
/* 027DEFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027DEFB8 */ /* nop */
|
|
/* 027DEFBC */ _t147 = cpu->r[1] + 0x00000038u;
|
|
/* 027DEFBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t147);
|
|
/* 027DEFC0 */ _t148 = cpu->r[1] + 0x00000064u;
|
|
/* 027DEFC0 */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 027DEFC4 */ _t149 = cpu->r[1] + 0x00000064u;
|
|
/* 027DEFC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 027DEFC8 */ _t150 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DEFC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 027DEFCC */ _t151 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DEFCC */ rbrew_write32(cpu->mem, _t151, cpu->r[6]);
|
|
/* 027DEFD0 */ cpu->f[8] = cpu->f[10] - cpu->f[11];
|
|
/* 027DEFD4 */ _t152 = cpu->r[1] + 0x00000060u;
|
|
/* 027DEFD4 */ rbrew_write32(cpu->mem, _t152, cpu->r[7]);
|
|
/* 027DEFD8 */ /* nop */
|
|
/* 027DEFDC */ /* nop */
|
|
/* 027DEFE0 */ _t153 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEFE0 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[8]);
|
|
/* 027DEFE4 */ /* nop */
|
|
/* 027DEFE8 */ _t154 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DEFE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027DEFEC */ /* nop */
|
|
/* 027DEFF0 */ _t155 = cpu->r[1] + 0x00000044u;
|
|
/* 027DEFF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027DEFF4 */ _t156 = cpu->r[1] + 0x00000048u;
|
|
/* 027DEFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027DEFF8 */ _t157 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEFF8 */ rbrew_write32(cpu->mem, _t157, cpu->r[8]);
|
|
/* 027DEFFC */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 027DEFFC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027DF000 */ _t159 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF000 */ rbrew_write32(cpu->mem, _t159, cpu->r[0]);
|
|
/* 027DF004 */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF004 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 027DF008 */ _t161 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF008 */ rbrew_write32(cpu->mem, _t161, cpu->r[6]);
|
|
/* 027DF00C */ _t162 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF00C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 027DF010 */ _t163 = cpu->r[31] + 0x00000010u;
|
|
/* 027DF010 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[12]);
|
|
/* 027DF014 */ _t164 = cpu->r[31] + 0x00000018u;
|
|
/* 027DF014 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[0]);
|
|
/* 027DF018 */ _t165 = cpu->r[31] + 0x00000014u;
|
|
/* 027DF018 */ rbrew_write_f32(cpu->mem, _t165, cpu->f[13]);
|
|
L_027DF01C: ; // 0x27df01c
|
|
/* 027DF01C */ _t166 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 027DF020 */ _t167 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF020 */ cpu->r[30] = rbrew_read32(cpu->mem, _t167);
|
|
/* 027DF024 */ cpu->lr = cpu->r[0];
|
|
/* 027DF028 */ _t168 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DF028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t168);
|
|
/* 027DF02C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 027DF030 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DF034 */ return;
|
|
}
|
|
|
|
// fn_027DF038 @ 0x27df038
|
|
void Gambit_fn_027DF038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _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, _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;
|
|
double _ft20, _ft21, _ft94, _ft95;
|
|
|
|
L_027DF038: ; // 0x27df038
|
|
/* 027DF038 */ cpu->r[0] = cpu->lr;
|
|
/* 027DF03C */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 027DF03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF03C */ cpu->r[1] = _t0;
|
|
/* 027DF040 */ _t1 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF040 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DF044 */ _t2 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DF048 */ _t3 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF048 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DF04C */ cpu->r[30] = cpu->r[3];
|
|
/* 027DF050 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 027DF054 */ _t4 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF054 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DF058 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DF05C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF060 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DF064 */ Gambit_fn_027DD020(cpu);
|
|
/* 027DF068 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027DF068 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DF06C */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DF06C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DF070 */ cpu->f[8] = cpu->f[0] + cpu->f[8];
|
|
/* 027DF074 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DF078 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DF07C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DF07C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DF07C */ if (_t8) goto L_027DF0A0; else goto L_027DF080;
|
|
L_027DF080: ; // 0x27df080
|
|
/* 027DF080 */ _t9 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF080 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DF084 */ _t10 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DF088 */ _t11 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF088 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DF08C */ cpu->lr = cpu->r[0];
|
|
/* 027DF090 */ _t12 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DF094 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 027DF098 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DF09C */ return;
|
|
L_027DF0A0: ; // 0x27df0a0
|
|
/* 027DF0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027DF0A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF0A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DF0A4 */ if (_t14) goto L_027DF408; else goto L_027DF0A8;
|
|
L_027DF0A8: ; // 0x27df0a8
|
|
/* 027DF0A8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DF0AC */ cpu->r[8] = 0x10110000u;
|
|
/* 027DF0B0 */ _t15 = cpu->r[7] + 0xFFFFED9Cu;
|
|
/* 027DF0B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DF0B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 027DF0B8 */ _t16 = cpu->r[8] + 0xFFFFEDA0u;
|
|
/* 027DF0B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DF0BC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DF0C0 */ _t17 = cpu->r[6] + 0xFFFFEDA4u;
|
|
/* 027DF0C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DF0C4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DF0C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DF0C4 */ if (_t19) goto L_027DF0D0; else goto L_027DF0C8;
|
|
L_027DF0C8: ; // 0x27df0c8
|
|
/* 027DF0C8 */ cpu->f[11] = cpu->f[12];
|
|
/* 027DF0CC */ goto L_027DF0E4;
|
|
L_027DF0D0: ; // 0x27df0d0
|
|
/* 027DF0D0 */ _ft20 = sqrt(cpu->f[1]);
|
|
/* 027DF0D0 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 027DF0D0 */ cpu->f[11] = _ft21 / _ft20;
|
|
/* 027DF0D4 */ cpu->f[7] = cpu->f[11] * cpu->f[11];
|
|
/* 027DF0D8 */ cpu->f[10] = cpu->f[11] * cpu->f[13];
|
|
/* 027DF0DC */ cpu->f[7] = -fma(cpu->f[7], cpu->f[1], -(cpu->f[0]));
|
|
/* 027DF0E0 */ cpu->f[11] = cpu->f[7] * cpu->f[10];
|
|
L_027DF0E4: ; // 0x27df0e4
|
|
/* 027DF0E4 */ cpu->f[10] = -fma(cpu->f[11], cpu->f[1], -(cpu->f[8]));
|
|
/* 027DF0E8 */ _t22 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DF0E8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 027DF0EC */ /* nop */
|
|
/* 027DF0F0 */ /* nop */
|
|
/* 027DF0F4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF0F4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DF0F8 */ /* nop */
|
|
/* 027DF0FC */ /* nop */
|
|
/* 027DF100 */ _t24 = cpu->r[30] + 0x00000018u;
|
|
/* 027DF100 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DF104 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF104 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DF108 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 027DF108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DF10C */ cpu->f[9] = cpu->f[11] - cpu->f[9];
|
|
/* 027DF110 */ _t27 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DF110 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DF114 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DF114 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027DF118 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 027DF118 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
|
|
/* 027DF11C */ _t30 = cpu->r[1] + 0x00000054u;
|
|
/* 027DF11C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DF120 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF120 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 027DF124 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF124 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DF128 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 027DF128 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 027DF12C */ cpu->f[10] = cpu->f[11] * cpu->f[6];
|
|
/* 027DF130 */ /* nop */
|
|
/* 027DF134 */ _t34 = cpu->r[1] + 0x00000060u;
|
|
/* 027DF134 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 027DF138 */ /* nop */
|
|
/* 027DF13C */ _t35 = cpu->r[1] + 0x00000060u;
|
|
/* 027DF13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DF140 */ /* nop */
|
|
/* 027DF144 */ _t36 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DF144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DF148 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 027DF148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027DF14C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027DF14C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 027DF150 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF150 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 027DF154 */ /* nop */
|
|
/* 027DF158 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF158 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027DF15C */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF15C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DF160 */ /* nop */
|
|
/* 027DF164 */ /* nop */
|
|
/* 027DF168 */ _t42 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF168 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DF16C */ _t43 = cpu->r[1] + 0x00000064u;
|
|
/* 027DF16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DF170 */ cpu->f[7] = cpu->f[8] + cpu->f[9];
|
|
/* 027DF174 */ _t44 = cpu->r[1] + 0x00000068u;
|
|
/* 027DF174 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DF178 */ _t45 = cpu->r[1] + 0x000000E8u;
|
|
/* 027DF178 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 027DF17C */ _t46 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DF17C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[7]);
|
|
/* 027DF180 */ _t47 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DF180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DF184 */ _t48 = cpu->r[1] + 0x000000ECu;
|
|
/* 027DF184 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
|
|
/* 027DF188 */ _t49 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DF188 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 027DF18C */ /* nop */
|
|
/* 027DF190 */ /* nop */
|
|
/* 027DF194 */ /* nop */
|
|
/* 027DF198 */ /* nop */
|
|
/* 027DF19C */ _t50 = cpu->r[31] + 0x00000018u;
|
|
/* 027DF19C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 027DF1A0 */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DF1A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DF1A4 */ cpu->f[7] = cpu->f[10] - cpu->f[7];
|
|
/* 027DF1A8 */ _t52 = cpu->r[1] + 0x00000070u;
|
|
/* 027DF1A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027DF1AC */ _t53 = cpu->r[1] + 0x00000074u;
|
|
/* 027DF1AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027DF1B0 */ _t54 = cpu->r[1] + 0x00000078u;
|
|
/* 027DF1B0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 027DF1B4 */ _t55 = cpu->r[1] + 0x00000078u;
|
|
/* 027DF1B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027DF1B8 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF1B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027DF1BC */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF1BC */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 027DF1C0 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF1C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027DF1C4 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF1C4 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 027DF1C8 */ cpu->f[11] = cpu->f[7] * cpu->f[9];
|
|
/* 027DF1CC */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF1CC */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 027DF1D0 */ /* nop */
|
|
/* 027DF1D4 */ _t61 = cpu->r[1] + 0x00000084u;
|
|
/* 027DF1D4 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[11]);
|
|
/* 027DF1D8 */ /* nop */
|
|
/* 027DF1DC */ _t62 = cpu->r[1] + 0x00000084u;
|
|
/* 027DF1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027DF1E0 */ /* nop */
|
|
/* 027DF1E4 */ _t63 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DF1E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027DF1E8 */ _t64 = cpu->r[1] + 0x00000080u;
|
|
/* 027DF1E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027DF1EC */ _t65 = cpu->r[1] + 0x00000040u;
|
|
/* 027DF1EC */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 027DF1F0 */ _t66 = cpu->r[1] + 0x00000044u;
|
|
/* 027DF1F0 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 027DF1F4 */ /* nop */
|
|
/* 027DF1F8 */ _t67 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF1F8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027DF1FC */ _t68 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF1FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 027DF200 */ /* nop */
|
|
/* 027DF204 */ /* nop */
|
|
/* 027DF208 */ _t69 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DF208 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DF20C */ _t70 = cpu->r[1] + 0x00000088u;
|
|
/* 027DF20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027DF210 */ cpu->f[7] = cpu->f[8] + cpu->f[9];
|
|
/* 027DF214 */ _t71 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DF214 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027DF218 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 027DF218 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027DF21C */ _t73 = cpu->r[1] + 0x00000090u;
|
|
/* 027DF21C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[7]);
|
|
/* 027DF220 */ _t74 = cpu->r[1] + 0x00000090u;
|
|
/* 027DF220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027DF224 */ _t75 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DF224 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DF228 */ _t76 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF228 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 027DF22C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF22C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DF230 */ /* nop */
|
|
/* 027DF234 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027DF238 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 027DF238 */ rbrew_write32(cpu->mem, _t78, cpu->r[5]);
|
|
/* 027DF23C */ /* nop */
|
|
/* 027DF240 */ _t79 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DF240 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[9]);
|
|
/* 027DF244 */ /* nop */
|
|
/* 027DF248 */ _t80 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DF248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027DF24C */ /* nop */
|
|
/* 027DF250 */ _t81 = cpu->r[1] + 0x00000098u;
|
|
/* 027DF250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027DF254 */ _t82 = cpu->r[1] + 0x00000094u;
|
|
/* 027DF254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027DF258 */ _t83 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DF258 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 027DF25C */ _t84 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DF25C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 027DF260 */ _t85 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DF260 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 027DF264 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DF268 */ _t86 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DF268 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027DF26C */ _t87 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DF26C */ rbrew_write32(cpu->mem, _t87, cpu->r[6]);
|
|
/* 027DF270 */ cpu->f[10] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 027DF274 */ _t88 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DF274 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027DF278 */ cpu->f[10] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 027DF27C */ _t89 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF27C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
/* 027DF280 */ _t90 = cpu->r[29] + 0x00000004u;
|
|
/* 027DF280 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 027DF284 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DF288 */ _t91 = cpu->r[29] + 0x00000000u;
|
|
/* 027DF288 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 027DF28C */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DF28C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027DF28C */ if (_t93) goto L_027DF290; else goto L_027DF2C4;
|
|
L_027DF290: ; // 0x27df290
|
|
/* 027DF290 */ _ft94 = sqrt(cpu->f[10]);
|
|
/* 027DF290 */ _ft95 = (double)(int32_t)0x00000001u;
|
|
/* 027DF290 */ cpu->f[7] = _ft95 / _ft94;
|
|
/* 027DF294 */ cpu->f[9] = cpu->f[7] * cpu->f[7];
|
|
/* 027DF298 */ cpu->f[11] = cpu->f[7] * cpu->f[13];
|
|
/* 027DF29C */ cpu->f[9] = -fma(cpu->f[9], cpu->f[10], -(cpu->f[0]));
|
|
/* 027DF2A0 */ cpu->f[7] = cpu->f[9] * cpu->f[11];
|
|
/* 027DF2A4 */ _t96 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027DF2A8 */ /* nop */
|
|
/* 027DF2AC */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 027DF2B0 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF2B0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 027DF2B4 */ /* nop */
|
|
/* 027DF2B8 */ _t98 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2B8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 027DF2BC */ cpu->f[10] = cpu->f[10] * cpu->f[7];
|
|
/* 027DF2C0 */ /* nop */
|
|
L_027DF2C4: ; // 0x27df2c4
|
|
/* 027DF2C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DF2C8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF2C8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027DF2C8 */ if (_t100) goto L_027DF2CC; else goto L_027DF2E8;
|
|
L_027DF2CC: ; // 0x27df2cc
|
|
/* 027DF2CC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027DF2D0 */ _t101 = cpu->r[11] + 0x00003864u;
|
|
/* 027DF2D0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027DF2D0 */ cpu->r[11] = _t101;
|
|
/* 027DF2D4 */ _t102 = cpu->r[29] + 0x00000000u;
|
|
/* 027DF2D4 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[7]);
|
|
/* 027DF2D8 */ _t103 = cpu->r[11] + 0x00000004u;
|
|
/* 027DF2D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 027DF2DC */ _t104 = cpu->r[29] + 0x00000004u;
|
|
/* 027DF2DC */ rbrew_write_f32(cpu->mem, _t104, cpu->f[8]);
|
|
/* 027DF2E0 */ _t105 = cpu->r[11] + 0x00000008u;
|
|
/* 027DF2E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 027DF2E4 */ _t106 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2E4 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[9]);
|
|
L_027DF2E8: ; // 0x27df2e8
|
|
/* 027DF2E8 */ /* nop */
|
|
/* 027DF2EC */ /* nop */
|
|
/* 027DF2F0 */ /* nop */
|
|
/* 027DF2F4 */ /* nop */
|
|
/* 027DF2F8 */ _t107 = cpu->r[30] + 0x00000018u;
|
|
/* 027DF2F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027DF2FC */ _t108 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DF2FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027DF300 */ _t109 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 027DF304 */ _t110 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DF304 */ rbrew_write32(cpu->mem, _t110, cpu->r[9]);
|
|
/* 027DF308 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 027DF30C */ _t111 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DF30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027DF310 */ _t112 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF310 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[12]);
|
|
/* 027DF314 */ _t113 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027DF318 */ _t114 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF318 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 027DF31C */ _t115 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF31C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027DF320 */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 027DF320 */ rbrew_write32(cpu->mem, _t116, cpu->r[8]);
|
|
/* 027DF324 */ cpu->f[13] = cpu->f[0] * cpu->f[6];
|
|
/* 027DF328 */ /* nop */
|
|
/* 027DF32C */ _t117 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF32C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
/* 027DF330 */ /* nop */
|
|
/* 027DF334 */ _t118 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027DF338 */ /* nop */
|
|
/* 027DF33C */ _t119 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DF33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027DF340 */ _t120 = cpu->r[1] + 0x000000B0u;
|
|
/* 027DF340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DF344 */ _t121 = cpu->r[1] + 0x00000034u;
|
|
/* 027DF344 */ rbrew_write32(cpu->mem, _t121, cpu->r[11]);
|
|
/* 027DF348 */ _t122 = cpu->r[1] + 0x00000038u;
|
|
/* 027DF348 */ rbrew_write32(cpu->mem, _t122, cpu->r[12]);
|
|
/* 027DF34C */ /* nop */
|
|
/* 027DF350 */ _t123 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF350 */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 027DF354 */ _t124 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF354 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 027DF358 */ /* nop */
|
|
/* 027DF35C */ _t125 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF35C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 027DF360 */ /* nop */
|
|
/* 027DF364 */ _t126 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF364 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DF368 */ _t127 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027DF368 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027DF36C */ cpu->f[0] = cpu->f[8] + cpu->f[10];
|
|
/* 027DF370 */ _t128 = cpu->r[1] + 0x000000B8u;
|
|
/* 027DF370 */ cpu->r[6] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DF374 */ _t129 = cpu->r[1] + 0x000000BCu;
|
|
/* 027DF374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027DF378 */ cpu->f[13] = cpu->f[7] * cpu->f[9];
|
|
/* 027DF37C */ /* nop */
|
|
/* 027DF380 */ _t130 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DF380 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]);
|
|
/* 027DF384 */ _t131 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DF384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t131);
|
|
/* 027DF388 */ /* nop */
|
|
/* 027DF38C */ _t132 = cpu->r[1] + 0x000000CCu;
|
|
/* 027DF38C */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]);
|
|
/* 027DF390 */ _t133 = cpu->r[1] + 0x000000CCu;
|
|
/* 027DF390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027DF394 */ /* nop */
|
|
/* 027DF398 */ _t134 = cpu->r[1] + 0x000000C4u;
|
|
/* 027DF398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027DF39C */ _t135 = cpu->r[1] + 0x000000C8u;
|
|
/* 027DF39C */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027DF3A0 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF3A0 */ rbrew_write32(cpu->mem, _t136, cpu->r[7]);
|
|
/* 027DF3A4 */ _t137 = cpu->r[1] + 0x00000020u;
|
|
/* 027DF3A4 */ rbrew_write32(cpu->mem, _t137, cpu->r[8]);
|
|
/* 027DF3A8 */ _t138 = cpu->r[1] + 0x00000044u;
|
|
/* 027DF3A8 */ rbrew_write32(cpu->mem, _t138, cpu->r[9]);
|
|
/* 027DF3AC */ _t139 = cpu->r[1] + 0x00000040u;
|
|
/* 027DF3AC */ rbrew_write32(cpu->mem, _t139, cpu->r[6]);
|
|
/* 027DF3B0 */ /* nop */
|
|
/* 027DF3B4 */ /* nop */
|
|
/* 027DF3B8 */ _t140 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF3B8 */ rbrew_write32(cpu->mem, _t140, cpu->r[11]);
|
|
/* 027DF3BC */ /* nop */
|
|
/* 027DF3C0 */ _t141 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF3C0 */ rbrew_write32(cpu->mem, _t141, cpu->r[0]);
|
|
/* 027DF3C4 */ _t142 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF3C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027DF3C8 */ /* nop */
|
|
/* 027DF3CC */ _t143 = cpu->r[1] + 0x000000D4u;
|
|
/* 027DF3CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027DF3D0 */ _t144 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF3D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 027DF3D4 */ _t145 = cpu->r[1] + 0x000000D0u;
|
|
/* 027DF3D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027DF3D8 */ cpu->f[8] = cpu->f[10] - cpu->f[7];
|
|
/* 027DF3DC */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF3DC */ rbrew_write32(cpu->mem, _t146, cpu->r[7]);
|
|
/* 027DF3E0 */ _t147 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF3E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 027DF3E4 */ _t148 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF3E4 */ rbrew_write32(cpu->mem, _t148, cpu->r[5]);
|
|
/* 027DF3E8 */ _t149 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF3E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 027DF3EC */ _t150 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DF3EC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[8]);
|
|
/* 027DF3F0 */ _t151 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DF3F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 027DF3F4 */ _t152 = cpu->r[29] + 0x00000010u;
|
|
/* 027DF3F4 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[0]);
|
|
/* 027DF3F8 */ _t153 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF3F8 */ rbrew_write32(cpu->mem, _t153, cpu->r[8]);
|
|
/* 027DF3FC */ _t154 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF3FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 027DF400 */ _t155 = cpu->r[29] + 0x00000014u;
|
|
/* 027DF400 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[7]);
|
|
/* 027DF404 */ _t156 = cpu->r[29] + 0x00000018u;
|
|
/* 027DF404 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[8]);
|
|
L_027DF408: ; // 0x27df408
|
|
/* 027DF408 */ _t157 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF408 */ cpu->r[29] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027DF40C */ _t158 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t158);
|
|
/* 027DF410 */ _t159 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF410 */ cpu->r[30] = rbrew_read32(cpu->mem, _t159);
|
|
/* 027DF414 */ cpu->lr = cpu->r[0];
|
|
/* 027DF418 */ _t160 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027DF41C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 027DF420 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DF424 */ return;
|
|
}
|
|
|
|
// fn_027DF03C @ 0x27df03c
|
|
void Gambit_fn_027DF03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t22, _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, _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;
|
|
double _ft20, _ft21, _ft94, _ft95;
|
|
|
|
L_027DF03C: ; // 0x27df03c
|
|
/* 027DF03C */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 027DF03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF03C */ cpu->r[1] = _t0;
|
|
/* 027DF040 */ _t1 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF040 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027DF044 */ _t2 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DF048 */ _t3 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF048 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DF04C */ cpu->r[30] = cpu->r[3];
|
|
/* 027DF050 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 027DF054 */ _t4 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF054 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DF058 */ cpu->r[29] = cpu->r[5];
|
|
/* 027DF05C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF060 */ cpu->r[31] = cpu->r[4];
|
|
/* 027DF064 */ Gambit_fn_027DD020(cpu);
|
|
/* 027DF068 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027DF068 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DF06C */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DF06C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DF070 */ cpu->f[8] = cpu->f[0] + cpu->f[8];
|
|
/* 027DF074 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DF078 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 027DF07C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DF07C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DF07C */ if (_t8) goto L_027DF0A0; else goto L_027DF080;
|
|
L_027DF080: ; // 0x27df080
|
|
/* 027DF080 */ _t9 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF080 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DF084 */ _t10 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027DF088 */ _t11 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF088 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DF08C */ cpu->lr = cpu->r[0];
|
|
/* 027DF090 */ _t12 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF090 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DF094 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 027DF098 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DF09C */ return;
|
|
L_027DF0A0: ; // 0x27df0a0
|
|
/* 027DF0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027DF0A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF0A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DF0A4 */ if (_t14) goto L_027DF408; else goto L_027DF0A8;
|
|
L_027DF0A8: ; // 0x27df0a8
|
|
/* 027DF0A8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DF0AC */ cpu->r[8] = 0x10110000u;
|
|
/* 027DF0B0 */ _t15 = cpu->r[7] + 0xFFFFED9Cu;
|
|
/* 027DF0B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027DF0B4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 027DF0B8 */ _t16 = cpu->r[8] + 0xFFFFEDA0u;
|
|
/* 027DF0B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027DF0BC */ cpu->r[6] = 0x10110000u;
|
|
/* 027DF0C0 */ _t17 = cpu->r[6] + 0xFFFFEDA4u;
|
|
/* 027DF0C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DF0C4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DF0C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027DF0C4 */ if (_t19) goto L_027DF0D0; else goto L_027DF0C8;
|
|
L_027DF0C8: ; // 0x27df0c8
|
|
/* 027DF0C8 */ cpu->f[11] = cpu->f[12];
|
|
/* 027DF0CC */ goto L_027DF0E4;
|
|
L_027DF0D0: ; // 0x27df0d0
|
|
/* 027DF0D0 */ _ft20 = sqrt(cpu->f[1]);
|
|
/* 027DF0D0 */ _ft21 = (double)(int32_t)0x00000001u;
|
|
/* 027DF0D0 */ cpu->f[11] = _ft21 / _ft20;
|
|
/* 027DF0D4 */ cpu->f[7] = cpu->f[11] * cpu->f[11];
|
|
/* 027DF0D8 */ cpu->f[10] = cpu->f[11] * cpu->f[13];
|
|
/* 027DF0DC */ cpu->f[7] = -fma(cpu->f[7], cpu->f[1], -(cpu->f[0]));
|
|
/* 027DF0E0 */ cpu->f[11] = cpu->f[7] * cpu->f[10];
|
|
L_027DF0E4: ; // 0x27df0e4
|
|
/* 027DF0E4 */ cpu->f[10] = -fma(cpu->f[11], cpu->f[1], -(cpu->f[8]));
|
|
/* 027DF0E8 */ _t22 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027DF0E8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 027DF0EC */ /* nop */
|
|
/* 027DF0F0 */ /* nop */
|
|
/* 027DF0F4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF0F4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027DF0F8 */ /* nop */
|
|
/* 027DF0FC */ /* nop */
|
|
/* 027DF100 */ _t24 = cpu->r[30] + 0x00000018u;
|
|
/* 027DF100 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027DF104 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF104 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027DF108 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 027DF108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DF10C */ cpu->f[9] = cpu->f[11] - cpu->f[9];
|
|
/* 027DF110 */ _t27 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027DF110 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027DF114 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DF114 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 027DF118 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 027DF118 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[9]);
|
|
/* 027DF11C */ _t30 = cpu->r[1] + 0x00000054u;
|
|
/* 027DF11C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DF120 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF120 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 027DF124 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF124 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DF128 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 027DF128 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 027DF12C */ cpu->f[10] = cpu->f[11] * cpu->f[6];
|
|
/* 027DF130 */ /* nop */
|
|
/* 027DF134 */ _t34 = cpu->r[1] + 0x00000060u;
|
|
/* 027DF134 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 027DF138 */ /* nop */
|
|
/* 027DF13C */ _t35 = cpu->r[1] + 0x00000060u;
|
|
/* 027DF13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027DF140 */ /* nop */
|
|
/* 027DF144 */ _t36 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027DF144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DF148 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 027DF148 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027DF14C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027DF14C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 027DF150 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF150 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 027DF154 */ /* nop */
|
|
/* 027DF158 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF158 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027DF15C */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF15C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027DF160 */ /* nop */
|
|
/* 027DF164 */ /* nop */
|
|
/* 027DF168 */ _t42 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF168 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027DF16C */ _t43 = cpu->r[1] + 0x00000064u;
|
|
/* 027DF16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027DF170 */ cpu->f[7] = cpu->f[8] + cpu->f[9];
|
|
/* 027DF174 */ _t44 = cpu->r[1] + 0x00000068u;
|
|
/* 027DF174 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027DF178 */ _t45 = cpu->r[1] + 0x000000E8u;
|
|
/* 027DF178 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 027DF17C */ _t46 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DF17C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[7]);
|
|
/* 027DF180 */ _t47 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027DF180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027DF184 */ _t48 = cpu->r[1] + 0x000000ECu;
|
|
/* 027DF184 */ rbrew_write32(cpu->mem, _t48, cpu->r[5]);
|
|
/* 027DF188 */ _t49 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DF188 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 027DF18C */ /* nop */
|
|
/* 027DF190 */ /* nop */
|
|
/* 027DF194 */ /* nop */
|
|
/* 027DF198 */ /* nop */
|
|
/* 027DF19C */ _t50 = cpu->r[31] + 0x00000018u;
|
|
/* 027DF19C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 027DF1A0 */ _t51 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DF1A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 027DF1A4 */ cpu->f[7] = cpu->f[10] - cpu->f[7];
|
|
/* 027DF1A8 */ _t52 = cpu->r[1] + 0x00000070u;
|
|
/* 027DF1A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027DF1AC */ _t53 = cpu->r[1] + 0x00000074u;
|
|
/* 027DF1AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027DF1B0 */ _t54 = cpu->r[1] + 0x00000078u;
|
|
/* 027DF1B0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[7]);
|
|
/* 027DF1B4 */ _t55 = cpu->r[1] + 0x00000078u;
|
|
/* 027DF1B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027DF1B8 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF1B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027DF1BC */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF1BC */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 027DF1C0 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF1C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027DF1C4 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF1C4 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 027DF1C8 */ cpu->f[11] = cpu->f[7] * cpu->f[9];
|
|
/* 027DF1CC */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF1CC */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 027DF1D0 */ /* nop */
|
|
/* 027DF1D4 */ _t61 = cpu->r[1] + 0x00000084u;
|
|
/* 027DF1D4 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[11]);
|
|
/* 027DF1D8 */ /* nop */
|
|
/* 027DF1DC */ _t62 = cpu->r[1] + 0x00000084u;
|
|
/* 027DF1DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027DF1E0 */ /* nop */
|
|
/* 027DF1E4 */ _t63 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027DF1E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027DF1E8 */ _t64 = cpu->r[1] + 0x00000080u;
|
|
/* 027DF1E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027DF1EC */ _t65 = cpu->r[1] + 0x00000040u;
|
|
/* 027DF1EC */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 027DF1F0 */ _t66 = cpu->r[1] + 0x00000044u;
|
|
/* 027DF1F0 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 027DF1F4 */ /* nop */
|
|
/* 027DF1F8 */ _t67 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF1F8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027DF1FC */ _t68 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF1FC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 027DF200 */ /* nop */
|
|
/* 027DF204 */ /* nop */
|
|
/* 027DF208 */ _t69 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DF208 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027DF20C */ _t70 = cpu->r[1] + 0x00000088u;
|
|
/* 027DF20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027DF210 */ cpu->f[7] = cpu->f[8] + cpu->f[9];
|
|
/* 027DF214 */ _t71 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027DF214 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027DF218 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 027DF218 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 027DF21C */ _t73 = cpu->r[1] + 0x00000090u;
|
|
/* 027DF21C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[7]);
|
|
/* 027DF220 */ _t74 = cpu->r[1] + 0x00000090u;
|
|
/* 027DF220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027DF224 */ _t75 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DF224 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027DF228 */ _t76 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF228 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 027DF22C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF22C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027DF230 */ /* nop */
|
|
/* 027DF234 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027DF238 */ _t78 = cpu->r[1] + 0x00000038u;
|
|
/* 027DF238 */ rbrew_write32(cpu->mem, _t78, cpu->r[5]);
|
|
/* 027DF23C */ /* nop */
|
|
/* 027DF240 */ _t79 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DF240 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[9]);
|
|
/* 027DF244 */ /* nop */
|
|
/* 027DF248 */ _t80 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027DF248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027DF24C */ /* nop */
|
|
/* 027DF250 */ _t81 = cpu->r[1] + 0x00000098u;
|
|
/* 027DF250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027DF254 */ _t82 = cpu->r[1] + 0x00000094u;
|
|
/* 027DF254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027DF258 */ _t83 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DF258 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 027DF25C */ _t84 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DF25C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 027DF260 */ _t85 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DF260 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 027DF264 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 027DF268 */ _t86 = cpu->r[1] + 0x000000DCu;
|
|
/* 027DF268 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027DF26C */ _t87 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DF26C */ rbrew_write32(cpu->mem, _t87, cpu->r[6]);
|
|
/* 027DF270 */ cpu->f[10] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 027DF274 */ _t88 = cpu->r[1] + 0x000000E4u;
|
|
/* 027DF274 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027DF278 */ cpu->f[10] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 027DF27C */ _t89 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF27C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[11]);
|
|
/* 027DF280 */ _t90 = cpu->r[29] + 0x00000004u;
|
|
/* 027DF280 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 027DF284 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DF288 */ _t91 = cpu->r[29] + 0x00000000u;
|
|
/* 027DF288 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 027DF28C */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DF28C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027DF28C */ if (_t93) goto L_027DF290; else goto L_027DF2C4;
|
|
L_027DF290: ; // 0x27df290
|
|
/* 027DF290 */ _ft94 = sqrt(cpu->f[10]);
|
|
/* 027DF290 */ _ft95 = (double)(int32_t)0x00000001u;
|
|
/* 027DF290 */ cpu->f[7] = _ft95 / _ft94;
|
|
/* 027DF294 */ cpu->f[9] = cpu->f[7] * cpu->f[7];
|
|
/* 027DF298 */ cpu->f[11] = cpu->f[7] * cpu->f[13];
|
|
/* 027DF29C */ cpu->f[9] = -fma(cpu->f[9], cpu->f[10], -(cpu->f[0]));
|
|
/* 027DF2A0 */ cpu->f[7] = cpu->f[9] * cpu->f[11];
|
|
/* 027DF2A4 */ _t96 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027DF2A8 */ /* nop */
|
|
/* 027DF2AC */ cpu->f[0] = cpu->f[0] * cpu->f[7];
|
|
/* 027DF2B0 */ _t97 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF2B0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 027DF2B4 */ /* nop */
|
|
/* 027DF2B8 */ _t98 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2B8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 027DF2BC */ cpu->f[10] = cpu->f[10] * cpu->f[7];
|
|
/* 027DF2C0 */ /* nop */
|
|
L_027DF2C4: ; // 0x27df2c4
|
|
/* 027DF2C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[12]);
|
|
/* 027DF2C8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF2C8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027DF2C8 */ if (_t100) goto L_027DF2CC; else goto L_027DF2E8;
|
|
L_027DF2CC: ; // 0x27df2cc
|
|
/* 027DF2CC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027DF2D0 */ _t101 = cpu->r[11] + 0x00003864u;
|
|
/* 027DF2D0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027DF2D0 */ cpu->r[11] = _t101;
|
|
/* 027DF2D4 */ _t102 = cpu->r[29] + 0x00000000u;
|
|
/* 027DF2D4 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[7]);
|
|
/* 027DF2D8 */ _t103 = cpu->r[11] + 0x00000004u;
|
|
/* 027DF2D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 027DF2DC */ _t104 = cpu->r[29] + 0x00000004u;
|
|
/* 027DF2DC */ rbrew_write_f32(cpu->mem, _t104, cpu->f[8]);
|
|
/* 027DF2E0 */ _t105 = cpu->r[11] + 0x00000008u;
|
|
/* 027DF2E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 027DF2E4 */ _t106 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF2E4 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[9]);
|
|
L_027DF2E8: ; // 0x27df2e8
|
|
/* 027DF2E8 */ /* nop */
|
|
/* 027DF2EC */ /* nop */
|
|
/* 027DF2F0 */ /* nop */
|
|
/* 027DF2F4 */ /* nop */
|
|
/* 027DF2F8 */ _t107 = cpu->r[30] + 0x00000018u;
|
|
/* 027DF2F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027DF2FC */ _t108 = cpu->r[1] + 0x000000A4u;
|
|
/* 027DF2FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027DF300 */ _t109 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 027DF304 */ _t110 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027DF304 */ rbrew_write32(cpu->mem, _t110, cpu->r[9]);
|
|
/* 027DF308 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 027DF30C */ _t111 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DF30C */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027DF310 */ _t112 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF310 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[12]);
|
|
/* 027DF314 */ _t113 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DF314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027DF318 */ _t114 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF318 */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 027DF31C */ _t115 = cpu->r[1] + 0x00000030u;
|
|
/* 027DF31C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027DF320 */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 027DF320 */ rbrew_write32(cpu->mem, _t116, cpu->r[8]);
|
|
/* 027DF324 */ cpu->f[13] = cpu->f[0] * cpu->f[6];
|
|
/* 027DF328 */ /* nop */
|
|
/* 027DF32C */ _t117 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF32C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
/* 027DF330 */ /* nop */
|
|
/* 027DF334 */ _t118 = cpu->r[1] + 0x000000B4u;
|
|
/* 027DF334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027DF338 */ /* nop */
|
|
/* 027DF33C */ _t119 = cpu->r[1] + 0x000000ACu;
|
|
/* 027DF33C */ cpu->r[11] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027DF340 */ _t120 = cpu->r[1] + 0x000000B0u;
|
|
/* 027DF340 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027DF344 */ _t121 = cpu->r[1] + 0x00000034u;
|
|
/* 027DF344 */ rbrew_write32(cpu->mem, _t121, cpu->r[11]);
|
|
/* 027DF348 */ _t122 = cpu->r[1] + 0x00000038u;
|
|
/* 027DF348 */ rbrew_write32(cpu->mem, _t122, cpu->r[12]);
|
|
/* 027DF34C */ /* nop */
|
|
/* 027DF350 */ _t123 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF350 */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 027DF354 */ _t124 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027DF354 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 027DF358 */ /* nop */
|
|
/* 027DF35C */ _t125 = cpu->r[29] + 0x00000008u;
|
|
/* 027DF35C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 027DF360 */ /* nop */
|
|
/* 027DF364 */ _t126 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027DF364 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 027DF368 */ _t127 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027DF368 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027DF36C */ cpu->f[0] = cpu->f[8] + cpu->f[10];
|
|
/* 027DF370 */ _t128 = cpu->r[1] + 0x000000B8u;
|
|
/* 027DF370 */ cpu->r[6] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027DF374 */ _t129 = cpu->r[1] + 0x000000BCu;
|
|
/* 027DF374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027DF378 */ cpu->f[13] = cpu->f[7] * cpu->f[9];
|
|
/* 027DF37C */ /* nop */
|
|
/* 027DF380 */ _t130 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DF380 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]);
|
|
/* 027DF384 */ _t131 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DF384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t131);
|
|
/* 027DF388 */ /* nop */
|
|
/* 027DF38C */ _t132 = cpu->r[1] + 0x000000CCu;
|
|
/* 027DF38C */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]);
|
|
/* 027DF390 */ _t133 = cpu->r[1] + 0x000000CCu;
|
|
/* 027DF390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027DF394 */ /* nop */
|
|
/* 027DF398 */ _t134 = cpu->r[1] + 0x000000C4u;
|
|
/* 027DF398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027DF39C */ _t135 = cpu->r[1] + 0x000000C8u;
|
|
/* 027DF39C */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027DF3A0 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF3A0 */ rbrew_write32(cpu->mem, _t136, cpu->r[7]);
|
|
/* 027DF3A4 */ _t137 = cpu->r[1] + 0x00000020u;
|
|
/* 027DF3A4 */ rbrew_write32(cpu->mem, _t137, cpu->r[8]);
|
|
/* 027DF3A8 */ _t138 = cpu->r[1] + 0x00000044u;
|
|
/* 027DF3A8 */ rbrew_write32(cpu->mem, _t138, cpu->r[9]);
|
|
/* 027DF3AC */ _t139 = cpu->r[1] + 0x00000040u;
|
|
/* 027DF3AC */ rbrew_write32(cpu->mem, _t139, cpu->r[6]);
|
|
/* 027DF3B0 */ /* nop */
|
|
/* 027DF3B4 */ /* nop */
|
|
/* 027DF3B8 */ _t140 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF3B8 */ rbrew_write32(cpu->mem, _t140, cpu->r[11]);
|
|
/* 027DF3BC */ /* nop */
|
|
/* 027DF3C0 */ _t141 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF3C0 */ rbrew_write32(cpu->mem, _t141, cpu->r[0]);
|
|
/* 027DF3C4 */ _t142 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF3C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027DF3C8 */ /* nop */
|
|
/* 027DF3CC */ _t143 = cpu->r[1] + 0x000000D4u;
|
|
/* 027DF3CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027DF3D0 */ _t144 = cpu->r[1] + 0x00000048u;
|
|
/* 027DF3D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 027DF3D4 */ _t145 = cpu->r[1] + 0x000000D0u;
|
|
/* 027DF3D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027DF3D8 */ cpu->f[8] = cpu->f[10] - cpu->f[7];
|
|
/* 027DF3DC */ _t146 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF3DC */ rbrew_write32(cpu->mem, _t146, cpu->r[7]);
|
|
/* 027DF3E0 */ _t147 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF3E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 027DF3E4 */ _t148 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF3E4 */ rbrew_write32(cpu->mem, _t148, cpu->r[5]);
|
|
/* 027DF3E8 */ _t149 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF3E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 027DF3EC */ _t150 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DF3EC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[8]);
|
|
/* 027DF3F0 */ _t151 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DF3F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 027DF3F4 */ _t152 = cpu->r[29] + 0x00000010u;
|
|
/* 027DF3F4 */ rbrew_write_f32(cpu->mem, _t152, cpu->f[0]);
|
|
/* 027DF3F8 */ _t153 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF3F8 */ rbrew_write32(cpu->mem, _t153, cpu->r[8]);
|
|
/* 027DF3FC */ _t154 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF3FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 027DF400 */ _t155 = cpu->r[29] + 0x00000014u;
|
|
/* 027DF400 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[7]);
|
|
/* 027DF404 */ _t156 = cpu->r[29] + 0x00000018u;
|
|
/* 027DF404 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[8]);
|
|
L_027DF408: ; // 0x27df408
|
|
/* 027DF408 */ _t157 = cpu->r[1] + 0x000000F4u;
|
|
/* 027DF408 */ cpu->r[29] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027DF40C */ _t158 = cpu->r[1] + 0x00000104u;
|
|
/* 027DF40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t158);
|
|
/* 027DF410 */ _t159 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DF410 */ cpu->r[30] = rbrew_read32(cpu->mem, _t159);
|
|
/* 027DF414 */ cpu->lr = cpu->r[0];
|
|
/* 027DF418 */ _t160 = cpu->r[1] + 0x000000FCu;
|
|
/* 027DF418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027DF41C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 027DF420 */ cpu->r[3] = 0x00000001u;
|
|
/* 027DF424 */ return;
|
|
}
|
|
|
|
// fn_027DF428 @ 0x27df428
|
|
void Gambit_fn_027DF428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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;
|
|
|
|
L_027DF428: ; // 0x27df428
|
|
/* 027DF428 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DF428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF428 */ cpu->r[1] = _t0;
|
|
/* 027DF42C */ cpu->r[0] = cpu->lr;
|
|
/* 027DF430 */ /* nop */
|
|
/* 027DF434 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027DF438 */ cpu->r[31] = cpu->r[31] + 0xFFFF9668u;
|
|
/* 027DF43C */ cpu->r[30] = 0x000000FFu;
|
|
/* 027DF440 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF440 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027DF444 */ cpu->r[29] = 0x000000C8u;
|
|
/* 027DF448 */ cpu->r[8] = 0x000000DBu;
|
|
/* 027DF44C */ _t2 = cpu->r[31] + 0x00000004u;
|
|
/* 027DF44C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[29]);
|
|
/* 027DF450 */ cpu->r[11] = 0x000000E7u;
|
|
/* 027DF454 */ _t3 = cpu->r[31] + 0x0000001Fu;
|
|
/* 027DF454 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[30]);
|
|
/* 027DF458 */ cpu->r[28] = 0x000000D7u;
|
|
/* 027DF45C */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DF45C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[8]);
|
|
/* 027DF460 */ cpu->r[0] = 0x000000DCu;
|
|
/* 027DF464 */ _t5 = cpu->r[31] + 0x00000017u;
|
|
/* 027DF464 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[30]);
|
|
/* 027DF468 */ cpu->r[6] = 0x000000DFu;
|
|
/* 027DF46C */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027DF46C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 027DF470 */ cpu->r[0] = 0x000000A7u;
|
|
/* 027DF474 */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 027DF474 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 027DF478 */ cpu->r[9] = 0x000000ADu;
|
|
/* 027DF47C */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 027DF47C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027DF480 */ _t9 = cpu->r[31] + 0x0000000Du;
|
|
/* 027DF480 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[9]);
|
|
/* 027DF484 */ cpu->r[0] = 0x0000009Eu;
|
|
/* 027DF488 */ _t10 = cpu->r[31] + 0x00000035u;
|
|
/* 027DF488 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 027DF48C */ cpu->r[3] = 0x000000E4u;
|
|
/* 027DF490 */ _t11 = cpu->r[31] + 0x00000016u;
|
|
/* 027DF490 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 027DF494 */ _t12 = cpu->r[31] + 0x00000025u;
|
|
/* 027DF494 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[3]);
|
|
/* 027DF498 */ cpu->r[5] = 0x0000009Cu;
|
|
/* 027DF49C */ _t13 = cpu->r[31] + 0x00000007u;
|
|
/* 027DF49C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 027DF4A0 */ cpu->r[10] = 0x000000EBu;
|
|
/* 027DF4A4 */ _t14 = cpu->r[31] + 0x0000002Eu;
|
|
/* 027DF4A4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[5]);
|
|
/* 027DF4A8 */ cpu->r[4] = 0x000000F9u;
|
|
/* 027DF4AC */ _t15 = cpu->r[31] + 0x00000026u;
|
|
/* 027DF4AC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
/* 027DF4B0 */ cpu->r[27] = 0x00000044u;
|
|
/* 027DF4B4 */ _t16 = cpu->r[31] + 0x00000034u;
|
|
/* 027DF4B4 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[4]);
|
|
/* 027DF4B8 */ cpu->r[0] = 0x00000087u;
|
|
/* 027DF4BC */ _t17 = cpu->r[31] + 0x0000000Eu;
|
|
/* 027DF4BC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[27]);
|
|
/* 027DF4C0 */ cpu->r[26] = 0x00000040u;
|
|
/* 027DF4C4 */ _t18 = cpu->r[31] + 0x0000002Du;
|
|
/* 027DF4C4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 027DF4C8 */ cpu->r[8] = 0x00000002u;
|
|
/* 027DF4CC */ _t19 = cpu->r[31] + 0x00000006u;
|
|
/* 027DF4CC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[26]);
|
|
/* 027DF4D0 */ _t20 = cpu->r[31] + 0x00000036u;
|
|
/* 027DF4D0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[8]);
|
|
/* 027DF4D4 */ _t21 = cpu->r[31] + 0x0000002Fu;
|
|
/* 027DF4D4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 027DF4D8 */ cpu->r[12] = 0x0000008Eu;
|
|
/* 027DF4DC */ _t22 = cpu->r[31] + 0x00000027u;
|
|
/* 027DF4DC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 027DF4E0 */ cpu->r[7] = 0x000000C5u;
|
|
/* 027DF4E4 */ _t23 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DF4E4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 027DF4E8 */ _t24 = cpu->r[31] + 0x0000001Eu;
|
|
/* 027DF4E8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[7]);
|
|
/* 027DF4EC */ _t25 = cpu->r[31] + 0x0000001Du;
|
|
/* 027DF4EC */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[28]);
|
|
/* 027DF4F0 */ cpu->r[0] = 0x000000B8u;
|
|
/* 027DF4F4 */ _t26 = cpu->r[31] + 0x0000000Fu;
|
|
/* 027DF4F4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 027DF4F8 */ _t27 = cpu->r[31] + 0x00000015u;
|
|
/* 027DF4F8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 027DF4FC */ _t28 = cpu->r[31] + 0x00000005u;
|
|
/* 027DF4FC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[6]);
|
|
/* 027DF500 */ _t29 = cpu->r[31] + 0x00000037u;
|
|
/* 027DF500 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 027DF504 */ _t30 = cpu->r[31] + 0x00000057u;
|
|
/* 027DF504 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 027DF508 */ cpu->r[7] = 0x0000003Cu;
|
|
/* 027DF50C */ _t31 = cpu->r[31] + 0x0000005Fu;
|
|
/* 027DF50C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 027DF510 */ cpu->r[8] = 0x0000007Eu;
|
|
/* 027DF514 */ _t32 = cpu->r[31] + 0x00000054u;
|
|
/* 027DF514 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[7]);
|
|
/* 027DF518 */ cpu->r[0] = 0x0000002Du;
|
|
/* 027DF51C */ _t33 = cpu->r[31] + 0x00000045u;
|
|
/* 027DF51C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 027DF520 */ cpu->r[12] = 0x00000034u;
|
|
/* 027DF524 */ _t34 = cpu->r[31] + 0x0000005Eu;
|
|
/* 027DF524 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[0]);
|
|
/* 027DF528 */ _t35 = cpu->r[31] + 0x0000004Du;
|
|
/* 027DF528 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 027DF52C */ cpu->r[9] = 0x00000028u;
|
|
/* 027DF530 */ _t36 = cpu->r[31] + 0x00000047u;
|
|
/* 027DF530 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 027DF534 */ cpu->r[5] = 0x000000B3u;
|
|
/* 027DF538 */ _t37 = cpu->r[31] + 0x00000046u;
|
|
/* 027DF538 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[9]);
|
|
/* 027DF53C */ _t38 = cpu->r[31] + 0x00000044u;
|
|
/* 027DF53C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[5]);
|
|
/* 027DF540 */ _t39 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027DF540 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[30]);
|
|
/* 027DF544 */ cpu->r[11] = 0x000000F1u;
|
|
/* 027DF548 */ _t40 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027DF548 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[28]);
|
|
/* 027DF54C */ _t41 = cpu->r[31] + 0x0000003Du;
|
|
/* 027DF54C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[11]);
|
|
/* 027DF550 */ cpu->r[5] = 0x00000011u;
|
|
/* 027DF554 */ _t42 = cpu->r[31] + 0x0000003Eu;
|
|
/* 027DF554 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[30]);
|
|
/* 027DF558 */ _t43 = cpu->r[31] + 0x0000004Eu;
|
|
/* 027DF558 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[5]);
|
|
/* 027DF55C */ _t44 = cpu->r[31] + 0x0000003Fu;
|
|
/* 027DF55C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[30]);
|
|
/* 027DF560 */ cpu->r[10] = 0x000000ECu;
|
|
/* 027DF564 */ _t45 = cpu->r[31] + 0x0000004Fu;
|
|
/* 027DF564 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 027DF568 */ cpu->r[8] = 0x000000A0u;
|
|
/* 027DF56C */ _t46 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027DF56C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[10]);
|
|
/* 027DF570 */ _t47 = cpu->r[31] + 0x00000055u;
|
|
/* 027DF570 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[8]);
|
|
/* 027DF574 */ cpu->r[12] = 0x000000C0u;
|
|
/* 027DF578 */ _t48 = cpu->r[31] + 0x00000056u;
|
|
/* 027DF578 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[7]);
|
|
/* 027DF57C */ cpu->r[6] = 0x000000FCu;
|
|
/* 027DF580 */ _t49 = cpu->r[31] + 0x0000005Du;
|
|
/* 027DF580 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[12]);
|
|
/* 027DF584 */ cpu->r[7] = 0x000000EDu;
|
|
/* 027DF588 */ _t50 = cpu->r[31] + 0x00000064u;
|
|
/* 027DF588 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[6]);
|
|
/* 027DF58C */ cpu->r[8] = 0x000000D1u;
|
|
/* 027DF590 */ _t51 = cpu->r[31] + 0x00000065u;
|
|
/* 027DF590 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[7]);
|
|
/* 027DF594 */ _t52 = cpu->r[31] + 0x00000066u;
|
|
/* 027DF594 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[8]);
|
|
/* 027DF598 */ cpu->r[10] = 0x00000088u;
|
|
/* 027DF59C */ _t53 = cpu->r[31] + 0x00000067u;
|
|
/* 027DF59C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 027DF5A0 */ _t54 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027DF5A0 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[10]);
|
|
/* 027DF5A4 */ _t55 = cpu->r[31] + 0x00000085u;
|
|
/* 027DF5A4 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[4]);
|
|
/* 027DF5A8 */ _t56 = cpu->r[31] + 0x0000008Du;
|
|
/* 027DF5A8 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[27]);
|
|
/* 027DF5AC */ _t57 = cpu->r[31] + 0x0000008Fu;
|
|
/* 027DF5AC */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[30]);
|
|
/* 027DF5B0 */ cpu->r[8] = 0x00000046u;
|
|
/* 027DF5B4 */ cpu->r[12] = 0x000000B6u;
|
|
/* 027DF5B8 */ _t58 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027DF5B8 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[8]);
|
|
/* 027DF5BC */ cpu->r[5] = 0x000000FBu;
|
|
/* 027DF5C0 */ _t59 = cpu->r[31] + 0x00000094u;
|
|
/* 027DF5C0 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[12]);
|
|
/* 027DF5C4 */ _t60 = cpu->r[31] + 0x00000096u;
|
|
/* 027DF5C4 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[5]);
|
|
/* 027DF5C8 */ _t61 = cpu->r[31] + 0x00000087u;
|
|
/* 027DF5C8 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[30]);
|
|
/* 027DF5CC */ cpu->r[10] = 0x00000053u;
|
|
/* 027DF5D0 */ _t62 = cpu->r[31] + 0x0000006Fu;
|
|
/* 027DF5D0 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[30]);
|
|
/* 027DF5D4 */ cpu->r[12] = 0x00000092u;
|
|
/* 027DF5D8 */ _t63 = cpu->r[31] + 0x0000008Eu;
|
|
/* 027DF5D8 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[10]);
|
|
/* 027DF5DC */ _t64 = cpu->r[31] + 0x0000006Eu;
|
|
/* 027DF5DC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[12]);
|
|
/* 027DF5E0 */ _t65 = cpu->r[31] + 0x00000084u;
|
|
/* 027DF5E0 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]);
|
|
/* 027DF5E4 */ cpu->r[0] = 0x000000B4u;
|
|
/* 027DF5E8 */ _t66 = cpu->r[31] + 0x00000077u;
|
|
/* 027DF5E8 */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[30]);
|
|
/* 027DF5EC */ _t67 = cpu->r[31] + 0x00000086u;
|
|
/* 027DF5EC */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
/* 027DF5F0 */ _t68 = cpu->r[31] + 0x0000007Eu;
|
|
/* 027DF5F0 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[30]);
|
|
/* 027DF5F4 */ _t69 = cpu->r[31] + 0x0000007Fu;
|
|
/* 027DF5F4 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[30]);
|
|
/* 027DF5F8 */ _t70 = cpu->r[31] + 0x00000095u;
|
|
/* 027DF5F8 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[7]);
|
|
/* 027DF5FC */ cpu->r[8] = 0x00000071u;
|
|
/* 027DF600 */ _t71 = cpu->r[31] + 0x00000074u;
|
|
/* 027DF600 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[26]);
|
|
/* 027DF604 */ cpu->r[11] = 0x00000050u;
|
|
/* 027DF608 */ _t72 = cpu->r[31] + 0x0000009Cu;
|
|
/* 027DF608 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[8]);
|
|
/* 027DF60C */ _t73 = cpu->r[31] + 0x0000006Du;
|
|
/* 027DF60C */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[11]);
|
|
/* 027DF610 */ cpu->r[4] = 0x00000080u;
|
|
/* 027DF614 */ _t74 = cpu->r[31] + 0x00000075u;
|
|
/* 027DF614 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[26]);
|
|
/* 027DF618 */ _t75 = cpu->r[31] + 0x0000007Du;
|
|
/* 027DF618 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[4]);
|
|
/* 027DF61C */ _t76 = cpu->r[31] + 0x00000076u;
|
|
/* 027DF61C */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[26]);
|
|
/* 027DF620 */ _t77 = cpu->r[31] + 0x0000007Cu;
|
|
/* 027DF620 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[4]);
|
|
/* 027DF624 */ cpu->r[9] = 0x00000067u;
|
|
/* 027DF628 */ _t78 = cpu->r[31] + 0x00000097u;
|
|
/* 027DF628 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
/* 027DF62C */ _t79 = cpu->r[31] + 0x0000009Du;
|
|
/* 027DF62C */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[9]);
|
|
/* 027DF630 */ _t80 = cpu->r[31] + 0x0000009Eu;
|
|
/* 027DF630 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[27]);
|
|
/* 027DF634 */ cpu->r[12] = 0x000000B7u;
|
|
/* 027DF638 */ _t81 = cpu->r[31] + 0x0000009Fu;
|
|
/* 027DF638 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[30]);
|
|
/* 027DF63C */ _t82 = cpu->r[31] + 0x000000A4u;
|
|
/* 027DF63C */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[12]);
|
|
/* 027DF640 */ _t83 = cpu->r[31] + 0x000000A5u;
|
|
/* 027DF640 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[5]);
|
|
/* 027DF644 */ cpu->r[5] = 0x000000BAu;
|
|
/* 027DF648 */ _t84 = cpu->r[31] + 0x000000A6u;
|
|
/* 027DF648 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[5]);
|
|
/* 027DF64C */ _t85 = cpu->r[31] + 0x000000A7u;
|
|
/* 027DF64C */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[30]);
|
|
/* 027DF650 */ _t86 = cpu->r[31] + 0x000000BFu;
|
|
/* 027DF650 */ rbrew_write8(cpu->mem, _t86, (uint8_t)cpu->r[30]);
|
|
/* 027DF654 */ cpu->r[6] = 0x0000006Du;
|
|
/* 027DF658 */ _t87 = cpu->r[31] + 0x000000AEu;
|
|
/* 027DF658 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[4]);
|
|
/* 027DF65C */ _t88 = cpu->r[31] + 0x000000C6u;
|
|
/* 027DF65C */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[6]);
|
|
/* 027DF660 */ _t89 = cpu->r[31] + 0x000000D4u;
|
|
/* 027DF660 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[29]);
|
|
/* 027DF664 */ cpu->r[11] = 0x0000001Du;
|
|
/* 027DF668 */ _t90 = cpu->r[31] + 0x000000ACu;
|
|
/* 027DF668 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[4]);
|
|
/* 027DF66C */ cpu->r[10] = 0x000000E6u;
|
|
/* 027DF670 */ _t91 = cpu->r[31] + 0x000000BEu;
|
|
/* 027DF670 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[11]);
|
|
/* 027DF674 */ _t92 = cpu->r[31] + 0x000000BDu;
|
|
/* 027DF674 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[10]);
|
|
/* 027DF678 */ _t93 = cpu->r[31] + 0x000000CCu;
|
|
/* 027DF678 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[30]);
|
|
/* 027DF67C */ _t94 = cpu->r[31] + 0x000000C4u;
|
|
/* 027DF67C */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[3]);
|
|
/* 027DF680 */ _t95 = cpu->r[31] + 0x000000CDu;
|
|
/* 027DF680 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[30]);
|
|
/* 027DF684 */ _t96 = cpu->r[31] + 0x000000C7u;
|
|
/* 027DF684 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[30]);
|
|
/* 027DF688 */ _t97 = cpu->r[31] + 0x000000ADu;
|
|
/* 027DF688 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[4]);
|
|
/* 027DF68C */ _t98 = cpu->r[31] + 0x000000AFu;
|
|
/* 027DF68C */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[30]);
|
|
/* 027DF690 */ _t99 = cpu->r[31] + 0x000000D7u;
|
|
/* 027DF690 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[30]);
|
|
/* 027DF694 */ cpu->r[7] = 0x000000C9u;
|
|
/* 027DF698 */ _t100 = cpu->r[31] + 0x000000CFu;
|
|
/* 027DF698 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[30]);
|
|
/* 027DF69C */ _t101 = cpu->r[31] + 0x000000B6u;
|
|
/* 027DF69C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[7]);
|
|
/* 027DF6A0 */ cpu->r[9] = 0x000000B5u;
|
|
/* 027DF6A4 */ _t102 = cpu->r[31] + 0x000000B7u;
|
|
/* 027DF6A4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[30]);
|
|
/* 027DF6A8 */ _t103 = cpu->r[31] + 0x000000BCu;
|
|
/* 027DF6A8 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[9]);
|
|
/* 027DF6AC */ _t104 = cpu->r[31] + 0x000000D6u;
|
|
/* 027DF6AC */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[29]);
|
|
/* 027DF6B0 */ _t105 = cpu->r[31] + 0x000000E5u;
|
|
/* 027DF6B0 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[4]);
|
|
/* 027DF6B4 */ _t106 = cpu->r[31] + 0x000000DFu;
|
|
/* 027DF6B4 */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[30]);
|
|
/* 027DF6B8 */ cpu->r[0] = 0x00000020u;
|
|
/* 027DF6BC */ _t107 = cpu->r[31] + 0x000000DEu;
|
|
/* 027DF6BC */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[30]);
|
|
/* 027DF6C0 */ _t108 = cpu->r[31] + 0x000000E6u;
|
|
/* 027DF6C0 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[0]);
|
|
/* 027DF6C4 */ cpu->r[12] = 0x000000AEu;
|
|
/* 027DF6C8 */ _t109 = cpu->r[31] + 0x000000B4u;
|
|
/* 027DF6C8 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[30]);
|
|
/* 027DF6CC */ cpu->r[5] = 0x000000D6u;
|
|
/* 027DF6D0 */ _t110 = cpu->r[31] + 0x000000B5u;
|
|
/* 027DF6D0 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[12]);
|
|
/* 027DF6D4 */ _t111 = cpu->r[31] + 0x000000C5u;
|
|
/* 027DF6D4 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[5]);
|
|
/* 027DF6D8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DF6DC */ _t112 = cpu->r[31] + 0x000000E4u;
|
|
/* 027DF6DC */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[30]);
|
|
/* 027DF6E0 */ cpu->r[3] = cpu->r[31] + 0x000000E8u;
|
|
/* 027DF6E4 */ _t113 = cpu->r[31] + 0x000000DCu;
|
|
/* 027DF6E4 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[7]);
|
|
/* 027DF6E8 */ cpu->r[6] = 0x027E0000u;
|
|
/* 027DF6EC */ _t114 = cpu->r[31] + 0x000000D5u;
|
|
/* 027DF6EC */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[29]);
|
|
/* 027DF6F0 */ cpu->r[4] = 0x00000003u;
|
|
/* 027DF6F4 */ _t115 = cpu->r[31] + 0x000000CEu;
|
|
/* 027DF6F4 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[30]);
|
|
/* 027DF6F8 */ cpu->r[6] = cpu->r[6] + 0xFFFFF720u;
|
|
/* 027DF6FC */ _t116 = cpu->r[31] + 0x000000DDu;
|
|
/* 027DF6FC */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[7]);
|
|
/* 027DF700 */ cpu->r[5] = 0x00000008u;
|
|
/* 027DF704 */ _t117 = cpu->r[31] + 0x000000E7u;
|
|
/* 027DF704 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[30]);
|
|
/* 027DF708 */ Gambit_fn_02C82E00(cpu);
|
|
/* 027DF70C */ /* nop */
|
|
/* 027DF710 */ _t118 = cpu->r[1] + 0x00000024u;
|
|
/* 027DF710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027DF714 */ cpu->lr = cpu->r[0];
|
|
/* 027DF718 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DF71C */ return;
|
|
}
|
|
|
|
// fn_027DF720 @ 0x27df720
|
|
void Gambit_fn_027DF720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DF720: ; // 0x27df720
|
|
/* 027DF720 */ cpu->r[0] = cpu->lr;
|
|
/* 027DF724 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DF724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF724 */ cpu->r[1] = _t0;
|
|
/* 027DF728 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DF72C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DF730 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF730 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DF734 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF734 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DF734 */ if (_t4) goto L_027DF738; else goto L_027DF748;
|
|
L_027DF738: ; // 0x27df738
|
|
/* 027DF738 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DF73C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DF740 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DF744 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF744 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DF744 */ if (_t6) goto L_027DF778; else goto L_027DF748;
|
|
L_027DF748: ; // 0x27df748
|
|
/* 027DF748 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 027DF748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF74C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF74C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DF74C */ if (_t8) goto L_027DF750; else goto L_027DF760;
|
|
L_027DF750: ; // 0x27df750
|
|
/* 027DF750 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DF754 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DF758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DF75C */ if (_t10) goto L_027DF778; else goto L_027DF760;
|
|
L_027DF760: ; // 0x27df760
|
|
/* 027DF760 */ cpu->r[12] = 0x00000000u;
|
|
/* 027DF764 */ cpu->r[11] = 0x000000FFu;
|
|
/* 027DF768 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027DF768 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 027DF76C */ _t12 = cpu->r[3] + 0x00000003u;
|
|
/* 027DF76C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[11]);
|
|
/* 027DF770 */ _t13 = cpu->r[3] + 0x00000002u;
|
|
/* 027DF770 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 027DF774 */ _t14 = cpu->r[3] + 0x00000001u;
|
|
/* 027DF774 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
L_027DF778: ; // 0x27df778
|
|
/* 027DF778 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DF77C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DF780 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DF784 */ cpu->lr = cpu->r[0];
|
|
/* 027DF788 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DF78C */ return;
|
|
}
|
|
|
|
// fn_027DF724 @ 0x27df724
|
|
void Gambit_fn_027DF724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DF724: ; // 0x27df724
|
|
/* 027DF724 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DF724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF724 */ cpu->r[1] = _t0;
|
|
/* 027DF728 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF728 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DF72C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DF730 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF730 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DF734 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF734 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DF734 */ if (_t4) goto L_027DF738; else goto L_027DF748;
|
|
L_027DF738: ; // 0x27df738
|
|
/* 027DF738 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DF73C */ Gambit_fn_02801A78(cpu);
|
|
/* 027DF740 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DF744 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF744 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DF744 */ if (_t6) goto L_027DF778; else goto L_027DF748;
|
|
L_027DF748: ; // 0x27df748
|
|
/* 027DF748 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 027DF748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF74C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF74C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DF74C */ if (_t8) goto L_027DF750; else goto L_027DF760;
|
|
L_027DF750: ; // 0x27df750
|
|
/* 027DF750 */ cpu->r[3] = 0x00000004u;
|
|
/* 027DF754 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DF758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DF75C */ if (_t10) goto L_027DF778; else goto L_027DF760;
|
|
L_027DF760: ; // 0x27df760
|
|
/* 027DF760 */ cpu->r[12] = 0x00000000u;
|
|
/* 027DF764 */ cpu->r[11] = 0x000000FFu;
|
|
/* 027DF768 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027DF768 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 027DF76C */ _t12 = cpu->r[3] + 0x00000003u;
|
|
/* 027DF76C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[11]);
|
|
/* 027DF770 */ _t13 = cpu->r[3] + 0x00000002u;
|
|
/* 027DF770 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 027DF774 */ _t14 = cpu->r[3] + 0x00000001u;
|
|
/* 027DF774 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
L_027DF778: ; // 0x27df778
|
|
/* 027DF778 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DF77C */ cpu->r[3] = cpu->r[31];
|
|
/* 027DF780 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DF784 */ cpu->lr = cpu->r[0];
|
|
/* 027DF788 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DF78C */ return;
|
|
}
|
|
|
|
// fn_027DF790 @ 0x27df790
|
|
void Gambit_fn_027DF790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DF790: ; // 0x27df790
|
|
/* 027DF790 */ cpu->r[0] = cpu->lr;
|
|
/* 027DF794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DF794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF794 */ cpu->r[1] = _t0;
|
|
/* 027DF798 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF798 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DF79C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF7A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DF7A4 */ Gambit_fn_02A63AB4(cpu);
|
|
/* 027DF7A8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 027DF7AC */ cpu->r[4] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DF7B0 */ cpu->r[3] = cpu->r[3] + 0x00003800u;
|
|
/* 027DF7B4 */ Gambit_fn_02C69510(cpu);
|
|
/* 027DF7B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF7BC */ cpu->lr = cpu->r[0];
|
|
/* 027DF7C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF7C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DF7C8 */ return;
|
|
}
|
|
|
|
// fn_027DF794 @ 0x27df794
|
|
void Gambit_fn_027DF794(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DF794: ; // 0x27df794
|
|
/* 027DF794 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DF794 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF794 */ cpu->r[1] = _t0;
|
|
/* 027DF798 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF798 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DF79C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DF7A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF7A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DF7A4 */ Gambit_fn_02A63AB4(cpu);
|
|
/* 027DF7A8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 027DF7AC */ cpu->r[4] = cpu->r[31] + 0x0000002Cu;
|
|
/* 027DF7B0 */ cpu->r[3] = cpu->r[3] + 0x00003800u;
|
|
/* 027DF7B4 */ Gambit_fn_02C69510(cpu);
|
|
/* 027DF7B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF7BC */ cpu->lr = cpu->r[0];
|
|
/* 027DF7C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF7C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF7C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DF7C8 */ return;
|
|
}
|
|
|
|
// fn_027DF7CC @ 0x27df7cc
|
|
void Gambit_fn_027DF7CC(CPUState* cpu) {
|
|
uint32_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_027DF7CC: ; // 0x27df7cc
|
|
/* 027DF7CC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027DF7CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF7CC */ cpu->r[1] = _t0;
|
|
/* 027DF7D0 */ _t1 = cpu->r[3] + 0x00000048u;
|
|
/* 027DF7D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027DF7D4 */ _t2 = cpu->r[5] + 0x00000004u;
|
|
/* 027DF7D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027DF7D8 */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 027DF7D8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027DF7DC */ cpu->f[12] = cpu->f[12] - cpu->f[13];
|
|
/* 027DF7E0 */ _t4 = cpu->r[3] + 0x00000038u;
|
|
/* 027DF7E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027DF7E4 */ _t5 = cpu->r[5] + 0x00000008u;
|
|
/* 027DF7E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027DF7E8 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 027DF7E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027DF7EC */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 027DF7F0 */ _t7 = cpu->r[3] + 0x00000034u;
|
|
/* 027DF7F0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027DF7F4 */ cpu->f[11] = cpu->f[10] - cpu->f[11];
|
|
/* 027DF7F8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF7F8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 027DF7FC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DF800 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF800 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027DF804 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027DF804 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DF808 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF808 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
|
|
/* 027DF80C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027DF80C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DF810 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF810 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027DF814 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF814 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 027DF818 */ /* nop */
|
|
/* 027DF81C */ /* nop */
|
|
/* 027DF820 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF820 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 027DF824 */ /* nop */
|
|
/* 027DF828 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027DF828 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027DF82C */ /* nop */
|
|
/* 027DF830 */ _t18 = cpu->r[3] + 0x00000044u;
|
|
/* 027DF830 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027DF834 */ /* nop */
|
|
/* 027DF838 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027DF838 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027DF83C */ cpu->f[10] = cpu->f[11] * cpu->f[12];
|
|
/* 027DF840 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027DF840 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027DF844 */ /* nop */
|
|
/* 027DF848 */ cpu->f[13] = fma(cpu->f[8], cpu->f[9], cpu->f[10]);
|
|
/* 027DF84C */ _t21 = cpu->r[3] + 0x00000054u;
|
|
/* 027DF84C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027DF850 */ /* nop */
|
|
/* 027DF854 */ cpu->f[9] = fma(cpu->f[0], cpu->f[8], cpu->f[13]);
|
|
/* 027DF858 */ /* nop */
|
|
/* 027DF85C */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 027DF85C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[9]);
|
|
/* 027DF860 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027DF864 */ return;
|
|
}
|
|
|
|
// fn_027DF868 @ 0x27df868
|
|
void Gambit_fn_027DF868(CPUState* cpu) {
|
|
L_027DF868: ; // 0x27df868
|
|
/* 027DF868 */ return;
|
|
}
|
|
|
|
// fn_027DF86C @ 0x27df86c
|
|
void Gambit_fn_027DF86C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DF86C: ; // 0x27df86c
|
|
/* 027DF86C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027DF870 */ cpu->r[11] = 0x000000FFu;
|
|
/* 027DF874 */ _t0 = cpu->r[12] + 0x0000354Cu;
|
|
/* 027DF874 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[11]);
|
|
/* 027DF874 */ cpu->r[12] = _t0;
|
|
/* 027DF878 */ cpu->r[0] = 0x00000080u;
|
|
/* 027DF87C */ _t1 = cpu->r[12] + 0x00000002u;
|
|
/* 027DF87C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 027DF880 */ cpu->r[11] = 0x00000000u;
|
|
/* 027DF884 */ _t2 = cpu->r[12] + 0x00000003u;
|
|
/* 027DF884 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 027DF888 */ _t3 = cpu->r[12] + 0x00000001u;
|
|
/* 027DF888 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 027DF88C */ return;
|
|
}
|
|
|
|
// fn_027DF890 @ 0x27df890
|
|
void Gambit_fn_027DF890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DF890: ; // 0x27df890
|
|
/* 027DF890 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027DF894 */ cpu->r[11] = 0x000000FFu;
|
|
/* 027DF898 */ _t0 = cpu->r[12] + 0x00003550u;
|
|
/* 027DF898 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[11]);
|
|
/* 027DF898 */ cpu->r[12] = _t0;
|
|
/* 027DF89C */ cpu->r[0] = 0x00000080u;
|
|
/* 027DF8A0 */ _t1 = cpu->r[12] + 0x00000002u;
|
|
/* 027DF8A0 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[11]);
|
|
/* 027DF8A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027DF8A8 */ _t2 = cpu->r[12] + 0x00000003u;
|
|
/* 027DF8A8 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 027DF8AC */ _t3 = cpu->r[12] + 0x00000001u;
|
|
/* 027DF8AC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 027DF8B0 */ return;
|
|
}
|
|
|
|
// fn_027DF8B4 @ 0x27df8b4
|
|
void Gambit_fn_027DF8B4(CPUState* cpu) {
|
|
L_027DF8B4: ; // 0x27df8b4
|
|
/* 027DF8B4 */ return;
|
|
}
|
|
|
|
// fn_027DF8B8 @ 0x27df8b8
|
|
void Gambit_fn_027DF8B8(CPUState* cpu) {
|
|
L_027DF8B8: ; // 0x27df8b8
|
|
/* 027DF8B8 */ return;
|
|
}
|
|
|
|
// fn_027DF8BC @ 0x27df8bc
|
|
void Gambit_fn_027DF8BC(CPUState* cpu) {
|
|
L_027DF8BC: ; // 0x27df8bc
|
|
/* 027DF8BC */ return;
|
|
}
|
|
|
|
// fn_027DF8C0 @ 0x27df8c0
|
|
void Gambit_fn_027DF8C0(CPUState* cpu) {
|
|
L_027DF8C0: ; // 0x27df8c0
|
|
/* 027DF8C0 */ return;
|
|
}
|
|
|
|
// fn_027DF8C4 @ 0x27df8c4
|
|
void Gambit_fn_027DF8C4(CPUState* cpu) {
|
|
L_027DF8C4: ; // 0x27df8c4
|
|
/* 027DF8C4 */ return;
|
|
}
|
|
|
|
// fn_027DF8C8 @ 0x27df8c8
|
|
void Gambit_fn_027DF8C8(CPUState* cpu) {
|
|
L_027DF8C8: ; // 0x27df8c8
|
|
/* 027DF8C8 */ return;
|
|
}
|
|
|
|
// fn_027DF8CC @ 0x27df8cc
|
|
void Gambit_fn_027DF8CC(CPUState* cpu) {
|
|
L_027DF8CC: ; // 0x27df8cc
|
|
/* 027DF8CC */ return;
|
|
}
|
|
|
|
// fn_027DF8D0 @ 0x27df8d0
|
|
void Gambit_fn_027DF8D0(CPUState* cpu) {
|
|
L_027DF8D0: ; // 0x27df8d0
|
|
/* 027DF8D0 */ return;
|
|
}
|
|
|
|
// fn_027DF8D4 @ 0x27df8d4
|
|
void Gambit_fn_027DF8D4(CPUState* cpu) {
|
|
L_027DF8D4: ; // 0x27df8d4
|
|
/* 027DF8D4 */ return;
|
|
}
|
|
|
|
// fn_027DF8D8 @ 0x27df8d8
|
|
void Gambit_fn_027DF8D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DF8D8: ; // 0x27df8d8
|
|
/* 027DF8D8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027DF8DC */ _t0 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027DF8DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DF8E0 */ _t1 = cpu->r[11] + 0x00001124u;
|
|
/* 027DF8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DF8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027DF8E8 */ cpu->r[11] = 0x00000001u;
|
|
/* 027DF8EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF8EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DF8EC */ if (_t3) goto L_027DF908; else goto L_027DF8F0;
|
|
L_027DF8F0: ; // 0x27df8f0
|
|
/* 027DF8F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF8F4 */ _t4 = cpu->r[12] + 0xFFFFA9DCu;
|
|
/* 027DF8F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF8F8 */ _t5 = cpu->r[12] + 0x00000324u;
|
|
/* 027DF8F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DF8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DF8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DF900 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF900 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DF900 */ if (_t7) goto L_027DF904; else goto L_027DF908;
|
|
L_027DF904: ; // 0x27df904
|
|
/* 027DF904 */ cpu->r[11] = 0x00000000u;
|
|
L_027DF908: ; // 0x27df908
|
|
/* 027DF908 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027DF90C */ return;
|
|
}
|
|
|
|
// fn_027DF910 @ 0x27df910
|
|
void Gambit_fn_027DF910(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DF910: ; // 0x27df910
|
|
/* 027DF910 */ cpu->r[0] = cpu->lr;
|
|
/* 027DF914 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027DF918 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DF918 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DF91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF920 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DF920 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DF920 */ cpu->r[1] = _t1;
|
|
/* 027DF924 */ _t2 = cpu->r[10] + 0xFFFF9280u;
|
|
/* 027DF924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DF928 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF928 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DF928 */ if (_t4) goto L_027DF968; else goto L_027DF92C;
|
|
L_027DF92C: ; // 0x27df92c
|
|
/* 027DF92C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF930 */ _t5 = cpu->r[12] + 0xFFFF92A8u;
|
|
/* 027DF930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DF934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DF938 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF938 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DF938 */ if (_t7) goto L_027DF968; else goto L_027DF93C;
|
|
L_027DF93C: ; // 0x27df93c
|
|
/* 027DF93C */ _t8 = cpu->r[12] + 0x0000015Cu;
|
|
/* 027DF93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DF940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DF944 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF944 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DF944 */ if (_t10) goto L_027DF948; else goto L_027DF968;
|
|
L_027DF948: ; // 0x27df948
|
|
/* 027DF948 */ Gambit_fn_027DF8D8(cpu);
|
|
/* 027DF94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF950 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF950 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027DF950 */ if (_t12) goto L_027DF954; else goto L_027DF968;
|
|
L_027DF954: ; // 0x27df954
|
|
/* 027DF954 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DF958 */ _t14 = cpu->r[10] + 0x00000170u;
|
|
/* 027DF958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DF95C */ cpu->lr = cpu->r[0];
|
|
/* 027DF960 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF964 */ return;
|
|
L_027DF968: ; // 0x27df968
|
|
/* 027DF968 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DF96C */ _t16 = cpu->r[10] + 0x00000178u;
|
|
/* 027DF96C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DF970 */ cpu->lr = cpu->r[0];
|
|
/* 027DF974 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF978 */ return;
|
|
}
|
|
|
|
// fn_027DF920 @ 0x27df920
|
|
void Gambit_fn_027DF920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DF920: ; // 0x27df920
|
|
/* 027DF920 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DF920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF920 */ cpu->r[1] = _t0;
|
|
/* 027DF924 */ _t1 = cpu->r[10] + 0xFFFF9280u;
|
|
/* 027DF924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DF928 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF928 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DF928 */ if (_t3) goto L_027DF968; else goto L_027DF92C;
|
|
L_027DF92C: ; // 0x27df92c
|
|
/* 027DF92C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF930 */ _t4 = cpu->r[12] + 0xFFFF92A8u;
|
|
/* 027DF930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027DF938 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF938 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DF938 */ if (_t6) goto L_027DF968; else goto L_027DF93C;
|
|
L_027DF93C: ; // 0x27df93c
|
|
/* 027DF93C */ _t7 = cpu->r[12] + 0x0000015Cu;
|
|
/* 027DF93C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DF940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DF944 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF944 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DF944 */ if (_t9) goto L_027DF948; else goto L_027DF968;
|
|
L_027DF948: ; // 0x27df948
|
|
/* 027DF948 */ Gambit_fn_027DF8D8(cpu);
|
|
/* 027DF94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DF950 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF950 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DF950 */ if (_t11) goto L_027DF954; else goto L_027DF968;
|
|
L_027DF954: ; // 0x27df954
|
|
/* 027DF954 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DF958 */ _t13 = cpu->r[10] + 0x00000170u;
|
|
/* 027DF958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027DF95C */ cpu->lr = cpu->r[0];
|
|
/* 027DF960 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF964 */ return;
|
|
L_027DF968: ; // 0x27df968
|
|
/* 027DF968 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DF96C */ _t15 = cpu->r[10] + 0x00000178u;
|
|
/* 027DF96C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DF970 */ cpu->lr = cpu->r[0];
|
|
/* 027DF974 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF978 */ return;
|
|
}
|
|
|
|
// fn_027DF97C @ 0x27df97c
|
|
void Gambit_fn_027DF97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DF97C: ; // 0x27df97c
|
|
/* 027DF97C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF980 */ _t0 = cpu->r[12] + 0xFFFF9280u;
|
|
/* 027DF980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DF984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 027DF988 */ cpu->r[12] = cpu->r[12] + 0x0000015Cu;
|
|
/* 027DF98C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DF98C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DF98C */ if (_t2) goto L_027DF990; else goto L_027DF998;
|
|
L_027DF990: ; // 0x27df990
|
|
/* 027DF990 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DF994 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027DF998: ; // 0x27df998
|
|
/* 027DF998 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DF998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF99C */ return;
|
|
}
|
|
|
|
// fn_027DF9A0 @ 0x27df9a0
|
|
void Gambit_fn_027DF9A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027DF9A0: ; // 0x27df9a0
|
|
/* 027DF9A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF9A4 */ _t0 = cpu->r[12] + 0xFFFF9280u;
|
|
/* 027DF9A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DF9A8 */ _t1 = cpu->r[12] + 0x0000016Cu;
|
|
/* 027DF9A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DF9AC */ return;
|
|
}
|
|
|
|
// fn_027DF9B0 @ 0x27df9b0
|
|
void Gambit_fn_027DF9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027DF97C: ; // 0x27df97c
|
|
/* 027DF97C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF980 */ _t0 = cpu->r[12] + 0xFFFF9280u;
|
|
/* 027DF980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DF984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 027DF988 */ cpu->r[12] = cpu->r[12] + 0x0000015Cu;
|
|
/* 027DF98C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DF98C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DF98C */ if (_t2) goto L_027DF990; else goto L_027DF998;
|
|
L_027DF990: ; // 0x27df990
|
|
/* 027DF990 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DF994 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027DF998: ; // 0x27df998
|
|
/* 027DF998 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 027DF998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF99C */ return;
|
|
L_027DF9A0: ; // 0x27df9a0
|
|
/* 027DF9A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DF9A4 */ _t4 = cpu->r[12] + 0xFFFF9280u;
|
|
/* 027DF9A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF9A8 */ _t5 = cpu->r[12] + 0x0000016Cu;
|
|
/* 027DF9A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DF9AC */ return;
|
|
L_027DF9B0: ; // 0x27df9b0
|
|
/* 027DF9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 027DF9B4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DF9B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DF9B4 */ if (_t7) goto L_027DF9B8; else goto L_027DF9BC;
|
|
L_027DF9B8: ; // 0x27df9b8
|
|
/* 027DF9B8 */ goto L_027DF97C;
|
|
L_027DF9BC: ; // 0x27df9bc
|
|
/* 027DF9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 027DF9C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DF9C4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DF9C4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DF9C4 */ _t10 = _t9 ^ 0x00000001u;
|
|
/* 027DF9C4 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DF9C4 */ goto L_027DF9C8;
|
|
L_027DF9C8: ; // 0x27df9c8
|
|
/* 027DF9C8 */ goto L_027DF9A0;
|
|
}
|
|
|
|
// fn_027DF9CC @ 0x27df9cc
|
|
void Gambit_fn_027DF9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027DF9CC: ; // 0x27df9cc
|
|
/* 027DF9CC */ cpu->r[0] = cpu->lr;
|
|
/* 027DF9D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DF9D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DF9D4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DF9D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DF9D4 */ cpu->r[1] = _t1;
|
|
/* 027DF9D8 */ Gambit_fn_027DF97C(cpu);
|
|
/* 027DF9DC */ _t2 = cpu->r[3] + 0x000006A4u;
|
|
/* 027DF9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DF9E0 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 027DF9E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF9E4 */ cpu->r[0] = cpu->r[12] ^ 0x000000FDu;
|
|
/* 027DF9E8 */ cpu->r[12] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 027DF9EC */ cpu->r[3] = cpu->r[0] - cpu->r[12];
|
|
/* 027DF9F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF9F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DF9F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DF9F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF9FC */ return;
|
|
}
|
|
|
|
// fn_027DF9D4 @ 0x27df9d4
|
|
void Gambit_fn_027DF9D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027DF9D4: ; // 0x27df9d4
|
|
/* 027DF9D4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DF9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DF9D4 */ cpu->r[1] = _t0;
|
|
/* 027DF9D8 */ Gambit_fn_027DF97C(cpu);
|
|
/* 027DF9DC */ _t1 = cpu->r[3] + 0x000006A4u;
|
|
/* 027DF9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DF9E0 */ _t2 = cpu->r[12] + 0x00000008u;
|
|
/* 027DF9E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DF9E4 */ cpu->r[0] = cpu->r[12] ^ 0x000000FDu;
|
|
/* 027DF9E8 */ cpu->r[12] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 027DF9EC */ cpu->r[3] = cpu->r[0] - cpu->r[12];
|
|
/* 027DF9F0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DF9F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027DF9F4 */ cpu->lr = cpu->r[0];
|
|
/* 027DF9F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DF9FC */ return;
|
|
}
|
|
|
|
// fn_027DFA00 @ 0x27dfa00
|
|
void Gambit_fn_027DFA00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DFA00: ; // 0x27dfa00
|
|
/* 027DFA00 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFA04 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DFA04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DFA08 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027DFA0C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFA0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DFA0C */ cpu->r[1] = _t1;
|
|
/* 027DFA10 */ _t2 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 027DFA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027DFA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFA18 */ cpu->r[12] = 0x00000000u;
|
|
/* 027DFA1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFA1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DFA1C */ if (_t4) goto L_027DFA48; else goto L_027DFA20;
|
|
L_027DFA20: ; // 0x27dfa20
|
|
/* 027DFA20 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DFA24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA28 */ cpu->r[0] = cpu->r[0] + 0xFFFFF050u;
|
|
/* 027DFA2C */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFA30 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DFA34 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFA34 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DFA38 */ cpu->r[11] = cpu->r[11] + 0xFFFFF088u;
|
|
/* 027DFA3C */ cpu->r[12] = 0x00000001u;
|
|
/* 027DFA40 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA40 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027DFA44 */ Gambit_fn_028095AC(cpu);
|
|
L_027DFA48: ; // 0x27dfa48
|
|
/* 027DFA48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DFA4C */ Gambit_fn_027DF910(cpu);
|
|
/* 027DFA50 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DFA54 */ cpu->lr = cpu->r[0];
|
|
/* 027DFA58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFA5C */ return;
|
|
}
|
|
|
|
// fn_027DFA0C @ 0x27dfa0c
|
|
void Gambit_fn_027DFA0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DFA0C: ; // 0x27dfa0c
|
|
/* 027DFA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFA0C */ cpu->r[1] = _t0;
|
|
/* 027DFA10 */ _t1 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 027DFA10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027DFA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFA18 */ cpu->r[12] = 0x00000000u;
|
|
/* 027DFA1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFA1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFA1C */ if (_t3) goto L_027DFA48; else goto L_027DFA20;
|
|
L_027DFA20: ; // 0x27dfa20
|
|
/* 027DFA20 */ cpu->r[0] = 0x10110000u;
|
|
/* 027DFA24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA28 */ cpu->r[0] = cpu->r[0] + 0xFFFFF050u;
|
|
/* 027DFA2C */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFA30 */ cpu->r[5] = 0x00000000u;
|
|
/* 027DFA34 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFA34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027DFA38 */ cpu->r[11] = cpu->r[11] + 0xFFFFF088u;
|
|
/* 027DFA3C */ cpu->r[12] = 0x00000001u;
|
|
/* 027DFA40 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA40 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027DFA44 */ Gambit_fn_028095AC(cpu);
|
|
L_027DFA48: ; // 0x27dfa48
|
|
/* 027DFA48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DFA4C */ Gambit_fn_027DF910(cpu);
|
|
/* 027DFA50 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFA50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DFA54 */ cpu->lr = cpu->r[0];
|
|
/* 027DFA58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFA5C */ return;
|
|
}
|
|
|
|
// fn_027DFA60 @ 0x27dfa60
|
|
void Gambit_fn_027DFA60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027DFA60: ; // 0x27dfa60
|
|
/* 027DFA60 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFA64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFA64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFA64 */ cpu->r[1] = _t0;
|
|
/* 027DFA68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DFA6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFA6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DFA70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFA70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DFA74 */ Gambit_fn_027DFA00(cpu);
|
|
/* 027DFA78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DFA7C */ _t4 = cpu->r[12] + 0xFFFFDC4Cu;
|
|
/* 027DFA7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DFA7C */ cpu->r[12] = _t4;
|
|
/* 027DFA80 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027DFA84 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DFA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DFA8C */ cpu->r[4] = cpu->r[4] + 0x0000149Cu;
|
|
/* 027DFA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFA90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DFA90 */ if (_t6) goto L_027DFA94; else goto L_027DFAA8;
|
|
L_027DFA94: ; // 0x27dfa94
|
|
/* 027DFA94 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFA98 */ cpu->r[10] = 0x00000001u;
|
|
/* 027DFA9C */ cpu->r[11] = cpu->r[11] + 0xFFFFF078u;
|
|
/* 027DFAA0 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFAA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027DFAA4 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 027DFAA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_027DFAA8: ; // 0x27dfaa8
|
|
/* 027DFAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DFAAC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027DFAB0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFAB0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DFAB0 */ if (_t10) goto L_027DFAF8; else goto L_027DFAB4;
|
|
L_027DFAB4: ; // 0x27dfab4
|
|
/* 027DFAB4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 027DFAB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DFAB8 */ _t12 = cpu->r[12] + 0x00000014u;
|
|
/* 027DFAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DFABC */ cpu->ctr = cpu->r[0];
|
|
/* 027DFAC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DFAC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DFAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFACC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFACC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DFACC */ if (_t14) goto L_027DFAF8; else goto L_027DFAD0;
|
|
L_027DFAD0: ; // 0x27dfad0
|
|
/* 027DFAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DFAD4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFAD4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DFAD4 */ if (_t16) goto L_027DFAF8; else goto L_027DFAD8;
|
|
L_027DFAD8: ; // 0x27dfad8
|
|
/* 027DFAD8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DFADC */ _t18 = cpu->r[31] + 0xFFFF9280u;
|
|
/* 027DFADC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DFAE0 */ cpu->lr = cpu->r[0];
|
|
/* 027DFAE4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DFAE8 */ _t20 = cpu->r[10] + 0x0000017Cu;
|
|
/* 027DFAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DFAEC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFAEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DFAF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFAF4 */ return;
|
|
L_027DFAF8: ; // 0x27dfaf8
|
|
/* 027DFAF8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DFAFC */ _t23 = cpu->r[31] + 0xFFFF9280u;
|
|
/* 027DFAFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DFB00 */ cpu->lr = cpu->r[0];
|
|
/* 027DFB04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFB04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DFB08 */ _t25 = cpu->r[11] + 0x00000174u;
|
|
/* 027DFB08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DFB0C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFB0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DFB10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFB14 */ return;
|
|
}
|
|
|
|
// fn_027DFA64 @ 0x27dfa64
|
|
void Gambit_fn_027DFA64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027DFA64: ; // 0x27dfa64
|
|
/* 027DFA64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFA64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFA64 */ cpu->r[1] = _t0;
|
|
/* 027DFA68 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFA68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DFA6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFA6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027DFA70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFA70 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DFA74 */ Gambit_fn_027DFA00(cpu);
|
|
/* 027DFA78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027DFA7C */ _t4 = cpu->r[12] + 0xFFFFDC4Cu;
|
|
/* 027DFA7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DFA7C */ cpu->r[12] = _t4;
|
|
/* 027DFA80 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027DFA84 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DFA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027DFA8C */ cpu->r[4] = cpu->r[4] + 0x0000149Cu;
|
|
/* 027DFA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFA90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DFA90 */ if (_t6) goto L_027DFA94; else goto L_027DFAA8;
|
|
L_027DFA94: ; // 0x27dfa94
|
|
/* 027DFA94 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFA98 */ cpu->r[10] = 0x00000001u;
|
|
/* 027DFA9C */ cpu->r[11] = cpu->r[11] + 0xFFFFF078u;
|
|
/* 027DFAA0 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFAA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027DFAA4 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 027DFAA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_027DFAA8: ; // 0x27dfaa8
|
|
/* 027DFAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DFAAC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027DFAB0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFAB0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DFAB0 */ if (_t10) goto L_027DFAF8; else goto L_027DFAB4;
|
|
L_027DFAB4: ; // 0x27dfab4
|
|
/* 027DFAB4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 027DFAB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DFAB8 */ _t12 = cpu->r[12] + 0x00000014u;
|
|
/* 027DFAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DFABC */ cpu->ctr = cpu->r[0];
|
|
/* 027DFAC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027DFAC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DFAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFACC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFACC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DFACC */ if (_t14) goto L_027DFAF8; else goto L_027DFAD0;
|
|
L_027DFAD0: ; // 0x27dfad0
|
|
/* 027DFAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DFAD4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFAD4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DFAD4 */ if (_t16) goto L_027DFAF8; else goto L_027DFAD8;
|
|
L_027DFAD8: ; // 0x27dfad8
|
|
/* 027DFAD8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027DFADC */ _t18 = cpu->r[31] + 0xFFFF9280u;
|
|
/* 027DFADC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027DFAE0 */ cpu->lr = cpu->r[0];
|
|
/* 027DFAE4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027DFAE8 */ _t20 = cpu->r[10] + 0x0000017Cu;
|
|
/* 027DFAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027DFAEC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFAEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DFAF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFAF4 */ return;
|
|
L_027DFAF8: ; // 0x27dfaf8
|
|
/* 027DFAF8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DFAFC */ _t23 = cpu->r[31] + 0xFFFF9280u;
|
|
/* 027DFAFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DFB00 */ cpu->lr = cpu->r[0];
|
|
/* 027DFB04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFB04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027DFB08 */ _t25 = cpu->r[11] + 0x00000174u;
|
|
/* 027DFB08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027DFB0C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFB0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027DFB10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFB14 */ return;
|
|
}
|
|
|
|
// fn_027DFB18 @ 0x27dfb18
|
|
void Gambit_fn_027DFB18(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_027DFB18: ; // 0x27dfb18
|
|
/* 027DFB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFB1C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB1C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DFB1C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DFB1C */ goto L_027DFB20;
|
|
L_027DFB20: ; // 0x27dfb20
|
|
/* 027DFB20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027DFB20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DFB24 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB24 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFB24 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DFB24 */ goto L_027DFB28;
|
|
L_027DFB28: ; // 0x27dfb28
|
|
/* 027DFB28 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027DFB2C @ 0x27dfb2c
|
|
void Gambit_fn_027DFB2C(CPUState* cpu) {
|
|
L_027DFB2C: ; // 0x27dfb2c
|
|
/* 027DFB2C */ return;
|
|
}
|
|
|
|
// fn_027DFB30 @ 0x27dfb30
|
|
void Gambit_fn_027DFB30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027DFB30: ; // 0x27dfb30
|
|
/* 027DFB30 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DFB34 */ _t0 = cpu->r[12] + 0xFFFFF0A0u;
|
|
/* 027DFB34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027DFB38 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027DFB3C */ _t1 = cpu->r[12] + 0x00003554u;
|
|
/* 027DFB3C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 027DFB3C */ cpu->r[12] = _t1;
|
|
/* 027DFB40 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 027DFB40 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 027DFB44 */ return;
|
|
}
|
|
|
|
// fn_027DFB48 @ 0x27dfb48
|
|
void Gambit_fn_027DFB48(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027DFB48: ; // 0x27dfb48
|
|
/* 027DFB48 */ cpu->r[12] = 0x00000000u;
|
|
/* 027DFB4C */ _t0 = cpu->r[3] + 0x00000088u;
|
|
/* 027DFB4C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[12]);
|
|
/* 027DFB50 */ _t1 = cpu->r[3] + 0x00000084u;
|
|
/* 027DFB50 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027DFB54 */ return;
|
|
}
|
|
|
|
// fn_027DFB58 @ 0x27dfb58
|
|
void Gambit_fn_027DFB58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DFB58: ; // 0x27dfb58
|
|
/* 027DFB58 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFB5C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DFB5C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DFB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFB64 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFB64 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DFB64 */ cpu->r[1] = _t1;
|
|
/* 027DFB68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFB68 */ if (_t3) goto L_027DFB6C; else goto L_027DFB7C;
|
|
L_027DFB6C: ; // 0x27dfb6c
|
|
/* 027DFB6C */ cpu->r[3] = 0x00000094u;
|
|
/* 027DFB70 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFB78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFB78 */ if (_t5) goto L_027DFB98; else goto L_027DFB7C;
|
|
L_027DFB7C: ; // 0x27dfb7c
|
|
/* 027DFB7C */ cpu->r[0] = 0x10110000u;
|
|
/* 027DFB80 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0A4u;
|
|
/* 027DFB84 */ _t6 = cpu->r[3] + 0x00000090u;
|
|
/* 027DFB84 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027DFB88 */ Gambit_fn_027DFB48(cpu);
|
|
/* 027DFB8C */ cpu->r[0] = 0x00000000u;
|
|
/* 027DFB90 */ _t7 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFB90 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027DFB94 */ _t8 = cpu->r[3] + 0x0000008Cu;
|
|
/* 027DFB94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027DFB98: ; // 0x27dfb98
|
|
/* 027DFB98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DFB9C */ cpu->lr = cpu->r[0];
|
|
/* 027DFBA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFBA4 */ return;
|
|
}
|
|
|
|
// fn_027DFB64 @ 0x27dfb64
|
|
void Gambit_fn_027DFB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027DFB64: ; // 0x27dfb64
|
|
/* 027DFB64 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFB64 */ cpu->r[1] = _t0;
|
|
/* 027DFB68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB68 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DFB68 */ if (_t2) goto L_027DFB6C; else goto L_027DFB7C;
|
|
L_027DFB6C: ; // 0x27dfb6c
|
|
/* 027DFB6C */ cpu->r[3] = 0x00000094u;
|
|
/* 027DFB70 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFB78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFB78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DFB78 */ if (_t4) goto L_027DFB98; else goto L_027DFB7C;
|
|
L_027DFB7C: ; // 0x27dfb7c
|
|
/* 027DFB7C */ cpu->r[0] = 0x10110000u;
|
|
/* 027DFB80 */ cpu->r[0] = cpu->r[0] + 0xFFFFF0A4u;
|
|
/* 027DFB84 */ _t5 = cpu->r[3] + 0x00000090u;
|
|
/* 027DFB84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DFB88 */ Gambit_fn_027DFB48(cpu);
|
|
/* 027DFB8C */ cpu->r[0] = 0x00000000u;
|
|
/* 027DFB90 */ _t6 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFB90 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027DFB94 */ _t7 = cpu->r[3] + 0x0000008Cu;
|
|
/* 027DFB94 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_027DFB98: ; // 0x27dfb98
|
|
/* 027DFB98 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DFB9C */ cpu->lr = cpu->r[0];
|
|
/* 027DFBA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFBA4 */ return;
|
|
}
|
|
|
|
// fn_027DFBA8 @ 0x27dfba8
|
|
void Gambit_fn_027DFBA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027DFBA8: ; // 0x27dfba8
|
|
/* 027DFBA8 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFBAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DFBAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DFBB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFBB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DFBB0 */ cpu->r[1] = _t1;
|
|
/* 027DFBB4 */ Gambit_fn_027DFB48(cpu);
|
|
/* 027DFBB8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027DFBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 027DFBC0 */ _t2 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 027DFBC4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBC4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DFBC4 */ if (_t4) goto L_027DFBC8; else goto L_027DFC0C;
|
|
L_027DFBC8: ; // 0x27dfbc8
|
|
/* 027DFBC8 */ cpu->r[12] = 0x00000000u;
|
|
L_027DFBCC: ; // 0x27dfbcc
|
|
/* 027DFBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000020u);
|
|
/* 027DFBD0 */ _t5 = cpu->r[4] + cpu->r[12];
|
|
/* 027DFBD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027DFBD4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DFBD4 */ if (_t7) goto L_027DFBD8; else goto L_027DFBF4;
|
|
L_027DFBD8: ; // 0x27dfbd8
|
|
/* 027DFBD8 */ _t8 = cpu->r[3] + cpu->r[12];
|
|
/* 027DFBD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 027DFBDC */ _t9 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DFBE0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027DFBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027DFBE8 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFBEC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBEC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DFBEC */ if (_t11) goto L_027DFBCC; else goto L_027DFBF0;
|
|
L_027DFBF0: ; // 0x27dfbf0
|
|
/* 027DFBF0 */ goto L_027DFC0C;
|
|
L_027DFBF4: ; // 0x27dfbf4
|
|
/* 027DFBF4 */ _t12 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027DFBF8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027DFBFC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027DFC04 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFC04 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 027DFC08 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFC08 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027DFC08 */ if (_t15) goto L_027DFBCC; else goto L_027DFC0C;
|
|
L_027DFC0C: ; // 0x27dfc0c
|
|
/* 027DFC0C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFC0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027DFC10 */ cpu->lr = cpu->r[0];
|
|
/* 027DFC14 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFC18 */ return;
|
|
}
|
|
|
|
// fn_027DFBB0 @ 0x27dfbb0
|
|
void Gambit_fn_027DFBB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DFBB0: ; // 0x27dfbb0
|
|
/* 027DFBB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFBB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFBB0 */ cpu->r[1] = _t0;
|
|
/* 027DFBB4 */ Gambit_fn_027DFB48(cpu);
|
|
/* 027DFBB8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027DFBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 027DFBC0 */ _t1 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027DFBC4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBC4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFBC4 */ if (_t3) goto L_027DFBC8; else goto L_027DFC0C;
|
|
L_027DFBC8: ; // 0x27dfbc8
|
|
/* 027DFBC8 */ cpu->r[12] = 0x00000000u;
|
|
L_027DFBCC: ; // 0x27dfbcc
|
|
/* 027DFBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000020u);
|
|
/* 027DFBD0 */ _t4 = cpu->r[4] + cpu->r[12];
|
|
/* 027DFBD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DFBD4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DFBD4 */ if (_t6) goto L_027DFBD8; else goto L_027DFBF4;
|
|
L_027DFBD8: ; // 0x27dfbd8
|
|
/* 027DFBD8 */ _t7 = cpu->r[3] + cpu->r[12];
|
|
/* 027DFBD8 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 027DFBDC */ _t8 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DFBE0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027DFBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027DFBE8 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFBEC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFBEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027DFBEC */ if (_t10) goto L_027DFBCC; else goto L_027DFBF0;
|
|
L_027DFBF0: ; // 0x27dfbf0
|
|
/* 027DFBF0 */ goto L_027DFC0C;
|
|
L_027DFBF4: ; // 0x27dfbf4
|
|
/* 027DFBF4 */ _t11 = cpu->r[3] + 0x00000080u;
|
|
/* 027DFBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027DFBF8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027DFBFC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027DFC04 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFC04 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 027DFC08 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFC08 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027DFC08 */ if (_t14) goto L_027DFBCC; else goto L_027DFC0C;
|
|
L_027DFC0C: ; // 0x27dfc0c
|
|
/* 027DFC0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFC0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DFC10 */ cpu->lr = cpu->r[0];
|
|
/* 027DFC14 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFC18 */ return;
|
|
}
|
|
|
|
// fn_027DFC1C @ 0x27dfc1c
|
|
void Gambit_fn_027DFC1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027DFC1C: ; // 0x27dfc1c
|
|
/* 027DFC1C */ cpu->r[7] = 0x00000000u;
|
|
/* 027DFC20 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 027DFC24 */ cpu->r[0] = cpu->r[7];
|
|
L_027DFC28: ; // 0x27dfc28
|
|
/* 027DFC28 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DFC2C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027DFC30 */ _t0 = cpu->r[12] + cpu->r[9];
|
|
/* 027DFC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DFC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u);
|
|
/* 027DFC38 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFC38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DFC38 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027DFC38 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DFC38 */ goto L_027DFC3C;
|
|
L_027DFC3C: ; // 0x27dfc3c
|
|
/* 027DFC3C */ cpu->r[10] = 0x00000000u;
|
|
L_027DFC40: ; // 0x27dfc40
|
|
/* 027DFC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000020u);
|
|
/* 027DFC44 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFC44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFC44 */ if (_t5) goto L_027DFC28; else goto L_027DFC48;
|
|
L_027DFC48: ; // 0x27dfc48
|
|
/* 027DFC48 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027DFC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u);
|
|
/* 027DFC50 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFC50 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 027DFC54 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFC54 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DFC54 */ if (_t8) goto L_027DFC40; else goto L_027DFC58;
|
|
L_027DFC58: ; // 0x27dfc58
|
|
/* 027DFC58 */ return;
|
|
}
|
|
|
|
// fn_027DFC5C @ 0x27dfc5c
|
|
void Gambit_fn_027DFC5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DFC5C: ; // 0x27dfc5c
|
|
/* 027DFC5C */ cpu->r[0] = cpu->lr;
|
|
/* 027DFC60 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027DFC60 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027DFC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFC68 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFC68 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027DFC68 */ cpu->r[1] = _t1;
|
|
/* 027DFC6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFC6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFC6C */ if (_t3) goto L_027DFC70; else goto L_027DFC80;
|
|
L_027DFC70: ; // 0x27dfc70
|
|
/* 027DFC70 */ cpu->r[3] = 0x00000084u;
|
|
/* 027DFC74 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFC7C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFC7C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFC7C */ if (_t5) goto L_027DFC8C; else goto L_027DFC80;
|
|
L_027DFC80: ; // 0x27dfc80
|
|
/* 027DFC80 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DFC84 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFC84 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027DFC88 */ Gambit_fn_027DFC1C(cpu);
|
|
L_027DFC8C: ; // 0x27dfc8c
|
|
/* 027DFC8C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DFC90 */ cpu->lr = cpu->r[0];
|
|
/* 027DFC94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFC98 */ return;
|
|
}
|
|
|
|
// fn_027DFC68 @ 0x27dfc68
|
|
void Gambit_fn_027DFC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027DFC68: ; // 0x27dfc68
|
|
/* 027DFC68 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027DFC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFC68 */ cpu->r[1] = _t0;
|
|
/* 027DFC6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFC6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DFC6C */ if (_t2) goto L_027DFC70; else goto L_027DFC80;
|
|
L_027DFC70: ; // 0x27dfc70
|
|
/* 027DFC70 */ cpu->r[3] = 0x00000084u;
|
|
/* 027DFC74 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFC7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFC7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DFC7C */ if (_t4) goto L_027DFC8C; else goto L_027DFC80;
|
|
L_027DFC80: ; // 0x27dfc80
|
|
/* 027DFC80 */ cpu->r[0] = 0x00000000u;
|
|
/* 027DFC84 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFC84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027DFC88 */ Gambit_fn_027DFC1C(cpu);
|
|
L_027DFC8C: ; // 0x27dfc8c
|
|
/* 027DFC8C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027DFC90 */ cpu->lr = cpu->r[0];
|
|
/* 027DFC94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027DFC98 */ return;
|
|
}
|
|
|
|
// fn_027DFC9C @ 0x27dfc9c
|
|
void Gambit_fn_027DFC9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DFC9C: ; // 0x27dfc9c
|
|
/* 027DFC9C */ cpu->r[0] = cpu->lr;
|
|
/* 027DFCA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFCA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFCA0 */ cpu->r[1] = _t0;
|
|
/* 027DFCA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFCA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DFCA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFCA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DFCAC */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 027DFCB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DFCB4 */ cpu->r[10] = cpu->r[4] & cpu->r[0];
|
|
/* 027DFCB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFCB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DFCBC */ cpu->r[3] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027DFCC0 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DFCC4 */ Gambit_fn_0282A11C(cpu);
|
|
/* 027DFCC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000020u);
|
|
/* 027DFCCC */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 027DFCD0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFCD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFCD0 */ if (_t5) goto L_027DFCD4; else goto L_027DFCDC;
|
|
L_027DFCD4: ; // 0x27dfcd4
|
|
/* 027DFCD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DFCD8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027DFCDC: ; // 0x27dfcdc
|
|
/* 027DFCDC */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFCDC */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027DFCE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DFCE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFCE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DFCE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DFCEC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DFCF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFCF4 */ return;
|
|
}
|
|
|
|
// fn_027DFCA0 @ 0x27dfca0
|
|
void Gambit_fn_027DFCA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027DFCA0: ; // 0x27dfca0
|
|
/* 027DFCA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFCA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFCA0 */ cpu->r[1] = _t0;
|
|
/* 027DFCA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFCA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DFCA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFCA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027DFCAC */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 027DFCB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027DFCB4 */ cpu->r[10] = cpu->r[4] & cpu->r[0];
|
|
/* 027DFCB8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFCB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027DFCBC */ cpu->r[3] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027DFCC0 */ cpu->r[31] = cpu->r[5];
|
|
/* 027DFCC4 */ Gambit_fn_0282A11C(cpu);
|
|
/* 027DFCC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000020u);
|
|
/* 027DFCCC */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 027DFCD0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFCD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFCD0 */ if (_t5) goto L_027DFCD4; else goto L_027DFCDC;
|
|
L_027DFCD4: ; // 0x27dfcd4
|
|
/* 027DFCD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027DFCD8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027DFCDC: ; // 0x27dfcdc
|
|
/* 027DFCDC */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFCDC */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027DFCE0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DFCE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFCE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027DFCE8 */ cpu->lr = cpu->r[0];
|
|
/* 027DFCEC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFCEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027DFCF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFCF4 */ return;
|
|
}
|
|
|
|
// fn_027DFCF8 @ 0x27dfcf8
|
|
void Gambit_fn_027DFCF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027DFCF8: ; // 0x27dfcf8
|
|
/* 027DFCF8 */ cpu->r[12] = cpu->r[3];
|
|
/* 027DFCFC */ cpu->r[3] = 0x00000000u;
|
|
/* 027DFD00 */ cpu->r[5] = 0x00000020u;
|
|
/* 027DFD04 */ cpu->r[8] = 0x00000001u;
|
|
/* 027DFD08 */ cpu->r[9] = cpu->r[3];
|
|
/* 027DFD0C */ cpu->ctr = cpu->r[5];
|
|
/* 027DFD10 */ cpu->r[7] = cpu->r[3];
|
|
L_027DFD14: ; // 0x27dfd14
|
|
/* 027DFD14 */ /* nop */
|
|
/* 027DFD18 */ cpu->r[6] = cpu->r[4] & cpu->r[0];
|
|
/* 027DFD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027DFD1C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFD1C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027DFD1C */ if (_t1) goto L_027DFD38; else goto L_027DFD20;
|
|
L_027DFD20: ; // 0x27dfd20
|
|
/* 027DFD20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000020u);
|
|
/* 027DFD24 */ cpu->r[11] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFD28 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFD28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027DFD28 */ if (_t3) goto L_027DFD2C; else goto L_027DFD30;
|
|
L_027DFD2C: ; // 0x27dfd2c
|
|
/* 027DFD2C */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
L_027DFD30: ; // 0x27dfd30
|
|
/* 027DFD30 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 027DFD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DFD34 */ cpu->r[3] = cpu->r[3] | cpu->r[0];
|
|
L_027DFD38: ; // 0x27dfd38
|
|
/* 027DFD38 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 027DFD3C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027DFD40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DFD40 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DFD40 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 027DFD40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DFD40 */ if (_t7) goto L_027DFD14; else goto L_027DFD44;
|
|
L_027DFD44: ; // 0x27dfd44
|
|
/* 027DFD44 */ return;
|
|
}
|
|
|
|
// fn_027DFD48 @ 0x27dfd48
|
|
void Gambit_fn_027DFD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027DFD48: ; // 0x27dfd48
|
|
/* 027DFD48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFD48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFD48 */ cpu->r[1] = _t0;
|
|
/* 027DFD4C */ cpu->r[12] = cpu->r[3];
|
|
/* 027DFD50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFD50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027DFD54 */ cpu->r[3] = 0x00000000u;
|
|
/* 027DFD58 */ cpu->r[30] = 0x00000020u;
|
|
/* 027DFD5C */ cpu->r[9] = 0x00000001u;
|
|
/* 027DFD60 */ cpu->r[5] = cpu->r[3];
|
|
/* 027DFD64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFD64 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
L_027DFD68: ; // 0x27dfd68
|
|
/* 027DFD68 */ /* nop */
|
|
/* 027DFD6C */ cpu->r[10] = cpu->r[4] & cpu->r[11];
|
|
/* 027DFD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027DFD70 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFD70 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027DFD70 */ if (_t4) goto L_027DFDC0; else goto L_027DFD74;
|
|
L_027DFD74: ; // 0x27dfd74
|
|
/* 027DFD74 */ cpu->r[10] = cpu->r[12] + 0x00000004u;
|
|
/* 027DFD78 */ cpu->r[7] = 0x00000000u;
|
|
/* 027DFD7C */ cpu->r[6] = cpu->r[10];
|
|
/* 027DFD80 */ goto L_027DFD8C;
|
|
L_027DFD84: ; // 0x27dfd84
|
|
/* 027DFD84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000020u);
|
|
/* 027DFD88 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFD88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027DFD88 */ if (_t6) goto L_027DFD8C; else goto L_027DFD98;
|
|
L_027DFD8C: ; // 0x27dfd8c
|
|
/* 027DFD8C */ cpu->r[8] = cpu->r[6];
|
|
/* 027DFD90 */ cpu->r[9] = 0x00000001u;
|
|
/* 027DFD94 */ goto L_027DFD9C;
|
|
L_027DFD98: ; // 0x27dfd98
|
|
/* 027DFD98 */ cpu->r[8] = cpu->r[10];
|
|
L_027DFD9C: ; // 0x27dfd9c
|
|
/* 027DFD9C */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 027DFD9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027DFDA0 */ cpu->r[31] = cpu->r[8] & cpu->r[11];
|
|
/* 027DFDA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DFDA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFDA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DFDA4 */ if (_t9) goto L_027DFDB0; else goto L_027DFDA8;
|
|
L_027DFDA8: ; // 0x27dfda8
|
|
/* 027DFDA8 */ /* nop */
|
|
/* 027DFDAC */ cpu->r[3] = cpu->r[3] | cpu->r[8];
|
|
L_027DFDB0: ; // 0x27dfdb0
|
|
/* 027DFDB0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027DFDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000020u);
|
|
/* 027DFDB8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 027DFDBC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFDBC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DFDBC */ if (_t11) goto L_027DFD84; else goto L_027DFDC0;
|
|
L_027DFDC0: ; // 0x27dfdc0
|
|
/* 027DFDC0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027DFDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027DFDC4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027DFDC8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFDC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027DFDC8 */ if (_t13) goto L_027DFDCC; else goto L_027DFD68;
|
|
L_027DFDCC: ; // 0x27dfdcc
|
|
/* 027DFDCC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027DFDD0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFDD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027DFDD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFDD8 */ return;
|
|
}
|
|
|
|
// fn_027DFDDC @ 0x27dfddc
|
|
void Gambit_fn_027DFDDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027DFDDC: ; // 0x27dfddc
|
|
/* 027DFDDC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027DFDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027DFDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027DFDE4 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027DFDE4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027DFDE4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027DFDE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027DFDE4 */ goto L_027DFDE8;
|
|
L_027DFDE8: ; // 0x27dfde8
|
|
/* 027DFDE8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027DFDEC */ cpu->ctr = cpu->r[0];
|
|
/* 027DFDF0 */ cpu->r[11] = cpu->r[10];
|
|
L_027DFDF4: ; // 0x27dfdf4
|
|
/* 027DFDF4 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DFDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027DFDF8 */ _t5 = cpu->r[12] + cpu->r[10];
|
|
/* 027DFDF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027DFDFC */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 027DFE00 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027DFE00 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027DFE00 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 027DFE00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027DFE00 */ if (_t8) goto L_027DFDF4; else goto L_027DFE04;
|
|
L_027DFE04: ; // 0x27dfe04
|
|
/* 027DFE04 */ return;
|
|
}
|
|
|
|
// fn_027DFE08 @ 0x27dfe08
|
|
void Gambit_fn_027DFE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027DFE08: ; // 0x27dfe08
|
|
/* 027DFE08 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFE0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFE0C */ cpu->r[1] = _t0;
|
|
/* 027DFE10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DFE14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFE14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DFE18 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DFE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DFE1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DFE20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFE20 */ if (_t5) goto L_027DFE24; else goto L_027DFE34;
|
|
L_027DFE24: ; // 0x27dfe24
|
|
/* 027DFE24 */ cpu->r[3] = 0x00000010u;
|
|
/* 027DFE28 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE2C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DFE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DFE30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DFE30 */ if (_t7) goto L_027DFECC; else goto L_027DFE34;
|
|
L_027DFE34: ; // 0x27dfe34
|
|
/* 027DFE34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE38 */ cpu->r[30] = 0x00000000u;
|
|
/* 027DFE3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DFE3C */ if (_t9) goto L_027DFE40; else goto L_027DFE50;
|
|
L_027DFE40: ; // 0x27dfe40
|
|
/* 027DFE40 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DFE44 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE4C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DFE4C */ if (_t11) goto L_027DFE60; else goto L_027DFE50;
|
|
L_027DFE50: ; // 0x27dfe50
|
|
/* 027DFE50 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFE54 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFE54 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027DFE58 */ cpu->r[11] = cpu->r[11] + 0xFFFFF0B4u;
|
|
/* 027DFE5C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027DFE5C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
L_027DFE60: ; // 0x27dfe60
|
|
/* 027DFE60 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DFE64 */ cpu->r[12] = cpu->r[12] + 0xFFFFF0C4u;
|
|
/* 027DFE68 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 027DFE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE6C */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DFE6C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027DFE70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE70 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DFE70 */ if (_t16) goto L_027DFE74; else goto L_027DFE84;
|
|
L_027DFE74: ; // 0x27dfe74
|
|
/* 027DFE74 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DFE78 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DFE80 */ if (_t18) goto L_027DFE8C; else goto L_027DFE84;
|
|
L_027DFE84: ; // 0x27dfe84
|
|
/* 027DFE84 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 027DFE84 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027DFE88 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFE88 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027DFE8C: ; // 0x27dfe8c
|
|
/* 027DFE8C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027DFE90 */ _t21 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027DFE90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DFE94 */ Gambit_fn_02826F20(cpu);
|
|
/* 027DFE98 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DFE98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DFE9C */ _t23 = cpu->r[12] + 0x00000034u;
|
|
/* 027DFE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DFEA0 */ cpu->ctr = cpu->r[0];
|
|
/* 027DFEA4 */ cpu->r[4] = 0x00000014u;
|
|
/* 027DFEA8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027DFEAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DFEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFEB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFEB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DFEB4 */ if (_t25) goto L_027DFEC4; else goto L_027DFEB8;
|
|
L_027DFEB8: ; // 0x27dfeb8
|
|
/* 027DFEB8 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DFEB8 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 027DFEBC */ cpu->r[10] = 0x00000005u;
|
|
/* 027DFEC0 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 027DFEC0 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
L_027DFEC4: ; // 0x27dfec4
|
|
/* 027DFEC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFEC8 */ Gambit_fn_027DFDDC(cpu);
|
|
L_027DFECC: ; // 0x27dfecc
|
|
/* 027DFECC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DFED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFED4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DFED8 */ cpu->lr = cpu->r[0];
|
|
/* 027DFEDC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DFEE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFEE4 */ return;
|
|
}
|
|
|
|
// fn_027DFE0C @ 0x27dfe0c
|
|
void Gambit_fn_027DFE0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027DFE0C: ; // 0x27dfe0c
|
|
/* 027DFE0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027DFE0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFE0C */ cpu->r[1] = _t0;
|
|
/* 027DFE10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFE10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027DFE14 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFE14 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027DFE18 */ cpu->r[31] = cpu->r[3];
|
|
/* 027DFE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DFE1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFE1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027DFE20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027DFE20 */ if (_t5) goto L_027DFE24; else goto L_027DFE34;
|
|
L_027DFE24: ; // 0x27dfe24
|
|
/* 027DFE24 */ cpu->r[3] = 0x00000010u;
|
|
/* 027DFE28 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE2C */ cpu->r[31] = cpu->r[3];
|
|
/* 027DFE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027DFE30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027DFE30 */ if (_t7) goto L_027DFECC; else goto L_027DFE34;
|
|
L_027DFE34: ; // 0x27dfe34
|
|
/* 027DFE34 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE38 */ cpu->r[30] = 0x00000000u;
|
|
/* 027DFE3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027DFE3C */ if (_t9) goto L_027DFE40; else goto L_027DFE50;
|
|
L_027DFE40: ; // 0x27dfe40
|
|
/* 027DFE40 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DFE44 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE4C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE4C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027DFE4C */ if (_t11) goto L_027DFE60; else goto L_027DFE50;
|
|
L_027DFE50: ; // 0x27dfe50
|
|
/* 027DFE50 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFE54 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFE54 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027DFE58 */ cpu->r[11] = cpu->r[11] + 0xFFFFF0B4u;
|
|
/* 027DFE5C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027DFE5C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
L_027DFE60: ; // 0x27dfe60
|
|
/* 027DFE60 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DFE64 */ cpu->r[12] = cpu->r[12] + 0xFFFFF0C4u;
|
|
/* 027DFE68 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 027DFE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE6C */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027DFE6C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027DFE70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE70 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027DFE70 */ if (_t16) goto L_027DFE74; else goto L_027DFE84;
|
|
L_027DFE74: ; // 0x27dfe74
|
|
/* 027DFE74 */ cpu->r[3] = 0x00000008u;
|
|
/* 027DFE78 */ Gambit_fn_02801A78(cpu);
|
|
/* 027DFE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFE80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFE80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027DFE80 */ if (_t18) goto L_027DFE8C; else goto L_027DFE84;
|
|
L_027DFE84: ; // 0x27dfe84
|
|
/* 027DFE84 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 027DFE84 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027DFE88 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027DFE88 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027DFE8C: ; // 0x27dfe8c
|
|
/* 027DFE8C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027DFE90 */ _t21 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027DFE90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027DFE94 */ Gambit_fn_02826F20(cpu);
|
|
/* 027DFE98 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027DFE98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027DFE9C */ _t23 = cpu->r[12] + 0x00000034u;
|
|
/* 027DFE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027DFEA0 */ cpu->ctr = cpu->r[0];
|
|
/* 027DFEA4 */ cpu->r[4] = 0x00000014u;
|
|
/* 027DFEA8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027DFEAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027DFEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027DFEB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027DFEB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027DFEB4 */ if (_t25) goto L_027DFEC4; else goto L_027DFEB8;
|
|
L_027DFEB8: ; // 0x27dfeb8
|
|
/* 027DFEB8 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027DFEB8 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 027DFEBC */ cpu->r[10] = 0x00000005u;
|
|
/* 027DFEC0 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 027DFEC0 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
L_027DFEC4: ; // 0x27dfec4
|
|
/* 027DFEC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFEC8 */ Gambit_fn_027DFDDC(cpu);
|
|
L_027DFECC: ; // 0x27dfecc
|
|
/* 027DFECC */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027DFECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027DFED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027DFED4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027DFED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027DFED8 */ cpu->lr = cpu->r[0];
|
|
/* 027DFEDC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027DFEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027DFEE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027DFEE4 */ return;
|
|
}
|
|
|
|
// fn_027DFEE8 @ 0x27dfee8
|
|
void Gambit_fn_027DFEE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _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;
|
|
double _ft55, _ft56, _ft65, _ft66;
|
|
|
|
L_027DFEE8: ; // 0x27dfee8
|
|
/* 027DFEE8 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 027DFEE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027DFEE8 */ cpu->r[1] = _t0;
|
|
/* 027DFEEC */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 027DFEEC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[24]);
|
|
/* 027DFEF0 */ /* nop */
|
|
/* 027DFEF4 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 027DFEF4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[19]);
|
|
/* 027DFEF8 */ _t3 = cpu->r[1] + 0x000000B0u;
|
|
/* 027DFEF8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[27]);
|
|
/* 027DFEFC */ /* nop */
|
|
/* 027DFF00 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 027DFF00 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[26]);
|
|
/* 027DFF04 */ /* nop */
|
|
/* 027DFF08 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 027DFF08 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[19]);
|
|
/* 027DFF0C */ /* nop */
|
|
/* 027DFF10 */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 027DFF10 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[20]);
|
|
/* 027DFF14 */ _t7 = cpu->r[1] + 0x00000090u;
|
|
/* 027DFF14 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[25]);
|
|
/* 027DFF18 */ /* nop */
|
|
/* 027DFF1C */ _t8 = cpu->r[1] + 0x00000088u;
|
|
/* 027DFF1C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[24]);
|
|
/* 027DFF20 */ /* nop */
|
|
/* 027DFF24 */ _t9 = cpu->r[1] + 0x000000B8u;
|
|
/* 027DFF24 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[27]);
|
|
/* 027DFF28 */ _t10 = cpu->r[1] + 0x00000048u;
|
|
/* 027DFF28 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[20]);
|
|
/* 027DFF2C */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 027DFF2C */ rbrew_write_f64(cpu->mem, _t11, cpu->f[21]);
|
|
/* 027DFF30 */ _t12 = cpu->r[1] + 0x00000070u;
|
|
/* 027DFF30 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[23]);
|
|
/* 027DFF34 */ /* nop */
|
|
/* 027DFF38 */ _t13 = cpu->r[1] + 0x00000098u;
|
|
/* 027DFF38 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[25]);
|
|
/* 027DFF3C */ /* nop */
|
|
/* 027DFF40 */ _t14 = cpu->r[1] + 0x00000058u;
|
|
/* 027DFF40 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[21]);
|
|
/* 027DFF44 */ _t15 = cpu->r[1] + 0x00000078u;
|
|
/* 027DFF44 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[23]);
|
|
/* 027DFF48 */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 027DFF48 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[22]);
|
|
/* 027DFF4C */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 027DFF4C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[18]);
|
|
/* 027DFF50 */ /* nop */
|
|
/* 027DFF54 */ _t18 = cpu->r[1] + 0x000000A8u;
|
|
/* 027DFF54 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[26]);
|
|
/* 027DFF58 */ /* nop */
|
|
/* 027DFF5C */ _t19 = cpu->r[1] + 0x00000068u;
|
|
/* 027DFF5C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[22]);
|
|
/* 027DFF60 */ cpu->r[0] = cpu->lr;
|
|
/* 027DFF64 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 027DFF64 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[18]);
|
|
/* 027DFF68 */ _t21 = cpu->r[1] + 0x000000C0u;
|
|
/* 027DFF68 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[28]);
|
|
/* 027DFF6C */ /* nop */
|
|
/* 027DFF70 */ _t22 = cpu->r[1] + 0x000000C8u;
|
|
/* 027DFF70 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[28]);
|
|
/* 027DFF74 */ _t23 = cpu->r[1] + 0x000000D0u;
|
|
/* 027DFF74 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[29]);
|
|
/* 027DFF78 */ /* nop */
|
|
/* 027DFF7C */ _t24 = cpu->r[1] + 0x000000D8u;
|
|
/* 027DFF7C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[29]);
|
|
/* 027DFF80 */ _t25 = cpu->r[1] + 0x000000E0u;
|
|
/* 027DFF80 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[30]);
|
|
/* 027DFF84 */ /* nop */
|
|
/* 027DFF88 */ _t26 = cpu->r[1] + 0x000000E8u;
|
|
/* 027DFF88 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[30]);
|
|
/* 027DFF8C */ _t27 = cpu->r[1] + 0x000000F0u;
|
|
/* 027DFF8C */ rbrew_write_f64(cpu->mem, _t27, cpu->f[31]);
|
|
/* 027DFF90 */ /* nop */
|
|
/* 027DFF94 */ _t28 = cpu->r[1] + 0x000000F8u;
|
|
/* 027DFF94 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[31]);
|
|
/* 027DFF98 */ _t29 = cpu->r[1] + 0x00000104u;
|
|
/* 027DFF98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027DFF9C */ /* nop */
|
|
/* 027DFFA0 */ cpu->r[7] = 0x10110000u;
|
|
/* 027DFFA4 */ cpu->r[10] = 0x10110000u;
|
|
/* 027DFFA8 */ _t30 = cpu->r[7] + 0xFFFFF0D4u;
|
|
/* 027DFFA8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027DFFAC */ cpu->r[7] = 0x10110000u;
|
|
/* 027DFFB0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027DFFB4 */ _t31 = cpu->r[10] + 0xFFFFF0D8u;
|
|
/* 027DFFB4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027DFFB8 */ cpu->r[29] = 0x00000005u;
|
|
/* 027DFFBC */ cpu->r[26] = 0x00000000u;
|
|
/* 027DFFC0 */ _t32 = cpu->r[9] + 0xFFFFF0DCu;
|
|
/* 027DFFC0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027DFFC4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027DFFC8 */ _t33 = cpu->r[7] + 0xFFFFF0E0u;
|
|
/* 027DFFC8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027DFFCC */ cpu->r[28] = cpu->r[3];
|
|
/* 027DFFD0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027DFFD4 */ _t34 = cpu->r[11] + 0xFFFFF0E8u;
|
|
/* 027DFFD4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027DFFD8 */ cpu->r[30] = cpu->r[26];
|
|
/* 027DFFDC */ cpu->f[22] = cpu->f[28];
|
|
/* 027DFFE0 */ _t35 = cpu->r[12] + 0xFFFFF0E4u;
|
|
/* 027DFFE0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027DFFE4 */ cpu->r[31] = cpu->r[26];
|
|
L_027DFFE8: ; // 0x27dffe8
|
|
/* 027DFFE8 */ _t36 = cpu->r[28] + 0x00000008u;
|
|
/* 027DFFE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027DFFEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 027DFFF0 */ _t37 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027DFFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027DFFF4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027DFFF4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027DFFF4 */ if (_t39) goto L_027DFFF8; else goto L_027DFFFC;
|
|
L_027DFFF8: ; // 0x27dfff8
|
|
/* 027DFFF8 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
L_027DFFFC: ; // 0x27dfffc
|
|
/* 027DFFFC */ _t40 = cpu->r[12] + 0x00000000u;
|
|
/* 027DFFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E0000 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E0004 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E0008 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 027E0008 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 027E000C */ Gambit_fn_027DF9B0(cpu);
|
|
/* 027E0010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 027E0014 */ cpu->f[20] = cpu->f[26];
|
|
/* 027E0018 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E001C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E001C */ _t43 = _t42 & 0x00000001u;
|
|
/* 027E001C */ if (_t43) goto L_027E0030; else goto L_027E0020;
|
|
L_027E0020: ; // 0x27e0020
|
|
/* 027E0020 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E0024 */ Gambit_fn_027DF9CC(cpu);
|
|
/* 027E0028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E002C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E002C */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E002C */ if (_t45) goto L_027E010C; else goto L_027E0030;
|
|
L_027E0030: ; // 0x27e0030
|
|
/* 027E0030 */ _t46 = cpu->r[27] + 0x00000008u;
|
|
/* 027E0030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E0034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0038 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0038 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E0038 */ if (_t48) goto L_027E003C; else goto L_027E00F4;
|
|
L_027E003C: ; // 0x27e003c
|
|
/* 027E003C */ _t49 = cpu->r[27] + 0x0000009Cu;
|
|
/* 027E003C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027E0040 */ _t50 = cpu->r[27] + 0x00000098u;
|
|
/* 027E0040 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 027E0044 */ cpu->f[10] = cpu->f[0] * cpu->f[0];
|
|
/* 027E0048 */ cpu->f[12] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 027E004C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 027E0050 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0050 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027E0050 */ if (_t52) goto L_027E0064; else goto L_027E0054;
|
|
L_027E0054: ; // 0x27e0054
|
|
/* 027E0054 */ cpu->f[13] = cpu->f[31] * cpu->f[12];
|
|
/* 027E0058 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[22]);
|
|
/* 027E005C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E005C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027E005C */ if (_t54) goto L_027E0060; else goto L_027E0084;
|
|
L_027E0060: ; // 0x27e0060
|
|
/* 027E0060 */ goto L_027E00F4;
|
|
L_027E0064: ; // 0x27e0064
|
|
/* 027E0064 */ _ft55 = sqrt(cpu->f[12]);
|
|
/* 027E0064 */ _ft56 = (double)(int32_t)0x00000001u;
|
|
/* 027E0064 */ cpu->f[23] = _ft56 / _ft55;
|
|
/* 027E0068 */ cpu->f[24] = cpu->f[23] * cpu->f[23];
|
|
/* 027E006C */ cpu->f[25] = cpu->f[23] * cpu->f[28];
|
|
/* 027E0070 */ cpu->f[24] = -fma(cpu->f[24], cpu->f[12], -(cpu->f[30]));
|
|
/* 027E0074 */ cpu->f[23] = cpu->f[24] * cpu->f[25];
|
|
/* 027E0078 */ cpu->f[13] = cpu->f[23] * cpu->f[12];
|
|
/* 027E007C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[22]);
|
|
/* 027E0080 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0080 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027E0080 */ if (_t58) goto L_027E00F4; else goto L_027E0084;
|
|
L_027E0084: ; // 0x27e0084
|
|
/* 027E0084 */ _t59 = cpu->r[27] + 0x000000A4u;
|
|
/* 027E0084 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027E0088 */ _t60 = cpu->r[27] + 0x000000A0u;
|
|
/* 027E0088 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 027E008C */ cpu->f[8] = cpu->f[9] * cpu->f[9];
|
|
/* 027E0090 */ cpu->f[12] = fma(cpu->f[7], cpu->f[7], cpu->f[8]);
|
|
/* 027E0094 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 027E0098 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0098 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027E0098 */ if (_t62) goto L_027E00AC; else goto L_027E009C;
|
|
L_027E009C: ; // 0x27e009c
|
|
/* 027E009C */ cpu->f[9] = cpu->f[31] * cpu->f[12];
|
|
/* 027E00A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[22]);
|
|
/* 027E00A4 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E00A4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027E00A4 */ if (_t64) goto L_027E00A8; else goto L_027E00CC;
|
|
L_027E00A8: ; // 0x27e00a8
|
|
/* 027E00A8 */ goto L_027E00F4;
|
|
L_027E00AC: ; // 0x27e00ac
|
|
/* 027E00AC */ _ft65 = sqrt(cpu->f[12]);
|
|
/* 027E00AC */ _ft66 = (double)(int32_t)0x00000001u;
|
|
/* 027E00AC */ cpu->f[18] = _ft66 / _ft65;
|
|
/* 027E00B0 */ cpu->f[19] = cpu->f[18] * cpu->f[18];
|
|
/* 027E00B4 */ cpu->f[21] = cpu->f[18] * cpu->f[28];
|
|
/* 027E00B8 */ cpu->f[19] = -fma(cpu->f[19], cpu->f[12], -(cpu->f[30]));
|
|
/* 027E00BC */ cpu->f[18] = cpu->f[19] * cpu->f[21];
|
|
/* 027E00C0 */ cpu->f[9] = cpu->f[18] * cpu->f[12];
|
|
/* 027E00C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[22]);
|
|
/* 027E00C8 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E00C8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 027E00C8 */ if (_t68) goto L_027E00F4; else goto L_027E00CC;
|
|
L_027E00CC: ; // 0x27e00cc
|
|
/* 027E00CC */ cpu->r[3] = cpu->r[27] + 0x000000ACu;
|
|
/* 027E00D0 */ Gambit_fn_02C69350(cpu);
|
|
/* 027E00D4 */ cpu->f[10] = cpu->f[1] - cpu->f[27];
|
|
/* 027E00D8 */ cpu->f[11] = fabs(cpu->f[10]);
|
|
/* 027E00DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[20]);
|
|
/* 027E00E0 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E00E0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027E00E0 */ if (_t70) goto L_027E00F4; else goto L_027E00E4;
|
|
L_027E00E4: ; // 0x27e00e4
|
|
/* 027E00E4 */ cpu->r[3] = cpu->r[27] + 0x000000E8u;
|
|
/* 027E00E8 */ Gambit_fn_02C69350(cpu);
|
|
/* 027E00EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[29]);
|
|
/* 027E00F0 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E00F0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027E00F0 */ if (_t72) goto L_027E00F4; else goto L_027E010C;
|
|
L_027E00F4: ; // 0x27e00f4
|
|
/* 027E00F4 */ _t73 = cpu->r[28] + 0x00000008u;
|
|
/* 027E00F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E00F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]);
|
|
/* 027E00FC */ _t74 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E00FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E0100 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0100 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027E0100 */ if (_t76) goto L_027E0104; else goto L_027E0108;
|
|
L_027E0104: ; // 0x27e0104
|
|
/* 027E0104 */ cpu->r[11] = cpu->r[11] + cpu->r[30];
|
|
L_027E0108: ; // 0x27e0108
|
|
/* 027E0108 */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 027E0108 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
L_027E010C: ; // 0x27e010c
|
|
/* 027E010C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027E010C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E0110 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027E0114 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 027E0118 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0118 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027E0118 */ if (_t79) goto L_027E011C; else goto L_027DFFE8;
|
|
L_027E011C: ; // 0x27e011c
|
|
/* 027E011C */ /* nop */
|
|
/* 027E0120 */ _t80 = cpu->r[1] + 0x00000068u;
|
|
/* 027E0120 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 027E0124 */ _t81 = cpu->r[1] + 0x00000048u;
|
|
/* 027E0124 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 027E0128 */ _t82 = cpu->r[1] + 0x00000060u;
|
|
/* 027E0128 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 027E012C */ _t83 = cpu->r[1] + 0x00000040u;
|
|
/* 027E012C */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 027E0130 */ _t84 = cpu->r[1] + 0x00000088u;
|
|
/* 027E0130 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 027E0134 */ _t85 = cpu->r[1] + 0x00000058u;
|
|
/* 027E0134 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027E0138 */ _t86 = cpu->r[1] + 0x00000080u;
|
|
/* 027E0138 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 027E013C */ _t87 = cpu->r[1] + 0x00000050u;
|
|
/* 027E013C */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 027E0140 */ _t88 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E0140 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027E0144 */ _t89 = cpu->r[1] + 0x00000078u;
|
|
/* 027E0144 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027E0148 */ _t90 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E0148 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 027E014C */ _t91 = cpu->r[1] + 0x00000070u;
|
|
/* 027E014C */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t91);
|
|
/* 027E0150 */ _t92 = cpu->r[1] + 0x000000C8u;
|
|
/* 027E0150 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 027E0154 */ _t93 = cpu->r[1] + 0x00000098u;
|
|
/* 027E0154 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 027E0158 */ _t94 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E0158 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 027E015C */ _t95 = cpu->r[1] + 0x000000D8u;
|
|
/* 027E015C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 027E0160 */ _t96 = cpu->r[1] + 0x00000038u;
|
|
/* 027E0160 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027E0164 */ _t97 = cpu->r[1] + 0x000000D0u;
|
|
/* 027E0164 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 027E0168 */ _t98 = cpu->r[1] + 0x00000030u;
|
|
/* 027E0168 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t98);
|
|
/* 027E016C */ _t99 = cpu->r[1] + 0x00000028u;
|
|
/* 027E016C */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027E0170 */ _t100 = cpu->r[1] + 0x000000F8u;
|
|
/* 027E0170 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 027E0174 */ _t101 = cpu->r[1] + 0x00000020u;
|
|
/* 027E0174 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 027E0178 */ _t102 = cpu->r[1] + 0x000000F0u;
|
|
/* 027E0178 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 027E017C */ _t103 = cpu->r[1] + 0x00000090u;
|
|
/* 027E017C */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 027E0180 */ _t104 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E0180 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 027E0184 */ _t105 = cpu->r[1] + 0x000000E8u;
|
|
/* 027E0184 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 027E0188 */ _t106 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E0188 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 027E018C */ _t107 = cpu->r[1] + 0x000000E0u;
|
|
/* 027E018C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t107);
|
|
/* 027E0190 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0190 */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E0190 */ if (_t109) goto L_027E0194; // else: addr-0 trap, fall-through
|
|
L_027E0194: ; // 0x27e0194
|
|
/* 027E0194 */ _t110 = cpu->r[1] + 0x00000104u;
|
|
/* 027E0194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027E0198 */ cpu->lr = cpu->r[0];
|
|
/* 027E019C */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 027E01A0 */ return;
|
|
}
|
|
|
|
// fn_027E01A4 @ 0x27e01a4
|
|
void Gambit_fn_027E01A4(CPUState* cpu) {
|
|
uint32_t _t0, _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_027E01A4: ; // 0x27e01a4
|
|
/* 027E01A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E01A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E01A8 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E01AC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E01AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E01B0 */ goto L_027E01E4;
|
|
L_027E01B4: ; // 0x27e01b4
|
|
/* 027E01B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 027E01B8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E01B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E01B8 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 027E01B8 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E01B8 */ goto L_027E01BC;
|
|
L_027E01BC: ; // 0x27e01bc
|
|
/* 027E01BC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_027E01C0: ; // 0x27e01c0
|
|
/* 027E01C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 027E01C4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E01C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E01C4 */ if (_t6) goto L_027E01C8; else goto L_027E01D8;
|
|
L_027E01C8: ; // 0x27e01c8
|
|
/* 027E01C8 */ _t7 = cpu->r[10] + cpu->r[8];
|
|
/* 027E01C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E01CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027E01D0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E01D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E01D0 */ if (_t9) goto L_027E01D4; else goto L_027E0220;
|
|
L_027E01D4: ; // 0x27e01d4
|
|
/* 027E01D4 */ goto L_027E01E4;
|
|
L_027E01D8: ; // 0x27e01d8
|
|
/* 027E01D8 */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 027E01D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E01DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[3]);
|
|
/* 027E01E0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E01E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E01E0 */ if (_t12) goto L_027E01E4; else goto L_027E0220;
|
|
L_027E01E4: ; // 0x27e01e4
|
|
/* 027E01E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 027E01E8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E01E8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E01E8 */ if (_t14) goto L_027E01EC; else goto L_027E0204;
|
|
L_027E01EC: ; // 0x27e01ec
|
|
/* 027E01EC */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E01F0 */ _t15 = cpu->r[10] + cpu->r[7];
|
|
/* 027E01F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E01F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E01F8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E01FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E01FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E01FC */ if (_t17) goto L_027E0200; else goto L_027E01B4;
|
|
L_027E0200: ; // 0x27e0200
|
|
/* 027E0200 */ goto L_027E0214;
|
|
L_027E0204: ; // 0x27e0204
|
|
/* 027E0204 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 027E0204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E0208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E020C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E0210 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0210 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E0210 */ if (_t20) goto L_027E0214; else goto L_027E01B4;
|
|
L_027E0214: ; // 0x27e0214
|
|
/* 027E0214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 027E0218 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0218 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E0218 */ if (_t22) goto L_027E01E4; else goto L_027E021C;
|
|
L_027E021C: ; // 0x27e021c
|
|
/* 027E021C */ return;
|
|
L_027E0220: ; // 0x27e0220
|
|
/* 027E0220 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E0224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000005u);
|
|
/* 027E0228 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 027E022C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E022C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E022C */ if (_t24) goto L_027E01C0; else goto L_027E0230;
|
|
L_027E0230: ; // 0x27e0230
|
|
/* 027E0230 */ return;
|
|
}
|
|
|
|
// fn_027E0234 @ 0x27e0234
|
|
void Gambit_fn_027E0234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027E0234: ; // 0x27e0234
|
|
/* 027E0234 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E0238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E0238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0238 */ cpu->r[1] = _t0;
|
|
/* 027E023C */ cpu->r[11] = 0x00000000u;
|
|
/* 027E0240 */ cpu->r[0] = 0x00000004u;
|
|
/* 027E0244 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E0248 */ _t1 = cpu->r[10] + 0xFFFFF0F0u;
|
|
/* 027E0248 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E024C */ cpu->ctr = cpu->r[0];
|
|
/* 027E0250 */ cpu->r[12] = cpu->r[11];
|
|
/* 027E0254 */ cpu->r[7] = cpu->r[7] + 0x0000355Cu;
|
|
L_027E0258: ; // 0x27e0258
|
|
/* 027E0258 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 027E0258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E025C */ _t3 = cpu->r[3] + 0x00000034u;
|
|
/* 027E025C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 027E0264 */ _t4 = cpu->r[7] + 0x00000000u;
|
|
/* 027E0264 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E0268 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0268 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E0268 */ if (_t6) goto L_027E026C; else goto L_027E0270;
|
|
L_027E026C: ; // 0x27e026c
|
|
/* 027E026C */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
L_027E0270: ; // 0x27e0270
|
|
/* 027E0270 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 027E0270 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 027E0274 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 027E0274 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E0278 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 027E0278 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027E027C */ _t10 = cpu->r[3] + 0x00000030u;
|
|
/* 027E027C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E0280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 027E0284 */ _t11 = cpu->r[3] + 0x00000034u;
|
|
/* 027E0284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E0288 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0288 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0288 */ if (_t13) goto L_027E028C; else goto L_027E0290;
|
|
L_027E028C: ; // 0x27e028c
|
|
/* 027E028C */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
L_027E0290: ; // 0x27e0290
|
|
/* 027E0290 */ cpu->r[6] = 0x10110000u;
|
|
/* 027E0294 */ cpu->r[8] = 0x43300000u;
|
|
/* 027E0298 */ _t14 = cpu->r[6] + 0xFFFFF178u;
|
|
/* 027E0298 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027E029C */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 027E02A0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E02A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027E02A4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E02A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027E02A8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027E02A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 027E02AC */ cpu->f[12] = cpu->f[13] - cpu->f[12];
|
|
/* 027E02B0 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 027E02B4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 027E02B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027E02B8 */ cpu->f[13] = fma(cpu->f[0], cpu->f[11], cpu->f[13]);
|
|
/* 027E02BC */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 027E02C0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E02C4 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027E02C4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027E02C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E02C8 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E02C8 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 027E02C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E02C8 */ if (_t22) goto L_027E0258; else goto L_027E02CC;
|
|
L_027E02CC: ; // 0x27e02cc
|
|
/* 027E02CC */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E02CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E02D0 */ _t24 = cpu->r[3] + 0x00000030u;
|
|
/* 027E02D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E02D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E02D8 */ _t25 = cpu->r[3] + 0x00000034u;
|
|
/* 027E02D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E02DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E02DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E02DC */ if (_t27) goto L_027E02E0; else goto L_027E0308;
|
|
L_027E02E0: ; // 0x27e02e0
|
|
/* 027E02E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
|
|
/* 027E02E4 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E02E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E02E4 */ if (_t29) goto L_027E02E8; else goto L_027E02EC;
|
|
L_027E02E8: ; // 0x27e02e8
|
|
/* 027E02E8 */ cpu->r[10] = cpu->r[10] + 0x00000020u;
|
|
L_027E02EC: ; // 0x27e02ec
|
|
/* 027E02EC */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E02F0 */ _t30 = cpu->r[5] + 0x00003564u;
|
|
/* 027E02F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027E02F0 */ cpu->r[5] = _t30;
|
|
/* 027E02F4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 027E02F4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 027E02F8 */ _t32 = cpu->r[5] + 0x00000004u;
|
|
/* 027E02F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027E02FC */ _t33 = cpu->r[10] + 0x00000004u;
|
|
/* 027E02FC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 027E0300 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E0304 */ return;
|
|
L_027E0308: ; // 0x27e0308
|
|
/* 027E0308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
|
|
/* 027E030C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E030C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E030C */ if (_t35) goto L_027E0310; else goto L_027E0314;
|
|
L_027E0310: ; // 0x27e0310
|
|
/* 027E0310 */ cpu->r[10] = cpu->r[10] + 0x00000020u;
|
|
L_027E0314: ; // 0x27e0314
|
|
/* 027E0314 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E0318 */ _t36 = cpu->r[9] + 0x0000356Cu;
|
|
/* 027E0318 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027E0318 */ cpu->r[9] = _t36;
|
|
/* 027E031C */ _t37 = cpu->r[10] + 0x00000000u;
|
|
/* 027E031C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 027E0320 */ _t38 = cpu->r[9] + 0x00000004u;
|
|
/* 027E0320 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027E0324 */ _t39 = cpu->r[10] + 0x00000004u;
|
|
/* 027E0324 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 027E0328 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E032C */ return;
|
|
}
|
|
|
|
// fn_027E0238 @ 0x27e0238
|
|
void Gambit_fn_027E0238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027E0238: ; // 0x27e0238
|
|
/* 027E0238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E0238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0238 */ cpu->r[1] = _t0;
|
|
/* 027E023C */ cpu->r[11] = 0x00000000u;
|
|
/* 027E0240 */ cpu->r[0] = 0x00000004u;
|
|
/* 027E0244 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E0248 */ _t1 = cpu->r[10] + 0xFFFFF0F0u;
|
|
/* 027E0248 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E024C */ cpu->ctr = cpu->r[0];
|
|
/* 027E0250 */ cpu->r[12] = cpu->r[11];
|
|
/* 027E0254 */ cpu->r[7] = cpu->r[7] + 0x0000355Cu;
|
|
L_027E0258: ; // 0x27e0258
|
|
/* 027E0258 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 027E0258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E025C */ _t3 = cpu->r[3] + 0x00000034u;
|
|
/* 027E025C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 027E0264 */ _t4 = cpu->r[7] + 0x00000000u;
|
|
/* 027E0264 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E0268 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0268 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E0268 */ if (_t6) goto L_027E026C; else goto L_027E0270;
|
|
L_027E026C: ; // 0x27e026c
|
|
/* 027E026C */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
L_027E0270: ; // 0x27e0270
|
|
/* 027E0270 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 027E0270 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 027E0274 */ _t8 = cpu->r[7] + 0x00000004u;
|
|
/* 027E0274 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E0278 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 027E0278 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027E027C */ _t10 = cpu->r[3] + 0x00000030u;
|
|
/* 027E027C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E0280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 027E0284 */ _t11 = cpu->r[3] + 0x00000034u;
|
|
/* 027E0284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E0288 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0288 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0288 */ if (_t13) goto L_027E028C; else goto L_027E0290;
|
|
L_027E028C: ; // 0x27e028c
|
|
/* 027E028C */ cpu->r[9] = cpu->r[9] + cpu->r[12];
|
|
L_027E0290: ; // 0x27e0290
|
|
/* 027E0290 */ cpu->r[6] = 0x10110000u;
|
|
/* 027E0294 */ cpu->r[8] = 0x43300000u;
|
|
/* 027E0298 */ _t14 = cpu->r[6] + 0xFFFFF178u;
|
|
/* 027E0298 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027E029C */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 027E02A0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E02A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027E02A4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E02A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027E02A8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027E02A8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 027E02AC */ cpu->f[12] = cpu->f[13] - cpu->f[12];
|
|
/* 027E02B0 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 027E02B4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 027E02B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027E02B8 */ cpu->f[13] = fma(cpu->f[0], cpu->f[11], cpu->f[13]);
|
|
/* 027E02BC */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 027E02C0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E02C4 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027E02C4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027E02C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E02C8 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E02C8 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 027E02C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E02C8 */ if (_t22) goto L_027E0258; else goto L_027E02CC;
|
|
L_027E02CC: ; // 0x27e02cc
|
|
/* 027E02CC */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E02CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E02D0 */ _t24 = cpu->r[3] + 0x00000030u;
|
|
/* 027E02D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E02D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E02D8 */ _t25 = cpu->r[3] + 0x00000034u;
|
|
/* 027E02D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E02DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E02DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E02DC */ if (_t27) goto L_027E02E0; else goto L_027E0308;
|
|
L_027E02E0: ; // 0x27e02e0
|
|
/* 027E02E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
|
|
/* 027E02E4 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E02E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E02E4 */ if (_t29) goto L_027E02E8; else goto L_027E02EC;
|
|
L_027E02E8: ; // 0x27e02e8
|
|
/* 027E02E8 */ cpu->r[10] = cpu->r[10] + 0x00000020u;
|
|
L_027E02EC: ; // 0x27e02ec
|
|
/* 027E02EC */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E02F0 */ _t30 = cpu->r[5] + 0x00003564u;
|
|
/* 027E02F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027E02F0 */ cpu->r[5] = _t30;
|
|
/* 027E02F4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 027E02F4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 027E02F8 */ _t32 = cpu->r[5] + 0x00000004u;
|
|
/* 027E02F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027E02FC */ _t33 = cpu->r[10] + 0x00000004u;
|
|
/* 027E02FC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[12]);
|
|
/* 027E0300 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E0304 */ return;
|
|
L_027E0308: ; // 0x27e0308
|
|
/* 027E0308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000004u);
|
|
/* 027E030C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E030C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E030C */ if (_t35) goto L_027E0310; else goto L_027E0314;
|
|
L_027E0310: ; // 0x27e0310
|
|
/* 027E0310 */ cpu->r[10] = cpu->r[10] + 0x00000020u;
|
|
L_027E0314: ; // 0x27e0314
|
|
/* 027E0314 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E0318 */ _t36 = cpu->r[9] + 0x0000356Cu;
|
|
/* 027E0318 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 027E0318 */ cpu->r[9] = _t36;
|
|
/* 027E031C */ _t37 = cpu->r[10] + 0x00000000u;
|
|
/* 027E031C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 027E0320 */ _t38 = cpu->r[9] + 0x00000004u;
|
|
/* 027E0320 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027E0324 */ _t39 = cpu->r[10] + 0x00000004u;
|
|
/* 027E0324 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 027E0328 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E032C */ return;
|
|
}
|
|
|
|
// fn_027E0330 @ 0x27e0330
|
|
void Gambit_fn_027E0330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E0330: ; // 0x27e0330
|
|
/* 027E0330 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0334 */ cpu->r[1] = _t0;
|
|
/* 027E0338 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E033C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E033C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E0340 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E0348 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0348 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E0348 */ if (_t5) goto L_027E034C; else goto L_027E035C;
|
|
L_027E034C: ; // 0x27e034c
|
|
/* 027E034C */ cpu->r[3] = 0x00000038u;
|
|
/* 027E0350 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0354 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0358 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0358 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E0358 */ if (_t7) goto L_027E043C; else goto L_027E035C;
|
|
L_027E035C: ; // 0x27e035c
|
|
/* 027E035C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E035C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0360 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E0364 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0364 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E0364 */ if (_t9) goto L_027E0368; else goto L_027E0378;
|
|
L_027E0368: ; // 0x27e0368
|
|
/* 027E0368 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E036C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0374 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0374 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E0374 */ if (_t11) goto L_027E0388; else goto L_027E0378;
|
|
L_027E0378: ; // 0x27e0378
|
|
/* 027E0378 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E037C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E037C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E0380 */ cpu->r[0] = cpu->r[0] + 0xFFFFF158u;
|
|
/* 027E0384 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E0384 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_027E0388: ; // 0x27e0388
|
|
/* 027E0388 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E038C */ cpu->r[0] = cpu->r[0] + 0xFFFFF168u;
|
|
/* 027E0390 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 027E0390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0394 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027E0394 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E0398 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0398 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0398 */ if (_t16) goto L_027E039C; else goto L_027E03AC;
|
|
L_027E039C: ; // 0x27e039c
|
|
/* 027E039C */ cpu->r[3] = 0x00000008u;
|
|
/* 027E03A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E03A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E03A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E03A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E03A8 */ if (_t18) goto L_027E03B4; else goto L_027E03AC;
|
|
L_027E03AC: ; // 0x27e03ac
|
|
/* 027E03AC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 027E03AC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027E03B0 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027E03B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027E03B4: ; // 0x27e03b4
|
|
/* 027E03B4 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 027E03B4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 027E03B8 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E03BC */ cpu->r[12] = 0x00000013u;
|
|
/* 027E03C0 */ cpu->r[11] = cpu->r[31] + 0x00000010u;
|
|
/* 027E03C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E03C8 */ cpu->ctr = cpu->r[12];
|
|
/* 027E03CC */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E03CC */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_027E03D0: ; // 0x27e03d0
|
|
/* 027E03D0 */ _t23 = cpu->r[11] + cpu->r[9];
|
|
/* 027E03D0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 027E03D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E03D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E03D8 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E03D8 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 027E03D8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E03D8 */ if (_t26) goto L_027E03D0; else goto L_027E03DC;
|
|
L_027E03DC: ; // 0x27e03dc
|
|
/* 027E03DC */ cpu->r[11] = 0x0000000Cu;
|
|
/* 027E03E0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E03E4 */ cpu->r[12] = cpu->r[31] + 0x00000023u;
|
|
/* 027E03E8 */ cpu->ctr = cpu->r[11];
|
|
/* 027E03EC */ cpu->r[10] = 0x00000000u;
|
|
L_027E03F0: ; // 0x27e03f0
|
|
/* 027E03F0 */ _t27 = cpu->r[12] + cpu->r[10];
|
|
/* 027E03F0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[8]);
|
|
/* 027E03F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E03F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E03F8 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E03F8 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 027E03F8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E03F8 */ if (_t30) goto L_027E03F0; else goto L_027E03FC;
|
|
L_027E03FC: ; // 0x27e03fc
|
|
/* 027E03FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0400 */ _t31 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E0400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E0404 */ Gambit_fn_02826F20(cpu);
|
|
/* 027E0408 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E0408 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E040C */ _t33 = cpu->r[10] + 0x00000034u;
|
|
/* 027E040C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E0410 */ cpu->ctr = cpu->r[0];
|
|
/* 027E0414 */ cpu->r[4] = 0x00000028u;
|
|
/* 027E0418 */ cpu->r[5] = 0x00000004u;
|
|
/* 027E041C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0424 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0424 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E0424 */ if (_t35) goto L_027E0434; else goto L_027E0428;
|
|
L_027E0428: ; // 0x27e0428
|
|
/* 027E0428 */ _t36 = cpu->r[31] + 0x00000034u;
|
|
/* 027E0428 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 027E042C */ cpu->r[9] = 0x00000005u;
|
|
/* 027E0430 */ _t37 = cpu->r[31] + 0x00000030u;
|
|
/* 027E0430 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
L_027E0434: ; // 0x27e0434
|
|
/* 027E0434 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0438 */ Gambit_fn_027E0234(cpu);
|
|
L_027E043C: ; // 0x27e043c
|
|
/* 027E043C */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027E043C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E0440 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0444 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E0448 */ cpu->lr = cpu->r[0];
|
|
/* 027E044C */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 027E044C */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E0450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0454 */ return;
|
|
}
|
|
|
|
// fn_027E0334 @ 0x27e0334
|
|
void Gambit_fn_027E0334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E0334: ; // 0x27e0334
|
|
/* 027E0334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0334 */ cpu->r[1] = _t0;
|
|
/* 027E0338 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E033C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E033C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E0340 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E0348 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0348 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E0348 */ if (_t5) goto L_027E034C; else goto L_027E035C;
|
|
L_027E034C: ; // 0x27e034c
|
|
/* 027E034C */ cpu->r[3] = 0x00000038u;
|
|
/* 027E0350 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0354 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0358 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0358 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E0358 */ if (_t7) goto L_027E043C; else goto L_027E035C;
|
|
L_027E035C: ; // 0x27e035c
|
|
/* 027E035C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E035C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0360 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E0364 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0364 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E0364 */ if (_t9) goto L_027E0368; else goto L_027E0378;
|
|
L_027E0368: ; // 0x27e0368
|
|
/* 027E0368 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E036C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0374 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0374 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E0374 */ if (_t11) goto L_027E0388; else goto L_027E0378;
|
|
L_027E0378: ; // 0x27e0378
|
|
/* 027E0378 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E037C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E037C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E0380 */ cpu->r[0] = cpu->r[0] + 0xFFFFF158u;
|
|
/* 027E0384 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E0384 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_027E0388: ; // 0x27e0388
|
|
/* 027E0388 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E038C */ cpu->r[0] = cpu->r[0] + 0xFFFFF168u;
|
|
/* 027E0390 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 027E0390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0394 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027E0394 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E0398 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0398 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0398 */ if (_t16) goto L_027E039C; else goto L_027E03AC;
|
|
L_027E039C: ; // 0x27e039c
|
|
/* 027E039C */ cpu->r[3] = 0x00000008u;
|
|
/* 027E03A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E03A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E03A8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E03A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E03A8 */ if (_t18) goto L_027E03B4; else goto L_027E03AC;
|
|
L_027E03AC: ; // 0x27e03ac
|
|
/* 027E03AC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 027E03AC */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 027E03B0 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 027E03B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_027E03B4: ; // 0x27e03b4
|
|
/* 027E03B4 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 027E03B4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 027E03B8 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E03BC */ cpu->r[12] = 0x00000013u;
|
|
/* 027E03C0 */ cpu->r[11] = cpu->r[31] + 0x00000010u;
|
|
/* 027E03C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E03C8 */ cpu->ctr = cpu->r[12];
|
|
/* 027E03CC */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E03CC */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_027E03D0: ; // 0x27e03d0
|
|
/* 027E03D0 */ _t23 = cpu->r[11] + cpu->r[9];
|
|
/* 027E03D0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 027E03D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E03D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E03D8 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E03D8 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 027E03D8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E03D8 */ if (_t26) goto L_027E03D0; else goto L_027E03DC;
|
|
L_027E03DC: ; // 0x27e03dc
|
|
/* 027E03DC */ cpu->r[11] = 0x0000000Cu;
|
|
/* 027E03E0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E03E4 */ cpu->r[12] = cpu->r[31] + 0x00000023u;
|
|
/* 027E03E8 */ cpu->ctr = cpu->r[11];
|
|
/* 027E03EC */ cpu->r[10] = 0x00000000u;
|
|
L_027E03F0: ; // 0x27e03f0
|
|
/* 027E03F0 */ _t27 = cpu->r[12] + cpu->r[10];
|
|
/* 027E03F0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[8]);
|
|
/* 027E03F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E03F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E03F8 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E03F8 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 027E03F8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E03F8 */ if (_t30) goto L_027E03F0; else goto L_027E03FC;
|
|
L_027E03FC: ; // 0x27e03fc
|
|
/* 027E03FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0400 */ _t31 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E0400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E0404 */ Gambit_fn_02826F20(cpu);
|
|
/* 027E0408 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E0408 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E040C */ _t33 = cpu->r[10] + 0x00000034u;
|
|
/* 027E040C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E0410 */ cpu->ctr = cpu->r[0];
|
|
/* 027E0414 */ cpu->r[4] = 0x00000028u;
|
|
/* 027E0418 */ cpu->r[5] = 0x00000004u;
|
|
/* 027E041C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E0424 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0424 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E0424 */ if (_t35) goto L_027E0434; else goto L_027E0428;
|
|
L_027E0428: ; // 0x27e0428
|
|
/* 027E0428 */ _t36 = cpu->r[31] + 0x00000034u;
|
|
/* 027E0428 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 027E042C */ cpu->r[9] = 0x00000005u;
|
|
/* 027E0430 */ _t37 = cpu->r[31] + 0x00000030u;
|
|
/* 027E0430 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
L_027E0434: ; // 0x27e0434
|
|
/* 027E0434 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0438 */ Gambit_fn_027E0234(cpu);
|
|
L_027E043C: ; // 0x27e043c
|
|
/* 027E043C */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027E043C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E0440 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0444 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E0448 */ cpu->lr = cpu->r[0];
|
|
/* 027E044C */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 027E044C */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E0450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0454 */ return;
|
|
}
|
|
|
|
// fn_027E0458 @ 0x27e0458
|
|
void Gambit_fn_027E0458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_027E0458: ; // 0x27e0458
|
|
/* 027E0458 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E045C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E045C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E045C */ cpu->r[1] = _t0;
|
|
/* 027E0460 */ _t1 = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 027E0460 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E0464 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0468 */ _t2 = cpu->r[12] + 0xFFFFF1D8u;
|
|
/* 027E0468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E046C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E0470 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0470 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E0474 */ _t4 = cpu->r[12] + 0x00003564u;
|
|
/* 027E0474 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 027E0474 */ cpu->r[12] = _t4;
|
|
/* 027E0478 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 027E0478 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 027E047C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0480 */ cpu->r[11] = 0x00000040u;
|
|
/* 027E0484 */ _t6 = cpu->r[12] + 0xFFFFF1D4u;
|
|
/* 027E0484 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E0488 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E048C */ _t7 = cpu->r[12] + 0x00003578u;
|
|
/* 027E048C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 027E048C */ cpu->r[12] = _t7;
|
|
/* 027E0490 */ _t8 = cpu->r[12] + 0x00000001u;
|
|
/* 027E0490 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 027E0494 */ cpu->r[8] = 0x000000FFu;
|
|
/* 027E0498 */ _t9 = cpu->r[12] + 0x00000002u;
|
|
/* 027E0498 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 027E049C */ _t10 = cpu->r[12] + 0x00000003u;
|
|
/* 027E049C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[8]);
|
|
/* 027E04A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E04A4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E04A8 */ _t11 = cpu->r[12] + 0xFFFFF1E0u;
|
|
/* 027E04A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E04AC */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E04B0 */ _t12 = cpu->r[10] + 0x0000355Cu;
|
|
/* 027E04B0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027E04B0 */ cpu->r[10] = _t12;
|
|
/* 027E04B4 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027E04B8 */ _t13 = cpu->r[12] + 0x00003574u;
|
|
/* 027E04B8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 027E04B8 */ cpu->r[12] = _t13;
|
|
/* 027E04BC */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E04C0 */ _t14 = cpu->r[12] + 0x00000001u;
|
|
/* 027E04C0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[8]);
|
|
/* 027E04C4 */ cpu->r[5] = cpu->r[5] + 0x00003588u;
|
|
/* 027E04C8 */ _t15 = cpu->r[12] + 0x00000002u;
|
|
/* 027E04C8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[8]);
|
|
/* 027E04CC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E04D0 */ _t16 = cpu->r[12] + 0x00000003u;
|
|
/* 027E04D0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
/* 027E04D4 */ cpu->r[4] = cpu->r[4] + 0x00003584u;
|
|
/* 027E04D8 */ _t17 = cpu->r[9] + 0x0000356Cu;
|
|
/* 027E04D8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 027E04D8 */ cpu->r[9] = _t17;
|
|
/* 027E04DC */ cpu->r[12] = 0x0000005Au;
|
|
/* 027E04E0 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 027E04E0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 027E04E4 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 027E04E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 027E04E8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E04EC */ _t20 = cpu->r[5] + 0x00000002u;
|
|
/* 027E04EC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[12]);
|
|
/* 027E04F0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027E04F4 */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 027E04F4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[7]);
|
|
/* 027E04F8 */ cpu->r[9] = 0x000000A0u;
|
|
/* 027E04FC */ _t22 = cpu->r[5] + 0x00000003u;
|
|
/* 027E04FC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 027E0500 */ cpu->r[11] = 0x00000014u;
|
|
/* 027E0504 */ _t23 = cpu->r[31] + 0x0000357Cu;
|
|
/* 027E0504 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 027E0504 */ cpu->r[31] = _t23;
|
|
/* 027E0508 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E050C */ _t24 = cpu->r[4] + 0x00000003u;
|
|
/* 027E050C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[8]);
|
|
/* 027E0510 */ cpu->r[12] = cpu->r[12] + 0x00003590u;
|
|
/* 027E0514 */ _t25 = cpu->r[4] + 0x00000001u;
|
|
/* 027E0514 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 027E0518 */ _t26 = cpu->r[31] + 0x00000001u;
|
|
/* 027E0518 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[7]);
|
|
/* 027E051C */ _t27 = cpu->r[4] + 0x00000002u;
|
|
/* 027E051C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 027E0520 */ cpu->r[11] = 0x000000C8u;
|
|
/* 027E0524 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 027E0524 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[8]);
|
|
/* 027E0528 */ cpu->r[10] = 0x0000008Cu;
|
|
/* 027E052C */ _t29 = cpu->r[12] + 0x00000002u;
|
|
/* 027E052C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[9]);
|
|
/* 027E0530 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E0534 */ _t30 = cpu->r[31] + 0x00000002u;
|
|
/* 027E0534 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[7]);
|
|
/* 027E0538 */ _t31 = cpu->r[12] + 0x00000001u;
|
|
/* 027E0538 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[9]);
|
|
/* 027E053C */ cpu->r[6] = cpu->r[6] + 0x0000358Cu;
|
|
/* 027E0540 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027E0540 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[9]);
|
|
/* 027E0544 */ _t33 = cpu->r[12] + 0x00000003u;
|
|
/* 027E0544 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 027E0548 */ _t34 = cpu->r[6] + 0x00000001u;
|
|
/* 027E0548 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 027E054C */ cpu->r[3] = 0x101F0000u;
|
|
/* 027E0550 */ _t35 = cpu->r[6] + 0x00000003u;
|
|
/* 027E0550 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[8]);
|
|
/* 027E0554 */ cpu->r[12] = 0x000000BEu;
|
|
/* 027E0558 */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 027E0558 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[8]);
|
|
/* 027E055C */ cpu->r[3] = cpu->r[3] + 0x00003580u;
|
|
/* 027E0560 */ _t37 = cpu->r[5] + 0x00000001u;
|
|
/* 027E0560 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
/* 027E0564 */ _t38 = cpu->r[31] + 0x00000003u;
|
|
/* 027E0564 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[8]);
|
|
/* 027E0568 */ _t39 = cpu->r[6] + 0x00000002u;
|
|
/* 027E0568 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[7]);
|
|
/* 027E056C */ _t40 = cpu->r[3] + 0x00000002u;
|
|
/* 027E056C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[8]);
|
|
/* 027E0570 */ _t41 = cpu->r[3] + 0x00000003u;
|
|
/* 027E0570 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[8]);
|
|
/* 027E0574 */ _t42 = cpu->r[3] + 0x00000001u;
|
|
/* 027E0574 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[10]);
|
|
/* 027E0578 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 027E0578 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[7]);
|
|
/* 027E057C */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E057C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E0580 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0584 */ return;
|
|
}
|
|
|
|
// fn_027E045C @ 0x27e045c
|
|
void Gambit_fn_027E045C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_027E045C: ; // 0x27e045c
|
|
/* 027E045C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E045C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E045C */ cpu->r[1] = _t0;
|
|
/* 027E0460 */ _t1 = cpu->r[12] + 0xFFFFF1DCu;
|
|
/* 027E0460 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E0464 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0468 */ _t2 = cpu->r[12] + 0xFFFFF1D8u;
|
|
/* 027E0468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E046C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E0470 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0470 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E0474 */ _t4 = cpu->r[12] + 0x00003564u;
|
|
/* 027E0474 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 027E0474 */ cpu->r[12] = _t4;
|
|
/* 027E0478 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 027E0478 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 027E047C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0480 */ cpu->r[11] = 0x00000040u;
|
|
/* 027E0484 */ _t6 = cpu->r[12] + 0xFFFFF1D4u;
|
|
/* 027E0484 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E0488 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E048C */ _t7 = cpu->r[12] + 0x00003578u;
|
|
/* 027E048C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 027E048C */ cpu->r[12] = _t7;
|
|
/* 027E0490 */ _t8 = cpu->r[12] + 0x00000001u;
|
|
/* 027E0490 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 027E0494 */ cpu->r[8] = 0x000000FFu;
|
|
/* 027E0498 */ _t9 = cpu->r[12] + 0x00000002u;
|
|
/* 027E0498 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 027E049C */ _t10 = cpu->r[12] + 0x00000003u;
|
|
/* 027E049C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[8]);
|
|
/* 027E04A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E04A4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E04A8 */ _t11 = cpu->r[12] + 0xFFFFF1E0u;
|
|
/* 027E04A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E04AC */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E04B0 */ _t12 = cpu->r[10] + 0x0000355Cu;
|
|
/* 027E04B0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027E04B0 */ cpu->r[10] = _t12;
|
|
/* 027E04B4 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027E04B8 */ _t13 = cpu->r[12] + 0x00003574u;
|
|
/* 027E04B8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 027E04B8 */ cpu->r[12] = _t13;
|
|
/* 027E04BC */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E04C0 */ _t14 = cpu->r[12] + 0x00000001u;
|
|
/* 027E04C0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[8]);
|
|
/* 027E04C4 */ cpu->r[5] = cpu->r[5] + 0x00003588u;
|
|
/* 027E04C8 */ _t15 = cpu->r[12] + 0x00000002u;
|
|
/* 027E04C8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[8]);
|
|
/* 027E04CC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E04D0 */ _t16 = cpu->r[12] + 0x00000003u;
|
|
/* 027E04D0 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[8]);
|
|
/* 027E04D4 */ cpu->r[4] = cpu->r[4] + 0x00003584u;
|
|
/* 027E04D8 */ _t17 = cpu->r[9] + 0x0000356Cu;
|
|
/* 027E04D8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 027E04D8 */ cpu->r[9] = _t17;
|
|
/* 027E04DC */ cpu->r[12] = 0x0000005Au;
|
|
/* 027E04E0 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 027E04E0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 027E04E4 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 027E04E4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 027E04E8 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E04EC */ _t20 = cpu->r[5] + 0x00000002u;
|
|
/* 027E04EC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[12]);
|
|
/* 027E04F0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027E04F4 */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 027E04F4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[7]);
|
|
/* 027E04F8 */ cpu->r[9] = 0x000000A0u;
|
|
/* 027E04FC */ _t22 = cpu->r[5] + 0x00000003u;
|
|
/* 027E04FC */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 027E0500 */ cpu->r[11] = 0x00000014u;
|
|
/* 027E0504 */ _t23 = cpu->r[31] + 0x0000357Cu;
|
|
/* 027E0504 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 027E0504 */ cpu->r[31] = _t23;
|
|
/* 027E0508 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E050C */ _t24 = cpu->r[4] + 0x00000003u;
|
|
/* 027E050C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[8]);
|
|
/* 027E0510 */ cpu->r[12] = cpu->r[12] + 0x00003590u;
|
|
/* 027E0514 */ _t25 = cpu->r[4] + 0x00000001u;
|
|
/* 027E0514 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 027E0518 */ _t26 = cpu->r[31] + 0x00000001u;
|
|
/* 027E0518 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[7]);
|
|
/* 027E051C */ _t27 = cpu->r[4] + 0x00000002u;
|
|
/* 027E051C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 027E0520 */ cpu->r[11] = 0x000000C8u;
|
|
/* 027E0524 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 027E0524 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[8]);
|
|
/* 027E0528 */ cpu->r[10] = 0x0000008Cu;
|
|
/* 027E052C */ _t29 = cpu->r[12] + 0x00000002u;
|
|
/* 027E052C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[9]);
|
|
/* 027E0530 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E0534 */ _t30 = cpu->r[31] + 0x00000002u;
|
|
/* 027E0534 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[7]);
|
|
/* 027E0538 */ _t31 = cpu->r[12] + 0x00000001u;
|
|
/* 027E0538 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[9]);
|
|
/* 027E053C */ cpu->r[6] = cpu->r[6] + 0x0000358Cu;
|
|
/* 027E0540 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027E0540 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[9]);
|
|
/* 027E0544 */ _t33 = cpu->r[12] + 0x00000003u;
|
|
/* 027E0544 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 027E0548 */ _t34 = cpu->r[6] + 0x00000001u;
|
|
/* 027E0548 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 027E054C */ cpu->r[3] = 0x101F0000u;
|
|
/* 027E0550 */ _t35 = cpu->r[6] + 0x00000003u;
|
|
/* 027E0550 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[8]);
|
|
/* 027E0554 */ cpu->r[12] = 0x000000BEu;
|
|
/* 027E0558 */ _t36 = cpu->r[6] + 0x00000000u;
|
|
/* 027E0558 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[8]);
|
|
/* 027E055C */ cpu->r[3] = cpu->r[3] + 0x00003580u;
|
|
/* 027E0560 */ _t37 = cpu->r[5] + 0x00000001u;
|
|
/* 027E0560 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
/* 027E0564 */ _t38 = cpu->r[31] + 0x00000003u;
|
|
/* 027E0564 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[8]);
|
|
/* 027E0568 */ _t39 = cpu->r[6] + 0x00000002u;
|
|
/* 027E0568 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[7]);
|
|
/* 027E056C */ _t40 = cpu->r[3] + 0x00000002u;
|
|
/* 027E056C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[8]);
|
|
/* 027E0570 */ _t41 = cpu->r[3] + 0x00000003u;
|
|
/* 027E0570 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[8]);
|
|
/* 027E0574 */ _t42 = cpu->r[3] + 0x00000001u;
|
|
/* 027E0574 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[10]);
|
|
/* 027E0578 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 027E0578 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[7]);
|
|
/* 027E057C */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E057C */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E0580 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0584 */ return;
|
|
}
|
|
|
|
// fn_027E0588 @ 0x27e0588
|
|
void Gambit_fn_027E0588(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_027E0588: ; // 0x27e0588
|
|
/* 027E0588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E058C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E058C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E058C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E058C */ goto L_027E0590;
|
|
L_027E0590: ; // 0x27e0590
|
|
/* 027E0590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E0590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0594 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0594 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E0594 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E0594 */ goto L_027E0598;
|
|
L_027E0598: ; // 0x27e0598
|
|
/* 027E0598 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027E059C @ 0x27e059c
|
|
void Gambit_fn_027E059C(CPUState* cpu) {
|
|
L_027E059C: ; // 0x27e059c
|
|
/* 027E059C */ return;
|
|
}
|
|
|
|
// fn_027E05A0 @ 0x27e05a0
|
|
void Gambit_fn_027E05A0(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_027E05A0: ; // 0x27e05a0
|
|
/* 027E05A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E05A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E05A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05A4 */ goto L_027E05A8;
|
|
L_027E05A8: ; // 0x27e05a8
|
|
/* 027E05A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E05A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E05AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E05AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05AC */ goto L_027E05B0;
|
|
L_027E05B0: ; // 0x27e05b0
|
|
/* 027E05B0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027E05B4 @ 0x27e05b4
|
|
void Gambit_fn_027E05B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E05B4: ; // 0x27e05b4
|
|
/* 027E05B4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E05B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E05B8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E05B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E05BC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E05C0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E05C4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E05C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E05C8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E05C8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E05CC */ return;
|
|
}
|
|
|
|
// fn_027E05D0 @ 0x27e05d0
|
|
void Gambit_fn_027E05D0(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_027E05D0: ; // 0x27e05d0
|
|
/* 027E05D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E05D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E05D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05D4 */ goto L_027E05D8;
|
|
L_027E05D8: ; // 0x27e05d8
|
|
/* 027E05D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E05D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E05DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E05DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05DC */ goto L_027E05E0;
|
|
L_027E05E0: ; // 0x27e05e0
|
|
/* 027E05E0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027E05E4 @ 0x27e05e4
|
|
void Gambit_fn_027E05E4(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_027E05E4: ; // 0x27e05e4
|
|
/* 027E05E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E05E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E05E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05E8 */ goto L_027E05EC;
|
|
L_027E05EC: ; // 0x27e05ec
|
|
/* 027E05EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E05EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E05F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E05F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E05F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E05F0 */ goto L_027E05F4;
|
|
L_027E05F4: ; // 0x27e05f4
|
|
/* 027E05F4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027E05F8 @ 0x27e05f8
|
|
void Gambit_fn_027E05F8(CPUState* cpu) {
|
|
uint32_t _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_027E05F8: ; // 0x27e05f8
|
|
/* 027E05F8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E05FC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E0600 */ _t0 = cpu->r[8] + 0xFFFFF1F8u;
|
|
/* 027E0600 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E0604 */ cpu->r[8] = 0x000000FFu;
|
|
/* 027E0608 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E060C */ _t1 = cpu->r[11] + 0x000035ACu;
|
|
/* 027E060C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[8]);
|
|
/* 027E060C */ cpu->r[11] = _t1;
|
|
/* 027E0610 */ cpu->r[6] = cpu->r[6] + 0x000035A0u;
|
|
/* 027E0614 */ _t2 = cpu->r[11] + 0x00000002u;
|
|
/* 027E0614 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[8]);
|
|
/* 027E0618 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E061C */ _t3 = cpu->r[6] + 0x00000001u;
|
|
/* 027E061C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[8]);
|
|
/* 027E0620 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E0624 */ _t4 = cpu->r[6] + 0x00000002u;
|
|
/* 027E0624 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 027E0628 */ _t5 = cpu->r[6] + 0x00000000u;
|
|
/* 027E0628 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[8]);
|
|
/* 027E062C */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E0630 */ _t6 = cpu->r[6] + 0x00000003u;
|
|
/* 027E0630 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[8]);
|
|
/* 027E0634 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E0638 */ _t7 = cpu->r[7] + 0x000035A4u;
|
|
/* 027E0638 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[8]);
|
|
/* 027E0638 */ cpu->r[7] = _t7;
|
|
/* 027E063C */ cpu->r[9] = cpu->r[9] + 0x000035A8u;
|
|
/* 027E0640 */ _t8 = cpu->r[10] + 0xFFFFF1F4u;
|
|
/* 027E0640 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E0644 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E0648 */ _t9 = cpu->r[9] + 0x00000002u;
|
|
/* 027E0648 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 027E064C */ _t10 = cpu->r[12] + 0x00003594u;
|
|
/* 027E064C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E064C */ cpu->r[12] = _t10;
|
|
/* 027E0650 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 027E0650 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 027E0654 */ _t12 = cpu->r[9] + 0x00000001u;
|
|
/* 027E0654 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 027E0658 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E065C */ _t13 = cpu->r[9] + 0x00000003u;
|
|
/* 027E065C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 027E0660 */ _t14 = cpu->r[12] + 0x0000359Cu;
|
|
/* 027E0660 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 027E0660 */ cpu->r[12] = _t14;
|
|
/* 027E0664 */ _t15 = cpu->r[7] + 0x00000003u;
|
|
/* 027E0664 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[8]);
|
|
/* 027E0668 */ _t16 = cpu->r[7] + 0x00000001u;
|
|
/* 027E0668 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 027E066C */ cpu->r[10] = 0x00000020u;
|
|
/* 027E0670 */ _t17 = cpu->r[12] + 0x00000001u;
|
|
/* 027E0670 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 027E0674 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 027E0674 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 027E0678 */ _t19 = cpu->r[12] + 0x00000002u;
|
|
/* 027E0678 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[10]);
|
|
/* 027E067C */ _t20 = cpu->r[12] + 0x00000003u;
|
|
/* 027E067C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[8]);
|
|
/* 027E0680 */ _t21 = cpu->r[11] + 0x00000003u;
|
|
/* 027E0680 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[8]);
|
|
/* 027E0684 */ _t22 = cpu->r[7] + 0x00000002u;
|
|
/* 027E0684 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 027E0688 */ _t23 = cpu->r[11] + 0x00000001u;
|
|
/* 027E0688 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 027E068C */ return;
|
|
}
|
|
|
|
// fn_027E0690 @ 0x27e0690
|
|
void Gambit_fn_027E0690(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_027E0690: ; // 0x27e0690
|
|
/* 027E0690 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E0694 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0698 */ cpu->r[6] = cpu->r[6] + 0x000035BCu;
|
|
/* 027E069C */ _t0 = cpu->r[12] + 0xFFFFF20Cu;
|
|
/* 027E069C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E06A0 */ cpu->r[12] = 0x000000FFu;
|
|
/* 027E06A4 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E06A8 */ _t1 = cpu->r[6] + 0x00000001u;
|
|
/* 027E06A8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[12]);
|
|
/* 027E06AC */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E06B0 */ _t2 = cpu->r[6] + 0x00000002u;
|
|
/* 027E06B0 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[10]);
|
|
/* 027E06B4 */ cpu->r[5] = cpu->r[5] + 0x000035B8u;
|
|
/* 027E06B8 */ _t3 = cpu->r[6] + 0x00000003u;
|
|
/* 027E06B8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 027E06BC */ cpu->r[11] = 0x10110000u;
|
|
/* 027E06C0 */ _t4 = cpu->r[5] + 0x00000003u;
|
|
/* 027E06C0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 027E06C4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E06C8 */ _t5 = cpu->r[11] + 0xFFFFF210u;
|
|
/* 027E06C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E06CC */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E06D0 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 027E06D0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 027E06D4 */ _t7 = cpu->r[7] + 0x000035C0u;
|
|
/* 027E06D4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 027E06D4 */ cpu->r[7] = _t7;
|
|
/* 027E06D8 */ _t8 = cpu->r[7] + 0x00000002u;
|
|
/* 027E06D8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 027E06DC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E06E0 */ _t9 = cpu->r[7] + 0x00000003u;
|
|
/* 027E06E0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 027E06E4 */ cpu->r[11] = 0x00000020u;
|
|
/* 027E06E8 */ _t10 = cpu->r[9] + 0x000035B0u;
|
|
/* 027E06E8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E06E8 */ cpu->r[9] = _t10;
|
|
/* 027E06EC */ _t11 = cpu->r[6] + 0x00000000u;
|
|
/* 027E06EC */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 027E06F0 */ _t12 = cpu->r[7] + 0x00000001u;
|
|
/* 027E06F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[10]);
|
|
/* 027E06F4 */ _t13 = cpu->r[5] + 0x00000002u;
|
|
/* 027E06F4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 027E06F8 */ cpu->r[8] = cpu->r[8] + 0x000035C4u;
|
|
/* 027E06FC */ _t14 = cpu->r[5] + 0x00000001u;
|
|
/* 027E06FC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[10]);
|
|
/* 027E0700 */ _t15 = cpu->r[8] + 0x00000002u;
|
|
/* 027E0700 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
/* 027E0704 */ _t16 = cpu->r[8] + 0x00000000u;
|
|
/* 027E0704 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]);
|
|
/* 027E0708 */ _t17 = cpu->r[8] + 0x00000003u;
|
|
/* 027E0708 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 027E070C */ _t18 = cpu->r[8] + 0x00000001u;
|
|
/* 027E070C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 027E0710 */ _t19 = cpu->r[9] + 0x00000004u;
|
|
/* 027E0710 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027E0714 */ return;
|
|
}
|
|
|
|
// fn_027E0718 @ 0x27e0718
|
|
void Gambit_fn_027E0718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027E0718: ; // 0x27e0718
|
|
/* 027E0718 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 027E0718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
L_027E071C: ; // 0x27e071c
|
|
/* 027E071C */ _t1 = cpu->r[12] + 0x00000020u;
|
|
/* 027E071C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E0720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E0724 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0724 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E0724 */ if (_t3) goto L_027E0728; else goto L_027E072C;
|
|
L_027E0728: ; // 0x27e0728
|
|
/* 027E0728 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0728 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
L_027E072C: ; // 0x27e072c
|
|
/* 027E072C */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027E072C */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027E0730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0734 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0734 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E0734 */ if (_t7) goto L_027E071C; else goto L_027E0738;
|
|
L_027E0738: ; // 0x27e0738
|
|
/* 027E0738 */ _t8 = cpu->r[3] + 0x00000024u;
|
|
/* 027E0738 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027E073C */ cpu->r[3] = 0x00000001u;
|
|
/* 027E0740 */ return;
|
|
}
|
|
|
|
// fn_027E0744 @ 0x27e0744
|
|
void Gambit_fn_027E0744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027E0744: ; // 0x27e0744
|
|
/* 027E0744 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0748 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E0748 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E074C */ cpu->r[9] = cpu->r[3];
|
|
/* 027E0750 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E0750 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E0750 */ cpu->r[1] = _t1;
|
|
/* 027E0754 */ _t2 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E0758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027E075C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E075C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E075C */ if (_t4) goto L_027E0760; else goto L_027E077C;
|
|
L_027E0760: ; // 0x27e0760
|
|
/* 027E0760 */ cpu->r[3] = cpu->r[9];
|
|
/* 027E0764 */ Gambit_fn_027E0718(cpu);
|
|
/* 027E0768 */ _t5 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E076C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027E0770 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0770 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E0770 */ if (_t7) goto L_027E0774; else goto L_027E077C;
|
|
L_027E0774: ; // 0x27e0774
|
|
/* 027E0774 */ cpu->r[11] = 0x00000000u;
|
|
/* 027E0778 */ _t8 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0778 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_027E077C: ; // 0x27e077c
|
|
/* 027E077C */ _t9 = cpu->r[4] + 0x00000020u;
|
|
/* 027E077C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E0780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E0784 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0784 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E0784 */ if (_t11) goto L_027E0790; else goto L_027E0788;
|
|
L_027E0788: ; // 0x27e0788
|
|
/* 027E0788 */ _t12 = cpu->r[4] + 0x00000024u;
|
|
/* 027E0788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E078C */ _t13 = cpu->r[12] + 0x00000024u;
|
|
/* 027E078C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_027E0790: ; // 0x27e0790
|
|
/* 027E0790 */ _t14 = cpu->r[4] + 0x00000024u;
|
|
/* 027E0790 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E0794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E0798 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0798 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0798 */ if (_t16) goto L_027E07A4; else goto L_027E079C;
|
|
L_027E079C: ; // 0x27e079c
|
|
/* 027E079C */ _t17 = cpu->r[4] + 0x00000020u;
|
|
/* 027E079C */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E07A0 */ _t18 = cpu->r[10] + 0x00000020u;
|
|
/* 027E07A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_027E07A4: ; // 0x27e07a4
|
|
/* 027E07A4 */ _t19 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027E07A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E07A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027E07AC */ _t20 = cpu->r[9] + 0x00000020u;
|
|
/* 027E07AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E07B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E07B0 */ if (_t22) goto L_027E07B4; else goto L_027E07BC;
|
|
L_027E07B4: ; // 0x27e07b4
|
|
/* 027E07B4 */ _t23 = cpu->r[4] + 0x00000020u;
|
|
/* 027E07B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E07B8 */ _t24 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027E07B8 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
L_027E07BC: ; // 0x27e07bc
|
|
/* 027E07BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027E07C0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07C0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E07C0 */ if (_t26) goto L_027E07C4; else goto L_027E07CC;
|
|
L_027E07C4: ; // 0x27e07c4
|
|
/* 027E07C4 */ _t27 = cpu->r[4] + 0x00000024u;
|
|
/* 027E07C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E07C8 */ _t28 = cpu->r[9] + 0x00000020u;
|
|
/* 027E07C8 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
L_027E07CC: ; // 0x27e07cc
|
|
/* 027E07CC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E07CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E07D0 */ cpu->lr = cpu->r[0];
|
|
/* 027E07D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E07D8 */ return;
|
|
}
|
|
|
|
// fn_027E0750 @ 0x27e0750
|
|
void Gambit_fn_027E0750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E0750: ; // 0x27e0750
|
|
/* 027E0750 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E0750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0750 */ cpu->r[1] = _t0;
|
|
/* 027E0754 */ _t1 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E0758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027E075C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E075C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E075C */ if (_t3) goto L_027E0760; else goto L_027E077C;
|
|
L_027E0760: ; // 0x27e0760
|
|
/* 027E0760 */ cpu->r[3] = cpu->r[9];
|
|
/* 027E0764 */ Gambit_fn_027E0718(cpu);
|
|
/* 027E0768 */ _t4 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E076C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027E0770 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0770 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E0770 */ if (_t6) goto L_027E0774; else goto L_027E077C;
|
|
L_027E0774: ; // 0x27e0774
|
|
/* 027E0774 */ cpu->r[11] = 0x00000000u;
|
|
/* 027E0778 */ _t7 = cpu->r[9] + 0x00000024u;
|
|
/* 027E0778 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
L_027E077C: ; // 0x27e077c
|
|
/* 027E077C */ _t8 = cpu->r[4] + 0x00000020u;
|
|
/* 027E077C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E0780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E0784 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0784 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0784 */ if (_t10) goto L_027E0790; else goto L_027E0788;
|
|
L_027E0788: ; // 0x27e0788
|
|
/* 027E0788 */ _t11 = cpu->r[4] + 0x00000024u;
|
|
/* 027E0788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E078C */ _t12 = cpu->r[12] + 0x00000024u;
|
|
/* 027E078C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_027E0790: ; // 0x27e0790
|
|
/* 027E0790 */ _t13 = cpu->r[4] + 0x00000024u;
|
|
/* 027E0790 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E0794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E0798 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0798 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E0798 */ if (_t15) goto L_027E07A4; else goto L_027E079C;
|
|
L_027E079C: ; // 0x27e079c
|
|
/* 027E079C */ _t16 = cpu->r[4] + 0x00000020u;
|
|
/* 027E079C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E07A0 */ _t17 = cpu->r[10] + 0x00000020u;
|
|
/* 027E07A0 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_027E07A4: ; // 0x27e07a4
|
|
/* 027E07A4 */ _t18 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027E07A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E07A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027E07AC */ _t19 = cpu->r[9] + 0x00000020u;
|
|
/* 027E07AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E07B0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07B0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E07B0 */ if (_t21) goto L_027E07B4; else goto L_027E07BC;
|
|
L_027E07B4: ; // 0x27e07b4
|
|
/* 027E07B4 */ _t22 = cpu->r[4] + 0x00000020u;
|
|
/* 027E07B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E07B8 */ _t23 = cpu->r[9] + 0x0000001Cu;
|
|
/* 027E07B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
L_027E07BC: ; // 0x27e07bc
|
|
/* 027E07BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027E07C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E07C0 */ if (_t25) goto L_027E07C4; else goto L_027E07CC;
|
|
L_027E07C4: ; // 0x27e07c4
|
|
/* 027E07C4 */ _t26 = cpu->r[4] + 0x00000024u;
|
|
/* 027E07C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E07C8 */ _t27 = cpu->r[9] + 0x00000020u;
|
|
/* 027E07C8 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
L_027E07CC: ; // 0x27e07cc
|
|
/* 027E07CC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E07CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E07D0 */ cpu->lr = cpu->r[0];
|
|
/* 027E07D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E07D8 */ return;
|
|
}
|
|
|
|
// fn_027E07DC @ 0x27e07dc
|
|
void Gambit_fn_027E07DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E07DC: ; // 0x27e07dc
|
|
/* 027E07DC */ cpu->r[0] = cpu->lr;
|
|
/* 027E07E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E07E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E07E0 */ cpu->r[1] = _t0;
|
|
/* 027E07E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E07E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E07E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E07E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E07EC */ cpu->r[30] = cpu->r[3];
|
|
/* 027E07EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E07F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E07F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E07F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E07F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E07F8 */ if (_t5) goto L_027E0840; else goto L_027E07FC;
|
|
L_027E07FC: ; // 0x27e07fc
|
|
/* 027E07FC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0800 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E0804 */ cpu->r[0] = cpu->r[0] + 0xFFFFF33Cu;
|
|
/* 027E0808 */ cpu->r[11] = cpu->r[11] + 0xFFFFF384u;
|
|
/* 027E080C */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027E080C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E0810 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0814 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027E0814 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027E0818 */ _t8 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E081C */ cpu->r[4] = cpu->r[30];
|
|
/* 027E0820 */ Gambit_fn_027E0744(cpu);
|
|
/* 027E0824 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E0828 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E082C */ Gambit_fn_02821E68(cpu);
|
|
/* 027E0830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E0830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0834 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0834 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0834 */ if (_t10) goto L_027E0840; else goto L_027E0838;
|
|
L_027E0838: ; // 0x27e0838
|
|
/* 027E0838 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E083C */ Gambit_fn_02801BB0(cpu);
|
|
L_027E0840: ; // 0x27e0840
|
|
/* 027E0840 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E0844 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E0848 */ cpu->lr = cpu->r[0];
|
|
/* 027E084C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E084C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E0850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0854 */ return;
|
|
}
|
|
|
|
// fn_027E07E0 @ 0x27e07e0
|
|
void Gambit_fn_027E07E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E07E0: ; // 0x27e07e0
|
|
/* 027E07E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E07E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E07E0 */ cpu->r[1] = _t0;
|
|
/* 027E07E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E07E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E07E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E07E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E07EC */ cpu->r[30] = cpu->r[3];
|
|
/* 027E07EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E07F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E07F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E07F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E07F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E07F8 */ if (_t5) goto L_027E0840; else goto L_027E07FC;
|
|
L_027E07FC: ; // 0x27e07fc
|
|
/* 027E07FC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0800 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E0804 */ cpu->r[0] = cpu->r[0] + 0xFFFFF33Cu;
|
|
/* 027E0808 */ cpu->r[11] = cpu->r[11] + 0xFFFFF384u;
|
|
/* 027E080C */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027E080C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E0810 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0814 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027E0814 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027E0818 */ _t8 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E081C */ cpu->r[4] = cpu->r[30];
|
|
/* 027E0820 */ Gambit_fn_027E0744(cpu);
|
|
/* 027E0824 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E0828 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E082C */ Gambit_fn_02821E68(cpu);
|
|
/* 027E0830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E0830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0834 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0834 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0834 */ if (_t10) goto L_027E0840; else goto L_027E0838;
|
|
L_027E0838: ; // 0x27e0838
|
|
/* 027E0838 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E083C */ Gambit_fn_02801BB0(cpu);
|
|
L_027E0840: ; // 0x27e0840
|
|
/* 027E0840 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E0844 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E0848 */ cpu->lr = cpu->r[0];
|
|
/* 027E084C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E084C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E0850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0854 */ return;
|
|
}
|
|
|
|
// fn_027E0858 @ 0x27e0858
|
|
void Gambit_fn_027E0858(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E07DC: ; // 0x27e07dc
|
|
/* 027E07DC */ cpu->r[0] = cpu->lr;
|
|
/* 027E07E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E07E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E07E0 */ cpu->r[1] = _t0;
|
|
/* 027E07E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E07E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E07E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E07E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E07EC */ cpu->r[30] = cpu->r[3];
|
|
/* 027E07EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E07F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E07F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E07F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E07F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E07F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E07F8 */ if (_t5) goto L_027E0840; else goto L_027E07FC;
|
|
L_027E07FC: ; // 0x27e07fc
|
|
/* 027E07FC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0800 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E0804 */ cpu->r[0] = cpu->r[0] + 0xFFFFF33Cu;
|
|
/* 027E0808 */ cpu->r[11] = cpu->r[11] + 0xFFFFF384u;
|
|
/* 027E080C */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027E080C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E0810 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0814 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 027E0814 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027E0818 */ _t8 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E081C */ cpu->r[4] = cpu->r[30];
|
|
/* 027E0820 */ Gambit_fn_027E0744(cpu);
|
|
/* 027E0824 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E0828 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E082C */ Gambit_fn_02821E68(cpu);
|
|
/* 027E0830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E0830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0834 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0834 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0834 */ if (_t10) goto L_027E0840; else goto L_027E0838;
|
|
L_027E0838: ; // 0x27e0838
|
|
/* 027E0838 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E083C */ Gambit_fn_02801BB0(cpu);
|
|
L_027E0840: ; // 0x27e0840
|
|
/* 027E0840 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E0844 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E0848 */ cpu->lr = cpu->r[0];
|
|
/* 027E084C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E084C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E0850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0854 */ return;
|
|
L_027E0858: ; // 0x27e0858
|
|
/* 027E0858 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 027E085C */ goto L_027E07DC;
|
|
}
|
|
|
|
// fn_027E0860 @ 0x27e0860
|
|
void Gambit_fn_027E0860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E0860: ; // 0x27e0860
|
|
/* 027E0860 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 027E0864 */ goto L_027E15F0;
|
|
L_027E15F0: ; // 0x27e15f0
|
|
/* 027E15F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E15F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E15F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E15F4 */ cpu->r[1] = _t0;
|
|
/* 027E15F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E15F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E15FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E15FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1600 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E1604 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E1608 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E160C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E160C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E160C */ if (_t5) goto L_027E1638; else goto L_027E1610;
|
|
L_027E1610: ; // 0x27e1610
|
|
/* 027E1610 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1614 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E1618 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3DCu;
|
|
/* 027E161C */ cpu->r[4] = 0x00000000u;
|
|
/* 027E1620 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 027E1620 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1624 */ Gambit_fn_027E07DC(cpu);
|
|
/* 027E1628 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E162C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E162C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E162C */ if (_t8) goto L_027E1638; else goto L_027E1630;
|
|
L_027E1630: ; // 0x27e1630
|
|
/* 027E1630 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E1634 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E1638: ; // 0x27e1638
|
|
/* 027E1638 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E163C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E163C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1640 */ cpu->lr = cpu->r[0];
|
|
/* 027E1644 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1648 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E164C */ return;
|
|
}
|
|
|
|
// fn_027E0868 @ 0x27e0868
|
|
void Gambit_fn_027E0868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E0868: ; // 0x27e0868
|
|
/* 027E0868 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 027E086C */ goto L_027E1650;
|
|
L_027E1650: ; // 0x27e1650
|
|
/* 027E1650 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1654 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E1654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1654 */ cpu->r[1] = _t0;
|
|
/* 027E1658 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1658 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E165C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E165C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1660 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E1664 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E1668 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1668 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E166C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E166C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E166C */ if (_t5) goto L_027E1698; else goto L_027E1670;
|
|
L_027E1670: ; // 0x27e1670
|
|
/* 027E1670 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1674 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E1678 */ cpu->r[0] = cpu->r[0] + 0xFFFFF434u;
|
|
/* 027E167C */ cpu->r[4] = 0x00000000u;
|
|
/* 027E1680 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 027E1680 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1684 */ Gambit_fn_027E07DC(cpu);
|
|
/* 027E1688 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E168C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E168C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E168C */ if (_t8) goto L_027E1698; else goto L_027E1690;
|
|
L_027E1690: ; // 0x27e1690
|
|
/* 027E1690 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E1694 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E1698: ; // 0x27e1698
|
|
/* 027E1698 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E169C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E169C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E16A0 */ cpu->lr = cpu->r[0];
|
|
/* 027E16A4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E16A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E16A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E16AC */ return;
|
|
}
|
|
|
|
// fn_027E0870 @ 0x27e0870
|
|
void Gambit_fn_027E0870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E0870: ; // 0x27e0870
|
|
/* 027E0870 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 027E0874 */ goto L_027E16B0;
|
|
L_027E16B0: ; // 0x27e16b0
|
|
/* 027E16B0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E16B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E16B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E16B4 */ cpu->r[1] = _t0;
|
|
/* 027E16B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E16B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E16BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E16BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E16C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E16C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E16C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E16C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E16C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E16CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E16CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E16CC */ if (_t5) goto L_027E16F8; else goto L_027E16D0;
|
|
L_027E16D0: ; // 0x27e16d0
|
|
/* 027E16D0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E16D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E16D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF48Cu;
|
|
/* 027E16DC */ cpu->r[4] = 0x00000000u;
|
|
/* 027E16E0 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 027E16E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E16E4 */ Gambit_fn_027E07DC(cpu);
|
|
/* 027E16E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E16E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E16EC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E16EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E16EC */ if (_t8) goto L_027E16F8; else goto L_027E16F0;
|
|
L_027E16F0: ; // 0x27e16f0
|
|
/* 027E16F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E16F4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E16F8: ; // 0x27e16f8
|
|
/* 027E16F8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E16F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E16FC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E16FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1700 */ cpu->lr = cpu->r[0];
|
|
/* 027E1704 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1708 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E170C */ return;
|
|
}
|
|
|
|
// fn_027E0878 @ 0x27e0878
|
|
void Gambit_fn_027E0878(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E0878: ; // 0x27e0878
|
|
/* 027E0878 */ cpu->r[0] = cpu->lr;
|
|
/* 027E087C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E087C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E087C */ cpu->r[1] = _t0;
|
|
/* 027E0880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0884 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E0888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E088C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E088C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0890 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0890 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E0890 */ if (_t4) goto L_027E0894; else goto L_027E08A4;
|
|
L_027E0894: ; // 0x27e0894
|
|
/* 027E0894 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E0898 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E089C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E08A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E08A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E08A0 */ if (_t6) goto L_027E08BC; else goto L_027E08A4;
|
|
L_027E08A4: ; // 0x27e08a4
|
|
/* 027E08A4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E08A8 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 027E08A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027E08AC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E08B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF298u;
|
|
/* 027E08B4 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E08B4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027E08B8 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 027E08B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_027E08BC: ; // 0x27e08bc
|
|
/* 027E08BC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E08BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E08C0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E08C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E08C4 */ cpu->lr = cpu->r[0];
|
|
/* 027E08C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E08CC */ return;
|
|
}
|
|
|
|
// fn_027E087C @ 0x27e087c
|
|
void Gambit_fn_027E087C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E087C: ; // 0x27e087c
|
|
/* 027E087C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E087C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E087C */ cpu->r[1] = _t0;
|
|
/* 027E0880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0884 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E0888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E088C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E088C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0890 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0890 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E0890 */ if (_t4) goto L_027E0894; else goto L_027E08A4;
|
|
L_027E0894: ; // 0x27e0894
|
|
/* 027E0894 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E0898 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E089C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E08A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E08A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E08A0 */ if (_t6) goto L_027E08BC; else goto L_027E08A4;
|
|
L_027E08A4: ; // 0x27e08a4
|
|
/* 027E08A4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E08A8 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 027E08A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027E08AC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E08B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF298u;
|
|
/* 027E08B4 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E08B4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027E08B8 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 027E08B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_027E08BC: ; // 0x27e08bc
|
|
/* 027E08BC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E08BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E08C0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E08C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E08C4 */ cpu->lr = cpu->r[0];
|
|
/* 027E08C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E08CC */ return;
|
|
}
|
|
|
|
// fn_027E08D0 @ 0x27e08d0
|
|
void Gambit_fn_027E08D0(CPUState* cpu) {
|
|
uint32_t _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_027E08D0: ; // 0x27e08d0
|
|
/* 027E08D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E08D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E08D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E08D4 */ cpu->r[1] = _t0;
|
|
/* 027E08D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E08D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E08DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E08DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E08E0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E08E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E08E4 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E08E8 */ cpu->r[30] = cpu->r[6];
|
|
/* 027E08EC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E08EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E08F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E08F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E08F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E08F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E08F8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E08FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E08FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E08FC */ if (_t7) goto L_027E0900; else goto L_027E0910;
|
|
L_027E0900: ; // 0x27e0900
|
|
/* 027E0900 */ cpu->r[3] = 0x00000038u;
|
|
/* 027E0904 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0908 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E090C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E090C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E090C */ if (_t9) goto L_027E0960; else goto L_027E0910;
|
|
L_027E0910: ; // 0x27e0910
|
|
/* 027E0910 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0914 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E0918 */ Gambit_fn_027E0878(cpu);
|
|
/* 027E091C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E0920 */ Gambit_fn_02821D00(cpu);
|
|
/* 027E0924 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E0928 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E092C */ _t10 = cpu->r[9] + 0xFFFFF2C0u;
|
|
/* 027E092C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E0930 */ cpu->r[11] = cpu->r[11] + 0xFFFFF33Cu;
|
|
/* 027E0934 */ _t11 = cpu->r[31] + 0x00000028u;
|
|
/* 027E0934 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 027E0938 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E093C */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 027E093C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027E0940 */ _t13 = cpu->r[31] + 0x00000024u;
|
|
/* 027E0940 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E0944 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 027E0944 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E0948 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E094C */ _t15 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027E094C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027E0950 */ cpu->r[0] = cpu->r[0] + 0xFFFFF384u;
|
|
/* 027E0954 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 027E0954 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 027E0958 */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 027E0958 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E095C */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 027E095C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
L_027E0960: ; // 0x27e0960
|
|
/* 027E0960 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0960 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E0964 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E0968 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E096C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0970 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E0974 */ cpu->lr = cpu->r[0];
|
|
/* 027E0978 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E097C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E0980 */ return;
|
|
}
|
|
|
|
// fn_027E08D4 @ 0x27e08d4
|
|
void Gambit_fn_027E08D4(CPUState* cpu) {
|
|
uint32_t _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_027E08D4: ; // 0x27e08d4
|
|
/* 027E08D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E08D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E08D4 */ cpu->r[1] = _t0;
|
|
/* 027E08D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E08D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E08DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E08DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E08E0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E08E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E08E4 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E08E8 */ cpu->r[30] = cpu->r[6];
|
|
/* 027E08EC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E08EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E08F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E08F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E08F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E08F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E08F8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E08FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E08FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E08FC */ if (_t7) goto L_027E0900; else goto L_027E0910;
|
|
L_027E0900: ; // 0x27e0900
|
|
/* 027E0900 */ cpu->r[3] = 0x00000038u;
|
|
/* 027E0904 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0908 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E090C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E090C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E090C */ if (_t9) goto L_027E0960; else goto L_027E0910;
|
|
L_027E0910: ; // 0x27e0910
|
|
/* 027E0910 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0914 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E0918 */ Gambit_fn_027E0878(cpu);
|
|
/* 027E091C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E0920 */ Gambit_fn_02821D00(cpu);
|
|
/* 027E0924 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E0928 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E092C */ _t10 = cpu->r[9] + 0xFFFFF2C0u;
|
|
/* 027E092C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E0930 */ cpu->r[11] = cpu->r[11] + 0xFFFFF33Cu;
|
|
/* 027E0934 */ _t11 = cpu->r[31] + 0x00000028u;
|
|
/* 027E0934 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 027E0938 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E093C */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 027E093C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027E0940 */ _t13 = cpu->r[31] + 0x00000024u;
|
|
/* 027E0940 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E0944 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 027E0944 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E0948 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E094C */ _t15 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027E094C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027E0950 */ cpu->r[0] = cpu->r[0] + 0xFFFFF384u;
|
|
/* 027E0954 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 027E0954 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 027E0958 */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 027E0958 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E095C */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 027E095C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
L_027E0960: ; // 0x27e0960
|
|
/* 027E0960 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0960 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E0964 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E0968 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E096C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0970 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E0974 */ cpu->lr = cpu->r[0];
|
|
/* 027E0978 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E097C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E0980 */ return;
|
|
}
|
|
|
|
// fn_027E0984 @ 0x27e0984
|
|
void Gambit_fn_027E0984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E0984: ; // 0x27e0984
|
|
/* 027E0984 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E0988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 027E098C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E098C */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E098C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E098C */ goto L_027E0990;
|
|
L_027E0990: ; // 0x27e0990
|
|
/* 027E0990 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0994 */ cpu->r[12] = cpu->r[12] + 0xFFFFF2C4u;
|
|
/* 027E0998 */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 027E0998 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027E099C */ return;
|
|
}
|
|
|
|
// fn_027E09A0 @ 0x27e09a0
|
|
void Gambit_fn_027E09A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027E09A0: ; // 0x27e09a0
|
|
/* 027E09A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E09A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E09A0 */ cpu->r[1] = _t0;
|
|
/* 027E09A4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E09A8 */ /* nop */
|
|
/* 027E09AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E09AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E09B0 */ cpu->r[26] = cpu->r[4];
|
|
/* 027E09B4 */ cpu->r[27] = cpu->r[5];
|
|
/* 027E09B8 */ cpu->r[28] = cpu->r[6];
|
|
/* 027E09BC */ cpu->r[24] = cpu->r[8];
|
|
/* 027E09C0 */ cpu->r[30] = cpu->r[9];
|
|
/* 027E09C4 */ cpu->r[25] = cpu->r[10];
|
|
/* 027E09C8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E09C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E09CC */ cpu->r[29] = cpu->r[7];
|
|
/* 027E09D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E09D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E09D0 */ if (_t3) goto L_027E09D4; else goto L_027E09E4;
|
|
L_027E09D4: ; // 0x27e09d4
|
|
/* 027E09D4 */ cpu->r[3] = 0x00000054u;
|
|
/* 027E09D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E09DC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E09DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E09E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E09E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E09E0 */ if (_t5) goto L_027E0AFC; else goto L_027E09E4;
|
|
L_027E09E4: ; // 0x27e09e4
|
|
/* 027E09E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E09E8 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E09EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027E09F0 */ cpu->r[6] = cpu->r[25];
|
|
/* 027E09F4 */ Gambit_fn_027E08D0(cpu);
|
|
/* 027E09F8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E09FC */ cpu->r[8] = 0x10110000u;
|
|
/* 027E0A00 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E0A00 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 027E0A04 */ cpu->r[0] = cpu->r[0] + 0xFFFFF394u;
|
|
/* 027E0A08 */ cpu->r[8] = cpu->r[8] + 0xFFFFF3DCu;
|
|
/* 027E0A0C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 027E0A0C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E0A10 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E0A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E0A18 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 027E0A18 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 027E0A1C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0A1C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0A1C */ if (_t10) goto L_027E0A60; else goto L_027E0A20;
|
|
L_027E0A20: ; // 0x27e0a20
|
|
/* 027E0A20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[24], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E0A24 */ Gambit_fn_02801A8C(cpu);
|
|
/* 027E0A28 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E0A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027E0A30 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 027E0A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 027E0A34 */ cpu->r[12] = cpu->r[24];
|
|
/* 027E0A38 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0A38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0A38 */ if (_t13) goto L_027E0A40; else goto L_027E0A3C;
|
|
L_027E0A3C: ; // 0x27e0a3c
|
|
/* 027E0A3C */ cpu->r[12] = 0x00000001u;
|
|
L_027E0A40: ; // 0x27e0a40
|
|
/* 027E0A40 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_027E0A44: ; // 0x27e0a44
|
|
/* 027E0A44 */ _t14 = cpu->r[29] + cpu->r[11];
|
|
/* 027E0A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E0A48 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E0A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E0A4C */ _t15 = cpu->r[3] + cpu->r[11];
|
|
/* 027E0A4C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E0A50 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 027E0A54 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0A54 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E0A54 */ if (_t17) goto L_027E0A64; else goto L_027E0A58;
|
|
L_027E0A58: ; // 0x27e0a58
|
|
/* 027E0A58 */ _t18 = cpu->r[31] + 0x00000038u;
|
|
/* 027E0A58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E0A5C */ goto L_027E0A44;
|
|
L_027E0A60: ; // 0x27e0a60
|
|
/* 027E0A60 */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 027E0A60 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
L_027E0A64: ; // 0x27e0a64
|
|
/* 027E0A64 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E0A64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E0A68 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E0A6C */ _t21 = cpu->r[31] + 0x00000044u;
|
|
/* 027E0A6C */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 027E0A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000005u);
|
|
/* 027E0A74 */ _t22 = cpu->r[31] + 0x00000040u;
|
|
/* 027E0A74 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 027E0A78 */ _t23 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E0A78 */ rbrew_write32(cpu->mem, _t23, cpu->r[24]);
|
|
/* 027E0A7C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0A7C */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E0A7C */ if (_t25) goto L_027E0A80; else goto L_027E0A8C;
|
|
L_027E0A80: ; // 0x27e0a80
|
|
/* 027E0A80 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 027E0A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E0A84 */ _t27 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0A84 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027E0A88 */ goto L_027E0AB0;
|
|
L_027E0A8C: ; // 0x27e0a8c
|
|
/* 027E0A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000007u);
|
|
/* 027E0A90 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0A90 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E0A90 */ if (_t29) goto L_027E0AA8; else goto L_027E0A94;
|
|
L_027E0A94: ; // 0x27e0a94
|
|
/* 027E0A94 */ _t30 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E0A94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E0A98 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E0A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 027E0AA0 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0AA0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E0AA0 */ if (_t33) goto L_027E0AC8; else goto L_027E0AA4;
|
|
L_027E0AA4: ; // 0x27e0aa4
|
|
/* 027E0AA4 */ goto L_027E0ABC;
|
|
L_027E0AA8: ; // 0x27e0aa8
|
|
/* 027E0AA8 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 027E0AA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027E0AAC */ _t35 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0AAC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_027E0AB0: ; // 0x27e0ab0
|
|
/* 027E0AB0 */ _t36 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E0AB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E0AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 027E0AB8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0AB8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E0AB8 */ if (_t38) goto L_027E0AC8; else goto L_027E0ABC;
|
|
L_027E0ABC: ; // 0x27e0abc
|
|
/* 027E0ABC */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027E0AC0 */ _t39 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0AC0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 027E0AC4 */ goto L_027E0AD8;
|
|
L_027E0AC8: ; // 0x27e0ac8
|
|
/* 027E0AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0ACC */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0ACC */ _t41 = _t40 & 0x00000001u;
|
|
/* 027E0ACC */ if (_t41) goto L_027E0AD0; else goto L_027E0AD8;
|
|
L_027E0AD0: ; // 0x27e0ad0
|
|
/* 027E0AD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E0AD4 */ _t42 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0AD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
L_027E0AD8: ; // 0x27e0ad8
|
|
/* 027E0AD8 */ _t43 = cpu->r[31] + 0x00000050u;
|
|
/* 027E0AD8 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 027E0ADC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0AE0 */ _t44 = cpu->r[31] + 0x00000044u;
|
|
/* 027E0AE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E0AE4 */ _t45 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E0AE4 */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
/* 027E0AE8 */ Gambit_fn_027E0984(cpu);
|
|
/* 027E0AEC */ cpu->r[5] = cpu->r[3];
|
|
/* 027E0AF0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027E0AF4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E0AF8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_027E0AFC: ; // 0x27e0afc
|
|
/* 027E0AFC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0B00 */ /* nop */
|
|
/* 027E0B04 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E0B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E0B08 */ cpu->lr = cpu->r[0];
|
|
/* 027E0B0C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E0B10 */ return;
|
|
}
|
|
|
|
// fn_027E0B14 @ 0x27e0b14
|
|
void Gambit_fn_027E0B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E0B14: ; // 0x27e0b14
|
|
/* 027E0B14 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0B18 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E0B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0B18 */ cpu->r[1] = _t0;
|
|
/* 027E0B1C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E0B1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E0B20 */ /* nop */
|
|
/* 027E0B24 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E0B28 */ cpu->r[7] = cpu->r[3];
|
|
/* 027E0B2C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027E0B2C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E0B30 */ cpu->r[9] = cpu->r[9] + 0xFFFFF218u;
|
|
/* 027E0B34 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B34 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 027E0B38 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0B38 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E0B3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B40 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 027E0B40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E0B44 */ cpu->f[31] = cpu->f[1];
|
|
/* 027E0B48 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0B48 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027E0B4C */ Gambit_fn_027E1710(cpu);
|
|
/* 027E0B50 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0B54 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E0B58 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 027E0B58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E0B5C */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E0B5C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027E0B60 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E0B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 027E0B68 */ cpu->r[11] = 0x00080000u;
|
|
/* 027E0B6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0B6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E0B6C */ if (_t11) goto L_027E0B94; else goto L_027E0B70;
|
|
L_027E0B70: ; // 0x27e0b70
|
|
/* 027E0B70 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E0B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027E0B78 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E0B7C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0B7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0B7C */ if (_t13) goto L_027E0B90; else goto L_027E0B80;
|
|
L_027E0B80: ; // 0x27e0b80
|
|
/* 027E0B80 */ _t14 = cpu->r[9] + 0x00000000u;
|
|
/* 027E0B80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027E0B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 027E0B88 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0B88 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0B88 */ if (_t16) goto L_027E0B8C; else goto L_027E0B70;
|
|
L_027E0B8C: ; // 0x27e0b8c
|
|
/* 027E0B8C */ goto L_027E0B94;
|
|
L_027E0B90: ; // 0x27e0b90
|
|
/* 027E0B90 */ cpu->r[31] = 0x00000000u;
|
|
L_027E0B94: ; // 0x27e0b94
|
|
/* 027E0B94 */ Gambit_fn_0281EC98(cpu);
|
|
/* 027E0B98 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 027E0B98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E0B9C */ _t18 = cpu->r[7] + 0x0000001Cu;
|
|
/* 027E0B9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E0BA0 */ cpu->ctr = cpu->r[8];
|
|
/* 027E0BA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0BA8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0BAC */ cpu->f[10] = cpu->f[1] * cpu->f[31];
|
|
/* 027E0BB0 */ _t19 = cpu->r[12] + 0xFFFFF2D0u;
|
|
/* 027E0BB0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027E0BB4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E0BB8 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 027E0BB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E0BBC */ cpu->r[8] = cpu->r[31] ^ 0x80000000u;
|
|
/* 027E0BC0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0BC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027E0BC4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0BC4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 027E0BC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0BC8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027E0BCC */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 027E0BCC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027E0BD0 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 027E0BD4 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 027E0BD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E0BDC */ cpu->f[1] = cpu->f[13] * cpu->f[10];
|
|
/* 027E0BE0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0BE0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E0BE0 */ if (_t27) goto L_027E0BE4; // else: addr-0 trap, fall-through
|
|
L_027E0BE4: ; // 0x27e0be4
|
|
/* 027E0BE4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 027E0BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E0BE8 */ cpu->lr = cpu->r[0];
|
|
/* 027E0BEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E0BF0 */ return;
|
|
}
|
|
|
|
// fn_027E0B18 @ 0x27e0b18
|
|
void Gambit_fn_027E0B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E0B18: ; // 0x27e0b18
|
|
/* 027E0B18 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E0B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0B18 */ cpu->r[1] = _t0;
|
|
/* 027E0B1C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E0B1C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E0B20 */ /* nop */
|
|
/* 027E0B24 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E0B28 */ cpu->r[7] = cpu->r[3];
|
|
/* 027E0B2C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027E0B2C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E0B30 */ cpu->r[9] = cpu->r[9] + 0xFFFFF218u;
|
|
/* 027E0B34 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B34 */ rbrew_write32(cpu->mem, _t3, cpu->r[7]);
|
|
/* 027E0B38 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0B38 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E0B3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B40 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 027E0B40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E0B44 */ cpu->f[31] = cpu->f[1];
|
|
/* 027E0B48 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0B48 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027E0B4C */ Gambit_fn_027E1710(cpu);
|
|
/* 027E0B50 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0B54 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0B54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E0B58 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 027E0B58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E0B5C */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E0B5C */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027E0B60 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E0B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 027E0B68 */ cpu->r[11] = 0x00080000u;
|
|
/* 027E0B6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0B6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E0B6C */ if (_t11) goto L_027E0B94; else goto L_027E0B70;
|
|
L_027E0B70: ; // 0x27e0b70
|
|
/* 027E0B70 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E0B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027E0B78 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E0B7C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0B7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0B7C */ if (_t13) goto L_027E0B90; else goto L_027E0B80;
|
|
L_027E0B80: ; // 0x27e0b80
|
|
/* 027E0B80 */ _t14 = cpu->r[9] + 0x00000000u;
|
|
/* 027E0B80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027E0B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 027E0B88 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0B88 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0B88 */ if (_t16) goto L_027E0B8C; else goto L_027E0B70;
|
|
L_027E0B8C: ; // 0x27e0b8c
|
|
/* 027E0B8C */ goto L_027E0B94;
|
|
L_027E0B90: ; // 0x27e0b90
|
|
/* 027E0B90 */ cpu->r[31] = 0x00000000u;
|
|
L_027E0B94: ; // 0x27e0b94
|
|
/* 027E0B94 */ Gambit_fn_0281EC98(cpu);
|
|
/* 027E0B98 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 027E0B98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E0B9C */ _t18 = cpu->r[7] + 0x0000001Cu;
|
|
/* 027E0B9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E0BA0 */ cpu->ctr = cpu->r[8];
|
|
/* 027E0BA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0BA8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0BAC */ cpu->f[10] = cpu->f[1] * cpu->f[31];
|
|
/* 027E0BB0 */ _t19 = cpu->r[12] + 0xFFFFF2D0u;
|
|
/* 027E0BB0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027E0BB4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E0BB8 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 027E0BB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E0BBC */ cpu->r[8] = cpu->r[31] ^ 0x80000000u;
|
|
/* 027E0BC0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0BC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027E0BC4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0BC4 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 027E0BC8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027E0BC8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027E0BCC */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 027E0BCC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027E0BD0 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 027E0BD4 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 027E0BD8 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E0BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E0BDC */ cpu->f[1] = cpu->f[13] * cpu->f[10];
|
|
/* 027E0BE0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E0BE0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E0BE0 */ if (_t27) goto L_027E0BE4; // else: addr-0 trap, fall-through
|
|
L_027E0BE4: ; // 0x27e0be4
|
|
/* 027E0BE4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 027E0BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E0BE8 */ cpu->lr = cpu->r[0];
|
|
/* 027E0BEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E0BF0 */ return;
|
|
}
|
|
|
|
// fn_027E0BF4 @ 0x27e0bf4
|
|
void Gambit_fn_027E0BF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0BF4: ; // 0x27e0bf4
|
|
/* 027E0BF4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0BF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E0BF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E0BFC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0C00 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E0C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E0C00 */ cpu->r[1] = _t1;
|
|
/* 027E0C04 */ _t2 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E0C04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E0C08 */ _t3 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027E0C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0C0C */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E0C10 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0C14 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0C18 */ cpu->lr = cpu->r[0];
|
|
/* 027E0C1C */ _t5 = cpu->r[12] + 0xFFFFF2DCu;
|
|
/* 027E0C1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E0C20 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
/* 027E0C24 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E0C28 */ return;
|
|
}
|
|
|
|
// fn_027E0C00 @ 0x27e0c00
|
|
void Gambit_fn_027E0C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027E0C00: ; // 0x27e0c00
|
|
/* 027E0C00 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E0C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0C00 */ cpu->r[1] = _t0;
|
|
/* 027E0C04 */ _t1 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E0C04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E0C08 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027E0C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E0C0C */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E0C10 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0C14 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0C18 */ cpu->lr = cpu->r[0];
|
|
/* 027E0C1C */ _t4 = cpu->r[12] + 0xFFFFF2DCu;
|
|
/* 027E0C1C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E0C20 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
/* 027E0C24 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E0C28 */ return;
|
|
}
|
|
|
|
// fn_027E0C2C @ 0x27e0c2c
|
|
void Gambit_fn_027E0C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_027E0C2C: ; // 0x27e0c2c
|
|
/* 027E0C2C */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0C2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E0C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E0C34 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0C34 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E0C34 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E0C34 */ goto L_027E0C38;
|
|
L_027E0C38: ; // 0x27e0c38
|
|
/* 027E0C38 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 027E0C38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0C3C */ cpu->r[11] = cpu->r[9];
|
|
/* 027E0C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 027E0C44 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E0C48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0C48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E0C48 */ if (_t5) goto L_027E0C5C; else goto L_027E0C4C;
|
|
L_027E0C4C: ; // 0x27e0c4c
|
|
/* 027E0C4C */ _t6 = cpu->r[11] + 0x00000020u;
|
|
/* 027E0C4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E0C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 027E0C54 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E0C58 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0C58 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E0C58 */ if (_t8) goto L_027E0C5C; else goto L_027E0C4C;
|
|
L_027E0C5C: ; // 0x27e0c5c
|
|
/* 027E0C5C */ cpu->r[6] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027E0C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027E0C60 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0C60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E0C60 */ _t11 = _t10 ^ 0x00000001u;
|
|
/* 027E0C60 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E0C60 */ goto L_027E0C64;
|
|
L_027E0C64: ; // 0x27e0c64
|
|
/* 027E0C64 */ cpu->r[7] = cpu->r[9];
|
|
/* 027E0C68 */ _t12 = cpu->r[7] + 0x00000020u;
|
|
/* 027E0C68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
L_027E0C6C: ; // 0x27e0c6c
|
|
/* 027E0C6C */ _t13 = cpu->r[7] + 0x00000004u;
|
|
/* 027E0C6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E0C70 */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 027E0C70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E0C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 027E0C78 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0C78 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E0C78 */ if (_t16) goto L_027E0C7C; else goto L_027E0CF4;
|
|
L_027E0C7C: ; // 0x27e0c7c
|
|
/* 027E0C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 027E0C80 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0C80 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E0C80 */ if (_t18) goto L_027E0C90; else goto L_027E0C84;
|
|
L_027E0C84: ; // 0x27e0c84
|
|
/* 027E0C84 */ _t19 = cpu->r[7] + 0x00000024u;
|
|
/* 027E0C84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E0C88 */ _t20 = cpu->r[11] + 0x00000020u;
|
|
/* 027E0C88 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027E0C8C */ _t21 = cpu->r[3] + 0x00000020u;
|
|
/* 027E0C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
L_027E0C90: ; // 0x27e0c90
|
|
/* 027E0C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027E0C94 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0C94 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E0C94 */ if (_t23) goto L_027E0CA0; else goto L_027E0C98;
|
|
L_027E0C98: ; // 0x27e0c98
|
|
/* 027E0C98 */ _t24 = cpu->r[8] + 0x00000020u;
|
|
/* 027E0C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E0C9C */ _t25 = cpu->r[12] + 0x00000024u;
|
|
/* 027E0C9C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
L_027E0CA0: ; // 0x27e0ca0
|
|
/* 027E0CA0 */ _t26 = cpu->r[7] + 0x00000024u;
|
|
/* 027E0CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E0CA4 */ _t27 = cpu->r[7] + 0x00000024u;
|
|
/* 027E0CA4 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027E0CA8 */ _t28 = cpu->r[8] + 0x00000020u;
|
|
/* 027E0CA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E0CAC */ _t29 = cpu->r[7] + 0x00000020u;
|
|
/* 027E0CAC */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 027E0CB0 */ _t30 = cpu->r[8] + 0x00000024u;
|
|
/* 027E0CB0 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 027E0CB4 */ _t31 = cpu->r[8] + 0x00000020u;
|
|
/* 027E0CB4 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 027E0CB8 */ _t32 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0CB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E0CBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 027E0CC0 */ _t33 = cpu->r[3] + 0x00000020u;
|
|
/* 027E0CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E0CC4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0CC4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E0CC4 */ if (_t35) goto L_027E0CC8; else goto L_027E0CD0;
|
|
L_027E0CC8: ; // 0x27e0cc8
|
|
/* 027E0CC8 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E0CCC */ _t36 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0CCC */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
L_027E0CD0: ; // 0x27e0cd0
|
|
/* 027E0CD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027E0CD4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0CD4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E0CD4 */ if (_t38) goto L_027E0CD8; else goto L_027E0CEC;
|
|
L_027E0CD8: ; // 0x27e0cd8
|
|
/* 027E0CD8 */ cpu->r[12] = cpu->r[7];
|
|
/* 027E0CDC */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027E0CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027E0CE0 */ _t39 = cpu->r[3] + 0x00000020u;
|
|
/* 027E0CE0 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 027E0CE4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0CE4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027E0CE4 */ if (_t41) goto L_027E0CE8; else goto L_027E0D10;
|
|
L_027E0CE8: ; // 0x27e0ce8
|
|
/* 027E0CE8 */ return;
|
|
L_027E0CEC: ; // 0x27e0cec
|
|
/* 027E0CEC */ _t42 = cpu->r[7] + 0x00000020u;
|
|
/* 027E0CEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E0CF0 */ goto L_027E0C6C;
|
|
L_027E0CF4: ; // 0x27e0cf4
|
|
/* 027E0CF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027E0CF8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0CF8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E0CF8 */ if (_t44) goto L_027E0D08; else goto L_027E0CFC;
|
|
L_027E0CFC: ; // 0x27e0cfc
|
|
/* 027E0CFC */ cpu->r[7] = cpu->r[8];
|
|
/* 027E0D00 */ _t45 = cpu->r[8] + 0x00000020u;
|
|
/* 027E0D00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E0D04 */ goto L_027E0C6C;
|
|
L_027E0D08: ; // 0x27e0d08
|
|
/* 027E0D08 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027E0D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027E0D0C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0D0C */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E0D0C */ if (_t47) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E0D0C */ goto L_027E0D10;
|
|
L_027E0D10: ; // 0x27e0d10
|
|
/* 027E0D10 */ _t48 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E0D10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027E0D14 */ goto L_027E0C64;
|
|
}
|
|
|
|
// fn_027E0D18 @ 0x27e0d18
|
|
void Gambit_fn_027E0D18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E0D18: ; // 0x27e0d18
|
|
/* 027E0D18 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0D1C */ cpu->r[1] = _t0;
|
|
/* 027E0D20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E0D24 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E0D28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E0D2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0D2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E0D30 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0D34 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E0D38 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 027E0D38 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E0D3C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E0D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E0D44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0D44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E0D44 */ if (_t8) goto L_027E0D4C; else goto L_027E0D48;
|
|
L_027E0D48: ; // 0x27e0d48
|
|
/* 027E0D48 */ _t9 = cpu->r[9] + 0x00000020u;
|
|
/* 027E0D48 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_027E0D4C: ; // 0x27e0d4c
|
|
/* 027E0D4C */ _t10 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E0D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E0D50 */ cpu->r[9] = cpu->r[31];
|
|
/* 027E0D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0D58 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D58 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027E0D5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0D5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0D5C */ if (_t13) goto L_027E0D60; else goto L_027E0D68;
|
|
L_027E0D60: ; // 0x27e0d60
|
|
/* 027E0D60 */ _t14 = cpu->r[30] + 0x00000024u;
|
|
/* 027E0D60 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 027E0D64 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E0D64 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
L_027E0D68: ; // 0x27e0d68
|
|
/* 027E0D68 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0D6C */ Gambit_fn_027E0BF4(cpu);
|
|
/* 027E0D70 */ _t16 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E0D70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E0D74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E0D78 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0D78 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E0D78 */ if (_t18) goto L_027E0D7C; else goto L_027E0D80;
|
|
L_027E0D7C: ; // 0x27e0d7c
|
|
/* 027E0D7C */ _t19 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E0D7C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
|
|
L_027E0D80: ; // 0x27e0d80
|
|
/* 027E0D80 */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 027E0D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E0D84 */ _t21 = cpu->r[11] + 0x00000044u;
|
|
/* 027E0D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E0D88 */ cpu->ctr = cpu->r[0];
|
|
/* 027E0D8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0D94 */ _t22 = cpu->r[30] + 0x00000040u;
|
|
/* 027E0D94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E0D98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E0D9C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0D9C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E0D9C */ if (_t24) goto L_027E0DA0; else goto L_027E0DA4;
|
|
L_027E0DA0: ; // 0x27e0da0
|
|
/* 027E0DA0 */ _t25 = cpu->r[30] + 0x00000040u;
|
|
/* 027E0DA0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
L_027E0DA4: ; // 0x27e0da4
|
|
/* 027E0DA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E0DA8 */ Gambit_fn_027E0C2C(cpu);
|
|
/* 027E0DAC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E0DB0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E0DB4 */ cpu->lr = cpu->r[0];
|
|
/* 027E0DB8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E0DBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0DC0 */ return;
|
|
}
|
|
|
|
// fn_027E0D1C @ 0x27e0d1c
|
|
void Gambit_fn_027E0D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E0D1C: ; // 0x27e0d1c
|
|
/* 027E0D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0D1C */ cpu->r[1] = _t0;
|
|
/* 027E0D20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E0D24 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E0D28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E0D2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0D2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E0D30 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0D34 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E0D38 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 027E0D38 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E0D3C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E0D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E0D44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0D44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E0D44 */ if (_t8) goto L_027E0D4C; else goto L_027E0D48;
|
|
L_027E0D48: ; // 0x27e0d48
|
|
/* 027E0D48 */ _t9 = cpu->r[9] + 0x00000020u;
|
|
/* 027E0D48 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_027E0D4C: ; // 0x27e0d4c
|
|
/* 027E0D4C */ _t10 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E0D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E0D50 */ cpu->r[9] = cpu->r[31];
|
|
/* 027E0D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E0D58 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 027E0D58 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027E0D5C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0D5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E0D5C */ if (_t13) goto L_027E0D60; else goto L_027E0D68;
|
|
L_027E0D60: ; // 0x27e0d60
|
|
/* 027E0D60 */ _t14 = cpu->r[30] + 0x00000024u;
|
|
/* 027E0D60 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 027E0D64 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E0D64 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
L_027E0D68: ; // 0x27e0d68
|
|
/* 027E0D68 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0D6C */ Gambit_fn_027E0BF4(cpu);
|
|
/* 027E0D70 */ _t16 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E0D70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E0D74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E0D78 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0D78 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E0D78 */ if (_t18) goto L_027E0D7C; else goto L_027E0D80;
|
|
L_027E0D7C: ; // 0x27e0d7c
|
|
/* 027E0D7C */ _t19 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E0D7C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
|
|
L_027E0D80: ; // 0x27e0d80
|
|
/* 027E0D80 */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 027E0D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E0D84 */ _t21 = cpu->r[11] + 0x00000044u;
|
|
/* 027E0D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E0D88 */ cpu->ctr = cpu->r[0];
|
|
/* 027E0D8C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E0D94 */ _t22 = cpu->r[30] + 0x00000040u;
|
|
/* 027E0D94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E0D98 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E0D9C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E0D9C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E0D9C */ if (_t24) goto L_027E0DA0; else goto L_027E0DA4;
|
|
L_027E0DA0: ; // 0x27e0da0
|
|
/* 027E0DA0 */ _t25 = cpu->r[30] + 0x00000040u;
|
|
/* 027E0DA0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
L_027E0DA4: ; // 0x27e0da4
|
|
/* 027E0DA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E0DA8 */ Gambit_fn_027E0C2C(cpu);
|
|
/* 027E0DAC */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E0DB0 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 027E0DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E0DB4 */ cpu->lr = cpu->r[0];
|
|
/* 027E0DB8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0DB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E0DBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0DC0 */ return;
|
|
}
|
|
|
|
// fn_027E0DC4 @ 0x27e0dc4
|
|
void Gambit_fn_027E0DC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0DC4: ; // 0x27e0dc4
|
|
/* 027E0DC4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0DC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0DC8 */ cpu->r[1] = _t0;
|
|
/* 027E0DCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0DD0 */ cpu->r[9] = cpu->r[5];
|
|
/* 027E0DD4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E0DD8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027E0DDC */ cpu->r[10] = cpu->r[6];
|
|
/* 027E0DE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0DE4 */ cpu->r[7] = cpu->r[7] + 0xFFFF9768u;
|
|
/* 027E0DE8 */ cpu->r[6] = 0x00000007u;
|
|
/* 027E0DEC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0DF0 */ cpu->r[8] = 0x00000002u;
|
|
/* 027E0DF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0DF8 */ Gambit_fn_027E09A0(cpu);
|
|
/* 027E0DFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0E00 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0E04 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0E08 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0E0C */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0E10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0E18 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0E1C */ cpu->lr = cpu->r[0];
|
|
/* 027E0E20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0E24 */ return;
|
|
}
|
|
|
|
// fn_027E0DC8 @ 0x27e0dc8
|
|
void Gambit_fn_027E0DC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0DC8: ; // 0x27e0dc8
|
|
/* 027E0DC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0DC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0DC8 */ cpu->r[1] = _t0;
|
|
/* 027E0DCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0DCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0DD0 */ cpu->r[9] = cpu->r[5];
|
|
/* 027E0DD4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E0DD8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027E0DDC */ cpu->r[10] = cpu->r[6];
|
|
/* 027E0DE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0DE4 */ cpu->r[7] = cpu->r[7] + 0xFFFF9768u;
|
|
/* 027E0DE8 */ cpu->r[6] = 0x00000007u;
|
|
/* 027E0DEC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0DF0 */ cpu->r[8] = 0x00000002u;
|
|
/* 027E0DF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0DF8 */ Gambit_fn_027E09A0(cpu);
|
|
/* 027E0DFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0E00 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0E04 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0E08 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0E0C */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0E10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0E18 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0E1C */ cpu->lr = cpu->r[0];
|
|
/* 027E0E20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0E24 */ return;
|
|
}
|
|
|