mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
38613 lines
2.0 MiB
Plaintext
38613 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_027E0E28 @ 0x27e0e28
|
|
void Gambit_fn_027E0E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0E28: ; // 0x27e0e28
|
|
/* 027E0E28 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0E2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0E2C */ cpu->r[1] = _t0;
|
|
/* 027E0E30 */ cpu->r[9] = cpu->r[7];
|
|
/* 027E0E34 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E0E38 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E0E3C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0E40 */ cpu->r[10] = cpu->r[8];
|
|
/* 027E0E44 */ cpu->r[8] = cpu->r[6];
|
|
/* 027E0E48 */ cpu->r[6] = 0x00000005u;
|
|
/* 027E0E4C */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0E50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0E54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0E58 */ Gambit_fn_027E09A0(cpu);
|
|
/* 027E0E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0E60 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0E64 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0E68 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0E68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0E6C */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0E70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0E74 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0E78 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0E7C */ cpu->lr = cpu->r[0];
|
|
/* 027E0E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0E84 */ return;
|
|
}
|
|
|
|
// fn_027E0E2C @ 0x27e0e2c
|
|
void Gambit_fn_027E0E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0E2C: ; // 0x27e0e2c
|
|
/* 027E0E2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0E2C */ cpu->r[1] = _t0;
|
|
/* 027E0E30 */ cpu->r[9] = cpu->r[7];
|
|
/* 027E0E34 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E0E38 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E0E3C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0E40 */ cpu->r[10] = cpu->r[8];
|
|
/* 027E0E44 */ cpu->r[8] = cpu->r[6];
|
|
/* 027E0E48 */ cpu->r[6] = 0x00000005u;
|
|
/* 027E0E4C */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0E50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E0E54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E0E58 */ Gambit_fn_027E09A0(cpu);
|
|
/* 027E0E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0E60 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0E64 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0E68 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0E68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0E6C */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0E70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0E74 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0E78 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0E7C */ cpu->lr = cpu->r[0];
|
|
/* 027E0E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0E84 */ return;
|
|
}
|
|
|
|
// fn_027E0E88 @ 0x27e0e88
|
|
void Gambit_fn_027E0E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E0E88: ; // 0x27e0e88
|
|
/* 027E0E88 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E0E88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0E88 */ cpu->r[1] = _t0;
|
|
/* 027E0E8C */ cpu->r[0] = cpu->lr;
|
|
/* 027E0E90 */ /* nop */
|
|
/* 027E0E94 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0E98 */ cpu->r[27] = cpu->r[4];
|
|
/* 027E0E9C */ cpu->r[28] = cpu->r[5];
|
|
/* 027E0EA0 */ cpu->r[30] = cpu->r[7];
|
|
/* 027E0EA4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027E0EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E0EA8 */ cpu->r[29] = cpu->r[6];
|
|
/* 027E0EAC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0EAC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E0EAC */ if (_t3) goto L_027E0EB0; else goto L_027E0EC0;
|
|
L_027E0EB0: ; // 0x27e0eb0
|
|
/* 027E0EB0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 027E0EB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0EB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0EBC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0EBC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E0EBC */ if (_t5) goto L_027E0EF0; else goto L_027E0EC0;
|
|
L_027E0EC0: ; // 0x27e0ec0
|
|
/* 027E0EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0EC4 */ cpu->r[4] = cpu->r[27];
|
|
/* 027E0EC8 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E0ECC */ cpu->r[6] = cpu->r[30];
|
|
/* 027E0ED0 */ Gambit_fn_027E08D0(cpu);
|
|
/* 027E0ED4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0ED8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E0EDC */ _t6 = cpu->r[31] + 0x00000038u;
|
|
/* 027E0EDC */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 027E0EE0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF48Cu;
|
|
/* 027E0EE4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF444u;
|
|
/* 027E0EE8 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 027E0EE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E0EEC */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 027E0EEC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_027E0EF0: ; // 0x27e0ef0
|
|
/* 027E0EF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0EF4 */ /* nop */
|
|
/* 027E0EF8 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027E0EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E0EFC */ cpu->lr = cpu->r[0];
|
|
/* 027E0F00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E0F04 */ return;
|
|
}
|
|
|
|
// fn_027E0F08 @ 0x27e0f08
|
|
void Gambit_fn_027E0F08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0F08: ; // 0x27e0f08
|
|
/* 027E0F08 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0F0C */ cpu->r[7] = cpu->r[6];
|
|
/* 027E0F10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0F10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0F10 */ cpu->r[1] = _t0;
|
|
/* 027E0F14 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E0F18 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E0F1C */ cpu->r[0] = cpu->r[4];
|
|
/* 027E0F20 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0F24 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0F28 */ cpu->r[5] = cpu->r[0];
|
|
/* 027E0F2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0F2C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E0F30 */ Gambit_fn_027E0E88(cpu);
|
|
/* 027E0F34 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0F38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0F3C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0F40 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0F40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0F44 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0F48 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0F4C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0F50 */ cpu->lr = cpu->r[0];
|
|
/* 027E0F54 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0F58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0F5C */ return;
|
|
}
|
|
|
|
// fn_027E0F10 @ 0x27e0f10
|
|
void Gambit_fn_027E0F10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E0F10: ; // 0x27e0f10
|
|
/* 027E0F10 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E0F10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0F10 */ cpu->r[1] = _t0;
|
|
/* 027E0F14 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E0F18 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E0F1C */ cpu->r[0] = cpu->r[4];
|
|
/* 027E0F20 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E0F24 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E0F28 */ cpu->r[5] = cpu->r[0];
|
|
/* 027E0F2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0F2C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E0F30 */ Gambit_fn_027E0E88(cpu);
|
|
/* 027E0F34 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0F38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E0F3C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E0F40 */ _t3 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E0F40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E0F44 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E0F48 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E0F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E0F4C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0F50 */ cpu->lr = cpu->r[0];
|
|
/* 027E0F54 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E0F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E0F58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E0F5C */ return;
|
|
}
|
|
|
|
// fn_027E0F60 @ 0x27e0f60
|
|
void Gambit_fn_027E0F60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E0F60: ; // 0x27e0f60
|
|
/* 027E0F60 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 027E0F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E0F60 */ cpu->r[1] = _t0;
|
|
/* 027E0F64 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027E0F64 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027E0F68 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 027E0F68 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E0F6C */ /* nop */
|
|
/* 027E0F70 */ /* nop */
|
|
/* 027E0F74 */ cpu->r[0] = cpu->lr;
|
|
/* 027E0F78 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0F7C */ cpu->r[30] = cpu->r[5];
|
|
/* 027E0F80 */ cpu->r[25] = cpu->r[6];
|
|
/* 027E0F84 */ cpu->r[26] = cpu->r[7];
|
|
/* 027E0F88 */ cpu->r[27] = cpu->r[8];
|
|
/* 027E0F8C */ cpu->r[28] = cpu->r[9];
|
|
/* 027E0F90 */ /* nop */
|
|
/* 027E0F94 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 027E0F94 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E0F98 */ cpu->f[31] = cpu->f[2];
|
|
/* 027E0F9C */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027E0F9C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 027E0FA0 */ cpu->f[30] = cpu->f[1];
|
|
/* 027E0FA4 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E0FA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E0FA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E0FAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0FAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E0FAC */ if (_t7) goto L_027E0FB0; else goto L_027E0FC0;
|
|
L_027E0FB0: ; // 0x27e0fb0
|
|
/* 027E0FB0 */ cpu->r[3] = 0x00000054u;
|
|
/* 027E0FB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E0FB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E0FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E0FBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E0FBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E0FBC */ if (_t9) goto L_027E1028; else goto L_027E0FC0;
|
|
L_027E0FC0: ; // 0x27e0fc0
|
|
/* 027E0FC0 */ cpu->r[6] = cpu->r[28];
|
|
/* 027E0FC4 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E0FC8 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E0FCC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E0FD0 */ Gambit_fn_027E08D0(cpu);
|
|
/* 027E0FD4 */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 027E0FD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 027E0FD8 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E0FDC */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E0FDC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[30]);
|
|
/* 027E0FE0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0FE4 */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 027E0FE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027E0FE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3ECu;
|
|
/* 027E0FEC */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E0FEC */ rbrew_write32(cpu->mem, _t13, cpu->r[25]);
|
|
/* 027E0FF0 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027E0FF0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E0FF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E0FF8 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 027E0FF8 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 027E0FFC */ cpu->r[0] = cpu->r[0] + 0xFFFFF434u;
|
|
/* 027E1000 */ _t16 = cpu->r[31] + 0x00000040u;
|
|
/* 027E1000 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 027E1004 */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 027E1004 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E1008 */ _t18 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E1008 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 027E100C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1010 */ _t19 = cpu->r[31] + 0x00000044u;
|
|
/* 027E1010 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 027E1014 */ Gambit_fn_027E0984(cpu);
|
|
/* 027E1018 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E101C */ cpu->r[4] = cpu->r[26];
|
|
/* 027E1020 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027E1024 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_027E1028: ; // 0x27e1028
|
|
/* 027E1028 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E102C */ /* nop */
|
|
/* 027E1030 */ _t20 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1030 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E1034 */ _t21 = cpu->r[1] + 0x00000040u;
|
|
/* 027E1034 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E1038 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 027E1038 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 027E103C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 027E103C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027E1040 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E1040 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E1040 */ if (_t25) goto L_027E1044; // else: addr-0 trap, fall-through
|
|
L_027E1044: ; // 0x27e1044
|
|
/* 027E1044 */ _t26 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E1044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E1048 */ cpu->lr = cpu->r[0];
|
|
/* 027E104C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027E1050 */ return;
|
|
}
|
|
|
|
// fn_027E1054 @ 0x27e1054
|
|
void Gambit_fn_027E1054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_027E1054: ; // 0x27e1054
|
|
/* 027E1054 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E1058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1058 */ cpu->r[1] = _t0;
|
|
/* 027E105C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E105C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1060 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1060 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1064 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1068 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1068 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E106C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E106C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E106C */ if (_t5) goto L_027E1070; else goto L_027E1080;
|
|
L_027E1070: ; // 0x27e1070
|
|
/* 027E1070 */ cpu->r[3] = 0x00000044u;
|
|
/* 027E1074 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1078 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E107C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E107C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E107C */ if (_t7) goto L_027E1114; else goto L_027E1080;
|
|
L_027E1080: ; // 0x27e1080
|
|
/* 027E1080 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1084 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1088 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1088 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1088 */ if (_t9) goto L_027E108C; else goto L_027E109C;
|
|
L_027E108C: ; // 0x27e108c
|
|
/* 027E108C */ cpu->r[3] = 0x00000008u;
|
|
/* 027E1090 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1098 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1098 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1098 */ if (_t11) goto L_027E10AC; else goto L_027E109C;
|
|
L_027E109C: ; // 0x27e109c
|
|
/* 027E109C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E10A0 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E10A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E10A4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF278u;
|
|
/* 027E10A8 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E10A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_027E10AC: ; // 0x27e10ac
|
|
/* 027E10AC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E10B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF288u;
|
|
/* 027E10B4 */ cpu->r[0] = cpu->r[31] + 0x00000034u;
|
|
/* 027E10B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E10B8 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027E10B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027E10BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E10BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E10BC */ if (_t16) goto L_027E10C0; else goto L_027E10C8;
|
|
L_027E10C0: ; // 0x27e10c0
|
|
/* 027E10C0 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E10C4 */ Gambit_fn_02801A78(cpu);
|
|
L_027E10C8: ; // 0x27e10c8
|
|
/* 027E10C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E10CC */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 027E10CC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 027E10D0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E10D4 */ _t18 = cpu->r[12] + 0xFFFF9779u;
|
|
/* 027E10D4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 027E10D8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E10DC */ _t19 = cpu->r[10] + 0xFFFFF2C0u;
|
|
/* 027E10DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027E10E0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E10E4 */ _t20 = cpu->r[12] + 0xFFFFF2F0u;
|
|
/* 027E10E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E10E8 */ _t21 = cpu->r[10] + 0xFFFFF2F4u;
|
|
/* 027E10E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E10EC */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027E10EC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 027E10F0 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 027E10F0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 027E10F4 */ _t24 = cpu->r[31] + 0x00000024u;
|
|
/* 027E10F4 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 027E10F8 */ _t25 = cpu->r[31] + 0x00000038u;
|
|
/* 027E10F8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 027E10FC */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 027E10FC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 027E1100 */ _t27 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E1100 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 027E1104 */ _t28 = cpu->r[31] + 0x00000030u;
|
|
/* 027E1104 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 027E1108 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 027E1108 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 027E110C */ _t30 = cpu->r[31] + 0x00000040u;
|
|
/* 027E110C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 027E1110 */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E1110 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_027E1114: ; // 0x27e1114
|
|
/* 027E1114 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E1118 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E111C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E111C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E1120 */ cpu->lr = cpu->r[0];
|
|
/* 027E1124 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1124 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E1128 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E112C */ return;
|
|
}
|
|
|
|
// fn_027E1058 @ 0x27e1058
|
|
void Gambit_fn_027E1058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_027E1058: ; // 0x27e1058
|
|
/* 027E1058 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E1058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1058 */ cpu->r[1] = _t0;
|
|
/* 027E105C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E105C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1060 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1060 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1064 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1068 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1068 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E106C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E106C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E106C */ if (_t5) goto L_027E1070; else goto L_027E1080;
|
|
L_027E1070: ; // 0x27e1070
|
|
/* 027E1070 */ cpu->r[3] = 0x00000044u;
|
|
/* 027E1074 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1078 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E107C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E107C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E107C */ if (_t7) goto L_027E1114; else goto L_027E1080;
|
|
L_027E1080: ; // 0x27e1080
|
|
/* 027E1080 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1084 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1088 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1088 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1088 */ if (_t9) goto L_027E108C; else goto L_027E109C;
|
|
L_027E108C: ; // 0x27e108c
|
|
/* 027E108C */ cpu->r[3] = 0x00000008u;
|
|
/* 027E1090 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1098 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1098 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1098 */ if (_t11) goto L_027E10AC; else goto L_027E109C;
|
|
L_027E109C: ; // 0x27e109c
|
|
/* 027E109C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E10A0 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E10A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E10A4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF278u;
|
|
/* 027E10A8 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E10A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_027E10AC: ; // 0x27e10ac
|
|
/* 027E10AC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E10B0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF288u;
|
|
/* 027E10B4 */ cpu->r[0] = cpu->r[31] + 0x00000034u;
|
|
/* 027E10B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E10B8 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 027E10B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027E10BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E10BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E10BC */ if (_t16) goto L_027E10C0; else goto L_027E10C8;
|
|
L_027E10C0: ; // 0x27e10c0
|
|
/* 027E10C0 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E10C4 */ Gambit_fn_02801A78(cpu);
|
|
L_027E10C8: ; // 0x27e10c8
|
|
/* 027E10C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E10CC */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 027E10CC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 027E10D0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E10D4 */ _t18 = cpu->r[12] + 0xFFFF9779u;
|
|
/* 027E10D4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 027E10D8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E10DC */ _t19 = cpu->r[10] + 0xFFFFF2C0u;
|
|
/* 027E10DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027E10E0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E10E4 */ _t20 = cpu->r[12] + 0xFFFFF2F0u;
|
|
/* 027E10E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E10E8 */ _t21 = cpu->r[10] + 0xFFFFF2F4u;
|
|
/* 027E10E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E10EC */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027E10EC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 027E10F0 */ _t23 = cpu->r[31] + 0x00000020u;
|
|
/* 027E10F0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 027E10F4 */ _t24 = cpu->r[31] + 0x00000024u;
|
|
/* 027E10F4 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 027E10F8 */ _t25 = cpu->r[31] + 0x00000038u;
|
|
/* 027E10F8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 027E10FC */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 027E10FC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 027E1100 */ _t27 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E1100 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 027E1104 */ _t28 = cpu->r[31] + 0x00000030u;
|
|
/* 027E1104 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 027E1108 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 027E1108 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 027E110C */ _t30 = cpu->r[31] + 0x00000040u;
|
|
/* 027E110C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 027E1110 */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E1110 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_027E1114: ; // 0x27e1114
|
|
/* 027E1114 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E1118 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E111C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E111C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E1120 */ cpu->lr = cpu->r[0];
|
|
/* 027E1124 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1124 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E1128 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E112C */ return;
|
|
}
|
|
|
|
// fn_027E1130 @ 0x27e1130
|
|
void Gambit_fn_027E1130(CPUState* 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_027E1130: ; // 0x27e1130
|
|
/* 027E1130 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1134 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1134 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1134 */ cpu->r[1] = _t0;
|
|
/* 027E1138 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1138 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E113C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E113C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E1140 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1140 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E1144 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1144 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E1148 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1148 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E114C */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E1150 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1154 */ _t6 = cpu->r[29] + 0xFFFF9770u;
|
|
/* 027E1154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E1154 */ cpu->r[29] = _t6;
|
|
/* 027E1158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E115C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E115C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E115C */ if (_t8) goto L_027E1160; else goto L_027E11B0;
|
|
L_027E1160: ; // 0x27e1160
|
|
/* 027E1160 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E1164 */ cpu->r[3] = 0x00000044u;
|
|
/* 027E1168 */ cpu->r[5] = 0x00000004u;
|
|
/* 027E116C */ Gambit_fn_02801ADC(cpu);
|
|
/* 027E1170 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1174 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 027E1174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E1178 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1178 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E1178 */ if (_t10) goto L_027E1198; else goto L_027E117C;
|
|
L_027E117C: ; // 0x27e117c
|
|
/* 027E117C */ cpu->r[5] = 0x00000003u;
|
|
/* 027E1180 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E1184 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1188 */ Gambit_fn_02821D88(cpu);
|
|
/* 027E118C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1190 */ cpu->r[0] = cpu->r[0] + 0xFFFFF32Cu;
|
|
/* 027E1194 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E1194 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027E1198: ; // 0x27e1198
|
|
/* 027E1198 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E119C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E119C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E11A0 */ _t12 = cpu->r[12] + 0xFFFF9774u;
|
|
/* 027E11A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027E11A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E11A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E11A4 */ if (_t14) goto L_027E11AC; else goto L_027E11A8;
|
|
L_027E11A8: ; // 0x27e11a8
|
|
/* 027E11A8 */ Gambit_fn_027E1054(cpu);
|
|
L_027E11AC: ; // 0x27e11ac
|
|
/* 027E11AC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 027E11AC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_027E11B0: ; // 0x27e11b0
|
|
/* 027E11B0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027E11B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E11B4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E11B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E11B8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E11B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E11BC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027E11BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E11C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E11C4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E11C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E11C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E11CC */ return;
|
|
}
|
|
|
|
// fn_027E1134 @ 0x27e1134
|
|
void Gambit_fn_027E1134(CPUState* 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_027E1134: ; // 0x27e1134
|
|
/* 027E1134 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1134 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1134 */ cpu->r[1] = _t0;
|
|
/* 027E1138 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1138 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E113C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E113C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E1140 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1140 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E1144 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1144 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E1148 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1148 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E114C */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E1150 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1154 */ _t6 = cpu->r[29] + 0xFFFF9770u;
|
|
/* 027E1154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E1154 */ cpu->r[29] = _t6;
|
|
/* 027E1158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E115C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E115C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E115C */ if (_t8) goto L_027E1160; else goto L_027E11B0;
|
|
L_027E1160: ; // 0x27e1160
|
|
/* 027E1160 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E1164 */ cpu->r[3] = 0x00000044u;
|
|
/* 027E1168 */ cpu->r[5] = 0x00000004u;
|
|
/* 027E116C */ Gambit_fn_02801ADC(cpu);
|
|
/* 027E1170 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1174 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 027E1174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E1178 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1178 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E1178 */ if (_t10) goto L_027E1198; else goto L_027E117C;
|
|
L_027E117C: ; // 0x27e117c
|
|
/* 027E117C */ cpu->r[5] = 0x00000003u;
|
|
/* 027E1180 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E1184 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1188 */ Gambit_fn_02821D88(cpu);
|
|
/* 027E118C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1190 */ cpu->r[0] = cpu->r[0] + 0xFFFFF32Cu;
|
|
/* 027E1194 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E1194 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027E1198: ; // 0x27e1198
|
|
/* 027E1198 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E119C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E119C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E11A0 */ _t12 = cpu->r[12] + 0xFFFF9774u;
|
|
/* 027E11A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 027E11A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E11A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E11A4 */ if (_t14) goto L_027E11AC; else goto L_027E11A8;
|
|
L_027E11A8: ; // 0x27e11a8
|
|
/* 027E11A8 */ Gambit_fn_027E1054(cpu);
|
|
L_027E11AC: ; // 0x27e11ac
|
|
/* 027E11AC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 027E11AC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_027E11B0: ; // 0x27e11b0
|
|
/* 027E11B0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027E11B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E11B4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E11B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E11B8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E11B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E11BC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027E11BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E11C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E11C4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E11C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E11C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E11CC */ return;
|
|
}
|
|
|
|
// fn_027E11D0 @ 0x27e11d0
|
|
void Gambit_fn_027E11D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E11D0: ; // 0x27e11d0
|
|
/* 027E11D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E11D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E11D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E11D4 */ cpu->r[1] = _t0;
|
|
/* 027E11D8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E11DC */ _t1 = cpu->r[11] + 0xFFFFF2C0u;
|
|
/* 027E11DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E11E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E11E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E11E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E11E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E11E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E11EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E11EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E11F0 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E11F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E11F4 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E11F4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 027E11F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E11FC */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 027E11FC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027E1200 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1200 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1200 */ if (_t9) goto L_027E124C; else goto L_027E1204;
|
|
L_027E1204: ; // 0x27e1204
|
|
/* 027E1204 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1208 */ Gambit_fn_027E0BF4(cpu);
|
|
/* 027E120C */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E120C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E1210 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E1214 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E1214 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E1214 */ if (_t12) goto L_027E1218; else goto L_027E121C;
|
|
L_027E1218: ; // 0x27e1218
|
|
/* 027E1218 */ _t13 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E1218 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
|
|
L_027E121C: ; // 0x27e121c
|
|
/* 027E121C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027E121C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E1220 */ _t15 = cpu->r[12] + 0x00000044u;
|
|
/* 027E1220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E1224 */ cpu->ctr = cpu->r[0];
|
|
/* 027E1228 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E122C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E1230 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 027E1230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E1234 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E1238 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E1238 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E1238 */ if (_t18) goto L_027E123C; else goto L_027E1240;
|
|
L_027E123C: ; // 0x27e123c
|
|
/* 027E123C */ _t19 = cpu->r[30] + 0x00000040u;
|
|
/* 027E123C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
|
|
L_027E1240: ; // 0x27e1240
|
|
/* 027E1240 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 027E1240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E1244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1248 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1248 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E1248 */ if (_t22) goto L_027E124C; else goto L_027E1204;
|
|
L_027E124C: ; // 0x27e124c
|
|
/* 027E124C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1250 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E1254 */ cpu->lr = cpu->r[0];
|
|
/* 027E1258 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E125C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1260 */ return;
|
|
}
|
|
|
|
// fn_027E11D4 @ 0x27e11d4
|
|
void Gambit_fn_027E11D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E11D4: ; // 0x27e11d4
|
|
/* 027E11D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E11D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E11D4 */ cpu->r[1] = _t0;
|
|
/* 027E11D8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E11DC */ _t1 = cpu->r[11] + 0xFFFFF2C0u;
|
|
/* 027E11DC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E11E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E11E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E11E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E11E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E11E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E11EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E11EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E11F0 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E11F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E11F4 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E11F4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 027E11F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E11FC */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 027E11FC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027E1200 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1200 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1200 */ if (_t9) goto L_027E124C; else goto L_027E1204;
|
|
L_027E1204: ; // 0x27e1204
|
|
/* 027E1204 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1208 */ Gambit_fn_027E0BF4(cpu);
|
|
/* 027E120C */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E120C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E1210 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E1214 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E1214 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E1214 */ if (_t12) goto L_027E1218; else goto L_027E121C;
|
|
L_027E1218: ; // 0x27e1218
|
|
/* 027E1218 */ _t13 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E1218 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[1]);
|
|
L_027E121C: ; // 0x27e121c
|
|
/* 027E121C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027E121C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E1220 */ _t15 = cpu->r[12] + 0x00000044u;
|
|
/* 027E1220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E1224 */ cpu->ctr = cpu->r[0];
|
|
/* 027E1228 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E122C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E1230 */ _t16 = cpu->r[30] + 0x00000040u;
|
|
/* 027E1230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E1234 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027E1238 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E1238 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E1238 */ if (_t18) goto L_027E123C; else goto L_027E1240;
|
|
L_027E123C: ; // 0x27e123c
|
|
/* 027E123C */ _t19 = cpu->r[30] + 0x00000040u;
|
|
/* 027E123C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[1]);
|
|
L_027E1240: ; // 0x27e1240
|
|
/* 027E1240 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 027E1240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E1244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1248 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1248 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E1248 */ if (_t22) goto L_027E124C; else goto L_027E1204;
|
|
L_027E124C: ; // 0x27e124c
|
|
/* 027E124C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1250 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E1254 */ cpu->lr = cpu->r[0];
|
|
/* 027E1258 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E125C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1260 */ return;
|
|
}
|
|
|
|
// fn_027E1264 @ 0x27e1264
|
|
void Gambit_fn_027E1264(CPUState* cpu) {
|
|
uint32_t _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_027E1264: ; // 0x27e1264
|
|
/* 027E1264 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1268 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1268 */ cpu->r[1] = _t0;
|
|
/* 027E126C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E126C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027E1270 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E1274 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1274 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E1278 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1278 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E127C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E127C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1280 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1280 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E1284 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1284 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1288 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1288 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E1288 */ if (_t7) goto L_027E12EC; else goto L_027E128C;
|
|
L_027E128C: ; // 0x27e128c
|
|
/* 027E128C */ cpu->r[6] = 0x10110000u;
|
|
/* 027E1290 */ cpu->r[6] = cpu->r[6] + 0xFFFFF32Cu;
|
|
/* 027E1294 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1298 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1298 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027E129C */ _t9 = cpu->r[12] + 0xFFFF9774u;
|
|
/* 027E129C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E129C */ cpu->r[12] = _t9;
|
|
/* 027E12A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027E12A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E12A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E12A4 */ if (_t11) goto L_027E12A8; else goto L_027E12D0;
|
|
L_027E12A8: ; // 0x27e12a8
|
|
/* 027E12A8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027E12AC */ cpu->r[29] = 0x00000000u;
|
|
/* 027E12B0 */ _t12 = cpu->r[30] + 0xFFFF9770u;
|
|
/* 027E12B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E12B4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 027E12B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027E12B8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027E12B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E12BC */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027E12BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E12C0 */ cpu->ctr = cpu->r[10];
|
|
/* 027E12C4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E12C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E12CC */ _t16 = cpu->r[30] + 0xFFFF9770u;
|
|
/* 027E12CC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_027E12D0: ; // 0x27e12d0
|
|
/* 027E12D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E12D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E12D8 */ Gambit_fn_02821E68(cpu);
|
|
/* 027E12DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E12DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E12E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E12E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E12E0 */ if (_t18) goto L_027E12EC; else goto L_027E12E4;
|
|
L_027E12E4: ; // 0x27e12e4
|
|
/* 027E12E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E12E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E12EC: ; // 0x27e12ec
|
|
/* 027E12EC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E12EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E12F0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E12F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E12F4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E12F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E12F8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E12F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E12FC */ cpu->lr = cpu->r[0];
|
|
/* 027E1300 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1304 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1308 */ return;
|
|
}
|
|
|
|
// fn_027E1268 @ 0x27e1268
|
|
void Gambit_fn_027E1268(CPUState* cpu) {
|
|
uint32_t _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_027E1268: ; // 0x27e1268
|
|
/* 027E1268 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1268 */ cpu->r[1] = _t0;
|
|
/* 027E126C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E126C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027E1270 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E1274 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1274 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E1278 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1278 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E127C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E127C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1280 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1280 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E1284 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1284 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1288 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1288 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E1288 */ if (_t7) goto L_027E12EC; else goto L_027E128C;
|
|
L_027E128C: ; // 0x27e128c
|
|
/* 027E128C */ cpu->r[6] = 0x10110000u;
|
|
/* 027E1290 */ cpu->r[6] = cpu->r[6] + 0xFFFFF32Cu;
|
|
/* 027E1294 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1298 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1298 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027E129C */ _t9 = cpu->r[12] + 0xFFFF9774u;
|
|
/* 027E129C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E129C */ cpu->r[12] = _t9;
|
|
/* 027E12A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 027E12A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E12A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E12A4 */ if (_t11) goto L_027E12A8; else goto L_027E12D0;
|
|
L_027E12A8: ; // 0x27e12a8
|
|
/* 027E12A8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027E12AC */ cpu->r[29] = 0x00000000u;
|
|
/* 027E12B0 */ _t12 = cpu->r[30] + 0xFFFF9770u;
|
|
/* 027E12B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E12B4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 027E12B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 027E12B8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027E12B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E12BC */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027E12BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E12C0 */ cpu->ctr = cpu->r[10];
|
|
/* 027E12C4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E12C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E12CC */ _t16 = cpu->r[30] + 0xFFFF9770u;
|
|
/* 027E12CC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_027E12D0: ; // 0x27e12d0
|
|
/* 027E12D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E12D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E12D8 */ Gambit_fn_02821E68(cpu);
|
|
/* 027E12DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E12DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E12E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E12E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E12E0 */ if (_t18) goto L_027E12EC; else goto L_027E12E4;
|
|
L_027E12E4: ; // 0x27e12e4
|
|
/* 027E12E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E12E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E12EC: ; // 0x27e12ec
|
|
/* 027E12EC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E12EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E12F0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E12F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E12F4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E12F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E12F8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E12F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E12FC */ cpu->lr = cpu->r[0];
|
|
/* 027E1300 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1304 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1308 */ return;
|
|
}
|
|
|
|
// fn_027E130C @ 0x27e130c
|
|
void Gambit_fn_027E130C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027E130C: ; // 0x27e130c
|
|
/* 027E130C */ cpu->r[0] = cpu->lr;
|
|
/* 027E1310 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 027E1310 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1310 */ cpu->r[1] = _t0;
|
|
/* 027E1314 */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1314 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1318 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1318 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027E131C */ _t3 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E131C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E1320 */ _t4 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E1320 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 027E1324 */ /* nop */
|
|
/* 027E1328 */ _t5 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1328 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027E132C */ _t6 = cpu->r[1] + 0x000000CCu;
|
|
/* 027E132C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1330 */ _t7 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E1330 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 027E1334 */ /* nop */
|
|
/* 027E1338 */ _t8 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1338 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 027E133C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1340 */ _t9 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E1340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 027E1344 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E1344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1348 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E134C */ _t11 = cpu->r[11] + 0xFFFFF2C0u;
|
|
/* 027E134C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E1350 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFEu;
|
|
/* 027E1350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1354 */ cpu->r[28] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E1358 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E1358 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E1358 */ if (_t13) goto L_027E135C; else goto L_027E1360;
|
|
L_027E135C: ; // 0x27e135c
|
|
/* 027E135C */ cpu->r[31] = 0x00000001u;
|
|
L_027E1360: ; // 0x27e1360
|
|
/* 027E1360 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1364 */ _t14 = cpu->r[10] + 0xFFFFF2D8u;
|
|
/* 027E1364 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027E1368 */ cpu->r[29] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_027E136C: ; // 0x27e136c
|
|
/* 027E136C */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 027E136C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E1370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E1374 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1374 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E1374 */ if (_t17) goto L_027E1378; else goto L_027E13BC;
|
|
L_027E1378: ; // 0x27e1378
|
|
/* 027E1378 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E137C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1380 */ cpu->r[4] = cpu->r[4] + 0xFFFFF302u;
|
|
/* 027E1384 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E1388 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1388 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E1388 */ if (_t19) goto L_027E138C; // else: addr-0 trap, fall-through
|
|
L_027E138C: ; // 0x27e138c
|
|
/* 027E138C */ Gambit_fn_027E1744(cpu);
|
|
/* 027E1390 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E1394 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 027E1394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E1398 */ cpu->ctr = cpu->r[0];
|
|
/* 027E139C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E13A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E13A4 */ cpu->f[1] = cpu->f[31];
|
|
/* 027E13A8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027E13A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E13AC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E13B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 027E13B4 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E13B4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E13B4 */ if (_t24) goto L_027E13B8; else goto L_027E13D4;
|
|
L_027E13B8: ; // 0x27e13b8
|
|
/* 027E13B8 */ goto L_027E13D0;
|
|
L_027E13BC: ; // 0x27e13bc
|
|
/* 027E13BC */ cpu->f[1] = cpu->f[31];
|
|
/* 027E13C0 */ _t25 = cpu->r[9] + cpu->r[29];
|
|
/* 027E13C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E13C4 */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E13C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 027E13CC */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E13CC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E13CC */ if (_t27) goto L_027E13D0; else goto L_027E13D4;
|
|
L_027E13D0: ; // 0x27e13d0
|
|
/* 027E13D0 */ cpu->f[30] = cpu->f[1];
|
|
L_027E13D4: ; // 0x27e13d4
|
|
/* 027E13D4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E13D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E13D8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 027E13DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 027E13E0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E13E0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E13E0 */ if (_t29) goto L_027E13E4; else goto L_027E136C;
|
|
L_027E13E4: ; // 0x27e13e4
|
|
/* 027E13E4 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E13E8 */ _t30 = cpu->r[1] + 0x00000098u;
|
|
/* 027E13E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E13EC */ _t31 = cpu->r[8] + 0xFFFFF2DCu;
|
|
/* 027E13EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027E13F0 */ _t32 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E13F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E13F4 */ cpu->f[1] = cpu->f[30] + cpu->f[0];
|
|
/* 027E13F8 */ _t33 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E13F8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027E13FC */ _t34 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E13FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027E1400 */ _t35 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E1400 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 027E1404 */ _t36 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E1404 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027E1408 */ _t37 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E140C */ _t38 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E140C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E1410 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E1410 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027E1410 */ if (_t40) goto L_027E1414; // else: addr-0 trap, fall-through
|
|
L_027E1414: ; // 0x27e1414
|
|
/* 027E1414 */ _t41 = cpu->r[1] + 0x000000CCu;
|
|
/* 027E1414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E1418 */ cpu->lr = cpu->r[0];
|
|
/* 027E141C */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 027E1420 */ return;
|
|
}
|
|
|
|
// fn_027E1310 @ 0x27e1310
|
|
void Gambit_fn_027E1310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027E1310: ; // 0x27e1310
|
|
/* 027E1310 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 027E1310 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1310 */ cpu->r[1] = _t0;
|
|
/* 027E1314 */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1314 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1318 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1318 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027E131C */ _t3 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E131C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E1320 */ _t4 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E1320 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 027E1324 */ /* nop */
|
|
/* 027E1328 */ _t5 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1328 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027E132C */ _t6 = cpu->r[1] + 0x000000CCu;
|
|
/* 027E132C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1330 */ _t7 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E1330 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 027E1334 */ /* nop */
|
|
/* 027E1338 */ _t8 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1338 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 027E133C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E1340 */ _t9 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E1340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 027E1344 */ _t10 = cpu->r[30] + 0x0000003Cu;
|
|
/* 027E1344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1348 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E134C */ _t11 = cpu->r[11] + 0xFFFFF2C0u;
|
|
/* 027E134C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E1350 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFEu;
|
|
/* 027E1350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1354 */ cpu->r[28] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E1358 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E1358 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E1358 */ if (_t13) goto L_027E135C; else goto L_027E1360;
|
|
L_027E135C: ; // 0x27e135c
|
|
/* 027E135C */ cpu->r[31] = 0x00000001u;
|
|
L_027E1360: ; // 0x27e1360
|
|
/* 027E1360 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1364 */ _t14 = cpu->r[10] + 0xFFFFF2D8u;
|
|
/* 027E1364 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027E1368 */ cpu->r[29] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_027E136C: ; // 0x27e136c
|
|
/* 027E136C */ _t15 = cpu->r[30] + 0x00000038u;
|
|
/* 027E136C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E1370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E1374 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1374 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E1374 */ if (_t17) goto L_027E1378; else goto L_027E13BC;
|
|
L_027E1378: ; // 0x27e1378
|
|
/* 027E1378 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E137C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1380 */ cpu->r[4] = cpu->r[4] + 0xFFFFF302u;
|
|
/* 027E1384 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E1388 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1388 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E1388 */ if (_t19) goto L_027E138C; // else: addr-0 trap, fall-through
|
|
L_027E138C: ; // 0x27e138c
|
|
/* 027E138C */ Gambit_fn_027E1744(cpu);
|
|
/* 027E1390 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E1394 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 027E1394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E1398 */ cpu->ctr = cpu->r[0];
|
|
/* 027E139C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E13A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E13A4 */ cpu->f[1] = cpu->f[31];
|
|
/* 027E13A8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027E13A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E13AC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E13B0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 027E13B4 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E13B4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E13B4 */ if (_t24) goto L_027E13B8; else goto L_027E13D4;
|
|
L_027E13B8: ; // 0x27e13b8
|
|
/* 027E13B8 */ goto L_027E13D0;
|
|
L_027E13BC: ; // 0x27e13bc
|
|
/* 027E13BC */ cpu->f[1] = cpu->f[31];
|
|
/* 027E13C0 */ _t25 = cpu->r[9] + cpu->r[29];
|
|
/* 027E13C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E13C4 */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E13C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[30]);
|
|
/* 027E13CC */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E13CC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E13CC */ if (_t27) goto L_027E13D0; else goto L_027E13D4;
|
|
L_027E13D0: ; // 0x27e13d0
|
|
/* 027E13D0 */ cpu->f[30] = cpu->f[1];
|
|
L_027E13D4: ; // 0x27e13d4
|
|
/* 027E13D4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E13D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E13D8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 027E13DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 027E13E0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E13E0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E13E0 */ if (_t29) goto L_027E13E4; else goto L_027E136C;
|
|
L_027E13E4: ; // 0x27e13e4
|
|
/* 027E13E4 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E13E8 */ _t30 = cpu->r[1] + 0x00000098u;
|
|
/* 027E13E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E13EC */ _t31 = cpu->r[8] + 0xFFFFF2DCu;
|
|
/* 027E13EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027E13F0 */ _t32 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E13F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E13F4 */ cpu->f[1] = cpu->f[30] + cpu->f[0];
|
|
/* 027E13F8 */ _t33 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E13F8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027E13FC */ _t34 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E13FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027E1400 */ _t35 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E1400 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 027E1404 */ _t36 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E1404 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027E1408 */ _t37 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1408 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E140C */ _t38 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E140C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E1410 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E1410 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027E1410 */ if (_t40) goto L_027E1414; // else: addr-0 trap, fall-through
|
|
L_027E1414: ; // 0x27e1414
|
|
/* 027E1414 */ _t41 = cpu->r[1] + 0x000000CCu;
|
|
/* 027E1414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E1418 */ cpu->lr = cpu->r[0];
|
|
/* 027E141C */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 027E1420 */ return;
|
|
}
|
|
|
|
// fn_027E1424 @ 0x27e1424
|
|
void Gambit_fn_027E1424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E1424: ; // 0x27e1424
|
|
/* 027E1424 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1428 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E1428 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E142C */ cpu->r[11] = 0x00000080u;
|
|
/* 027E1430 */ _t1 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 027E1430 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E1430 */ cpu->r[1] = _t1;
|
|
/* 027E1434 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 027E1438 */ _t2 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E1438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E143C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1440 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1440 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E1444 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1448 */ _t4 = cpu->r[12] + 0x00007399u;
|
|
/* 027E1448 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027E144C */ cpu->r[0] = cpu->r[0] + 0xFFFFF260u;
|
|
/* 027E1450 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1450 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027E1454 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1454 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1458 */ _t7 = cpu->r[1] + 0x00000093u;
|
|
/* 027E1458 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 027E145C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
|
|
/* 027E1460 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1460 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027E1464 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1464 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E1464 */ if (_t10) goto L_027E1468; else goto L_027E14C0;
|
|
L_027E1468: ; // 0x27e1468
|
|
/* 027E1468 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E146C */ cpu->r[4] = 0x10110000u;
|
|
/* 027E1470 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1474 */ _t11 = cpu->r[11] + 0xFFFFF308u;
|
|
/* 027E1474 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027E1478 */ cpu->r[4] = cpu->r[4] + 0xFFFFF310u;
|
|
/* 027E147C */ cpu->r[5] = 0x00000009u;
|
|
/* 027E1480 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E1484 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1484 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E1484 */ if (_t13) goto L_027E1488; // else: addr-0 trap, fall-through
|
|
L_027E1488: ; // 0x27e1488
|
|
/* 027E1488 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E148C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E148C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E1490 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 027E1490 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E1494 */ cpu->ctr = cpu->r[9];
|
|
/* 027E1498 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E149C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E14A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E14A4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027E14A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E14A8 */ _t17 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E14A8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E14AC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E14B0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E14B4 */ _t18 = cpu->r[10] + 0xFFFFF2DCu;
|
|
/* 027E14B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027E14B8 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
/* 027E14BC */ goto L_027E150C;
|
|
L_027E14C0: ; // 0x27e14c0
|
|
/* 027E14C0 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E14C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E14C8 */ cpu->r[5] = 0x00000008u;
|
|
/* 027E14CC */ cpu->r[4] = cpu->r[4] + 0xFFFFF318u;
|
|
/* 027E14D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E14D4 */ _t19 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E14D4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E14D4 */ if (_t20) goto L_027E14D8; // else: addr-0 trap, fall-through
|
|
L_027E14D8: ; // 0x27e14d8
|
|
/* 027E14D8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E14DC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E14DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E14E0 */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 027E14E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E14E4 */ cpu->ctr = cpu->r[9];
|
|
/* 027E14E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E14EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E14F0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E14F4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027E14F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E14F8 */ _t24 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E14F8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027E14FC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E1500 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1504 */ _t25 = cpu->r[10] + 0xFFFFF2DCu;
|
|
/* 027E1504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E1508 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
L_027E150C: ; // 0x27e150c
|
|
/* 027E150C */ _t26 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E150C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E1510 */ cpu->lr = cpu->r[0];
|
|
/* 027E1514 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 027E1518 */ return;
|
|
}
|
|
|
|
// fn_027E1430 @ 0x27e1430
|
|
void Gambit_fn_027E1430(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E1430: ; // 0x27e1430
|
|
/* 027E1430 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 027E1430 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1430 */ cpu->r[1] = _t0;
|
|
/* 027E1434 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 027E1438 */ _t1 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E1438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E143C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1440 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1440 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E1444 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1448 */ _t3 = cpu->r[12] + 0x00007399u;
|
|
/* 027E1448 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027E144C */ cpu->r[0] = cpu->r[0] + 0xFFFFF260u;
|
|
/* 027E1450 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1450 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027E1454 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1454 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1458 */ _t6 = cpu->r[1] + 0x00000093u;
|
|
/* 027E1458 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 027E145C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000006u);
|
|
/* 027E1460 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1460 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 027E1464 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1464 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1464 */ if (_t9) goto L_027E1468; else goto L_027E14C0;
|
|
L_027E1468: ; // 0x27e1468
|
|
/* 027E1468 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E146C */ cpu->r[4] = 0x10110000u;
|
|
/* 027E1470 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1474 */ _t10 = cpu->r[11] + 0xFFFFF308u;
|
|
/* 027E1474 */ cpu->f[1] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027E1478 */ cpu->r[4] = cpu->r[4] + 0xFFFFF310u;
|
|
/* 027E147C */ cpu->r[5] = 0x00000009u;
|
|
/* 027E1480 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E1484 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1484 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E1484 */ if (_t12) goto L_027E1488; // else: addr-0 trap, fall-through
|
|
L_027E1488: ; // 0x27e1488
|
|
/* 027E1488 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E148C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E148C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E1490 */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 027E1490 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E1494 */ cpu->ctr = cpu->r[9];
|
|
/* 027E1498 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E149C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E14A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E14A4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E14A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E14A8 */ _t16 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E14A8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E14AC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E14B0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E14B4 */ _t17 = cpu->r[10] + 0xFFFFF2DCu;
|
|
/* 027E14B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E14B8 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
/* 027E14BC */ goto L_027E150C;
|
|
L_027E14C0: ; // 0x27e14c0
|
|
/* 027E14C0 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E14C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E14C8 */ cpu->r[5] = 0x00000008u;
|
|
/* 027E14CC */ cpu->r[4] = cpu->r[4] + 0xFFFFF318u;
|
|
/* 027E14D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E14D4 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E14D4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E14D4 */ if (_t19) goto L_027E14D8; // else: addr-0 trap, fall-through
|
|
L_027E14D8: ; // 0x27e14d8
|
|
/* 027E14D8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E14DC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E14DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E14E0 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 027E14E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E14E4 */ cpu->ctr = cpu->r[9];
|
|
/* 027E14E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E14EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E14F0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E14F4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027E14F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E14F8 */ _t23 = cpu->r[12] + 0xFFFFF2D8u;
|
|
/* 027E14F8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027E14FC */ Gambit_fn_027E0B14(cpu);
|
|
/* 027E1500 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1504 */ _t24 = cpu->r[10] + 0xFFFFF2DCu;
|
|
/* 027E1504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027E1508 */ cpu->f[1] = cpu->f[1] + cpu->f[0];
|
|
L_027E150C: ; // 0x27e150c
|
|
/* 027E150C */ _t25 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E150C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E1510 */ cpu->lr = cpu->r[0];
|
|
/* 027E1514 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 027E1518 */ return;
|
|
}
|
|
|
|
// fn_027E151C @ 0x27e151c
|
|
void Gambit_fn_027E151C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E151C: ; // 0x27e151c
|
|
/* 027E151C */ cpu->r[9] = 0x10110000u;
|
|
/* 027E1520 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1524 */ _t0 = cpu->r[9] + 0xFFFFF328u;
|
|
/* 027E1524 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E1528 */ cpu->r[9] = 0x000000F0u;
|
|
/* 027E152C */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E1530 */ _t1 = cpu->r[10] + 0xFFFFF320u;
|
|
/* 027E1530 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E1534 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E1538 */ _t2 = cpu->r[6] + 0x000035DCu;
|
|
/* 027E1538 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[9]);
|
|
/* 027E1538 */ cpu->r[6] = _t2;
|
|
/* 027E153C */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E1540 */ cpu->r[11] = 0x000000FFu;
|
|
/* 027E1544 */ _t3 = cpu->r[10] + 0xFFFFF324u;
|
|
/* 027E1544 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E1548 */ cpu->r[0] = 0x00000039u;
|
|
/* 027E154C */ _t4 = cpu->r[9] + 0x000035E0u;
|
|
/* 027E154C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[11]);
|
|
/* 027E154C */ cpu->r[9] = _t4;
|
|
/* 027E1550 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E1554 */ _t5 = cpu->r[9] + 0x00000001u;
|
|
/* 027E1554 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[11]);
|
|
/* 027E1558 */ cpu->r[10] = 0x000000B1u;
|
|
/* 027E155C */ _t6 = cpu->r[8] + 0x000035C8u;
|
|
/* 027E155C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 027E155C */ cpu->r[8] = _t6;
|
|
/* 027E1560 */ _t7 = cpu->r[9] + 0x00000002u;
|
|
/* 027E1560 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 027E1564 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E1568 */ _t8 = cpu->r[6] + 0x00000001u;
|
|
/* 027E1568 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 027E156C */ cpu->r[7] = cpu->r[7] + 0x000035D0u;
|
|
/* 027E1570 */ _t9 = cpu->r[6] + 0x00000002u;
|
|
/* 027E1570 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 027E1574 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 027E1574 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E1578 */ _t11 = cpu->r[6] + 0x00000003u;
|
|
/* 027E1578 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 027E157C */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E1580 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 027E1580 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027E1584 */ _t13 = cpu->r[7] + 0x00000000u;
|
|
/* 027E1584 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 027E1588 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E158C */ _t14 = cpu->r[6] + 0x000035E8u;
|
|
/* 027E158C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
/* 027E158C */ cpu->r[6] = _t14;
|
|
/* 027E1590 */ cpu->r[7] = 0x00000040u;
|
|
/* 027E1594 */ _t15 = cpu->r[10] + 0x000035E4u;
|
|
/* 027E1594 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[11]);
|
|
/* 027E1594 */ cpu->r[10] = _t15;
|
|
/* 027E1598 */ _t16 = cpu->r[10] + 0x00000001u;
|
|
/* 027E1598 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[7]);
|
|
/* 027E159C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E15A0 */ _t17 = cpu->r[9] + 0x00000003u;
|
|
/* 027E15A0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[11]);
|
|
/* 027E15A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E15A8 */ _t18 = cpu->r[6] + 0x00000001u;
|
|
/* 027E15A8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[7]);
|
|
/* 027E15AC */ cpu->r[7] = 0x00000064u;
|
|
/* 027E15B0 */ cpu->r[5] = 0x00000080u;
|
|
/* 027E15B4 */ _t19 = cpu->r[10] + 0x00000002u;
|
|
/* 027E15B4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 027E15B8 */ _t20 = cpu->r[12] + 0x000035D8u;
|
|
/* 027E15B8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[5]);
|
|
/* 027E15B8 */ cpu->r[12] = _t20;
|
|
/* 027E15BC */ _t21 = cpu->r[12] + 0x00000001u;
|
|
/* 027E15BC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[5]);
|
|
/* 027E15C0 */ _t22 = cpu->r[12] + 0x00000002u;
|
|
/* 027E15C0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[7]);
|
|
/* 027E15C4 */ _t23 = cpu->r[10] + 0x00000003u;
|
|
/* 027E15C4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 027E15C8 */ _t24 = cpu->r[6] + 0x00000002u;
|
|
/* 027E15C8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 027E15CC */ cpu->r[8] = 0x000000E6u;
|
|
/* 027E15D0 */ _t25 = cpu->r[6] + 0x00000003u;
|
|
/* 027E15D0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 027E15D4 */ _t26 = cpu->r[12] + 0x00000003u;
|
|
/* 027E15D4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[8]);
|
|
/* 027E15D8 */ return;
|
|
}
|
|
|
|
// fn_027E15DC @ 0x27e15dc
|
|
void Gambit_fn_027E15DC(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_027E15DC: ; // 0x27e15dc
|
|
/* 027E15DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E15E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E15E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E15E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E15E0 */ goto L_027E15E4;
|
|
L_027E15E4: ; // 0x27e15e4
|
|
/* 027E15E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E15E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E15E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E15E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E15E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E15E8 */ goto L_027E15EC;
|
|
L_027E15EC: ; // 0x27e15ec
|
|
/* 027E15EC */ 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_027E15F0 @ 0x27e15f0
|
|
void Gambit_fn_027E15F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
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_027E15F4 @ 0x27e15f4
|
|
void Gambit_fn_027E15F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E15F4: ; // 0x27e15f4
|
|
/* 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_027E1650 @ 0x27e1650
|
|
void Gambit_fn_027E1650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
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_027E1654 @ 0x27e1654
|
|
void Gambit_fn_027E1654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E1654: ; // 0x27e1654
|
|
/* 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_027E16B0 @ 0x27e16b0
|
|
void Gambit_fn_027E16B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
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_027E16B4 @ 0x27e16b4
|
|
void Gambit_fn_027E16B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E16B4: ; // 0x27e16b4
|
|
/* 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_027E1710 @ 0x27e1710
|
|
void Gambit_fn_027E1710(CPUState* cpu) {
|
|
L_027E1710: ; // 0x27e1710
|
|
/* 027E1710 */ return;
|
|
}
|
|
|
|
// fn_027E1714 @ 0x27e1714
|
|
void Gambit_fn_027E1714(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_027E1714: ; // 0x27e1714
|
|
/* 027E1714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1718 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1718 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1718 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1718 */ goto L_027E171C;
|
|
L_027E171C: ; // 0x27e171c
|
|
/* 027E171C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E171C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1720 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1720 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1720 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1720 */ goto L_027E1724;
|
|
L_027E1724: ; // 0x27e1724
|
|
/* 027E1724 */ 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_027E1728 @ 0x27e1728
|
|
void Gambit_fn_027E1728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E1728: ; // 0x27e1728
|
|
/* 027E1728 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1728 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E172C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E172C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E1730 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E1734 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E1738 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E1738 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E173C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E173C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E1740 */ return;
|
|
}
|
|
|
|
// fn_027E1744 @ 0x27e1744
|
|
void Gambit_fn_027E1744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E1744: ; // 0x27e1744
|
|
/* 027E1744 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1748 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E1748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1748 */ cpu->r[1] = _t0;
|
|
/* 027E174C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E174C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027E1750 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027E1750 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E1754 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E1754 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027E1758 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027E1758 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 027E175C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 027E175C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027E1760 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E1760 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1764 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 027E1764 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 027E1768 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 027E1768 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027E176C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027E176C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 027E1770 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1770 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E1774 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E1774 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 027E1778 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1778 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027E177C */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 027E177C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027E1780 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1780 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E1780 */ if (_t15) goto L_027E1784; else goto L_027E17A4;
|
|
L_027E1784: ; // 0x27e1784
|
|
/* 027E1784 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 027E1784 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 027E1788 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 027E1788 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 027E178C */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 027E178C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 027E1790 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 027E1790 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 027E1794 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 027E1794 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 027E1798 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 027E1798 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 027E179C */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 027E179C */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 027E17A0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 027E17A0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_027E17A4: ; // 0x27e17a4
|
|
/* 027E17A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E17A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E17A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E17AC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E17AC */ if (_t25) goto L_027E17B0; else goto L_027E17C0;
|
|
L_027E17B0: ; // 0x27e17b0
|
|
/* 027E17B0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 027E17B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E17B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E17BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E17BC */ if (_t27) goto L_027E1884; else goto L_027E17C0;
|
|
L_027E17C0: ; // 0x27e17c0
|
|
/* 027E17C0 */ cpu->r[29] = cpu->r[31];
|
|
/* 027E17C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E17C4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E17C4 */ if (_t29) goto L_027E17C8; else goto L_027E17D8;
|
|
L_027E17C8: ; // 0x27e17c8
|
|
/* 027E17C8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 027E17CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17D0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E17D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E17D4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E17D4 */ if (_t31) goto L_027E1848; else goto L_027E17D8;
|
|
L_027E17D8: ; // 0x27e17d8
|
|
/* 027E17D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E17D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E17DC */ cpu->r[28] = 0x10110000u;
|
|
/* 027E17E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E17E0 */ if (_t33) goto L_027E17E4; else goto L_027E1810;
|
|
L_027E17E4: ; // 0x27e17e4
|
|
/* 027E17E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E17E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E17F0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17F0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E17F0 */ if (_t35) goto L_027E17F4; else goto L_027E1810;
|
|
L_027E17F4: ; // 0x27e17f4
|
|
/* 027E17F4 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E17F8 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 027E17F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 027E17FC */ cpu->r[7] = cpu->r[7] + 0xFFFFF248u;
|
|
/* 027E1800 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 027E1800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E1804 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 027E1804 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 027E1808 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1808 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027E180C */ goto L_027E1848;
|
|
L_027E1810: ; // 0x27e1810
|
|
/* 027E1810 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E1814 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E1818 */ cpu->r[5] = cpu->r[5] + 0xFFFFF230u;
|
|
/* 027E181C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 027E181C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E1820 */ cpu->r[6] = 0x00000080u;
|
|
/* 027E1824 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1824 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 027E1828 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 027E1828 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 027E182C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 027E182C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E1830 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E1834 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 027E1834 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E1838 */ cpu->r[7] = cpu->r[7] + 0xFFFFF248u;
|
|
/* 027E183C */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 027E183C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 027E1840 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 027E1840 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 027E1844 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1844 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_027E1848: ; // 0x27e1848
|
|
/* 027E1848 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E184C */ cpu->r[12] = 0x00000002u;
|
|
/* 027E1850 */ cpu->r[9] = cpu->r[9] + 0xFFFFF2A8u;
|
|
/* 027E1854 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 027E1858 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027E1858 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 027E185C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1860 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1860 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027E1864 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E1868 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1868 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 027E186C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1870 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1874 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 027E1874 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 027E1878 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E187C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027E187C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 027E1880 */ Gambit_fn_0282A5DC(cpu);
|
|
L_027E1884: ; // 0x27e1884
|
|
/* 027E1884 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 027E1884 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E1888 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E1888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E188C */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E188C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E1890 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1894 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 027E1894 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E1898 */ cpu->lr = cpu->r[0];
|
|
/* 027E189C */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 027E189C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E18A0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E18A4 */ return;
|
|
}
|
|
|
|
// fn_027E1748 @ 0x27e1748
|
|
void Gambit_fn_027E1748(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E1748: ; // 0x27e1748
|
|
/* 027E1748 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E1748 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1748 */ cpu->r[1] = _t0;
|
|
/* 027E174C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E174C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027E1750 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027E1750 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E1754 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E1754 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027E1758 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027E1758 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 027E175C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 027E175C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027E1760 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E1760 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E1764 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 027E1764 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 027E1768 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 027E1768 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027E176C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027E176C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 027E1770 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1770 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E1774 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E1774 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 027E1778 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1778 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027E177C */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 027E177C */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027E1780 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E1780 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E1780 */ if (_t15) goto L_027E1784; else goto L_027E17A4;
|
|
L_027E1784: ; // 0x27e1784
|
|
/* 027E1784 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 027E1784 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 027E1788 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 027E1788 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 027E178C */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 027E178C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 027E1790 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 027E1790 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 027E1794 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 027E1794 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 027E1798 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 027E1798 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 027E179C */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 027E179C */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 027E17A0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 027E17A0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_027E17A4: ; // 0x27e17a4
|
|
/* 027E17A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E17A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E17A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E17AC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E17AC */ if (_t25) goto L_027E17B0; else goto L_027E17C0;
|
|
L_027E17B0: ; // 0x27e17b0
|
|
/* 027E17B0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 027E17B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E17B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E17BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E17BC */ if (_t27) goto L_027E1884; else goto L_027E17C0;
|
|
L_027E17C0: ; // 0x27e17c0
|
|
/* 027E17C0 */ cpu->r[29] = cpu->r[31];
|
|
/* 027E17C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E17C4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E17C4 */ if (_t29) goto L_027E17C8; else goto L_027E17D8;
|
|
L_027E17C8: ; // 0x27e17c8
|
|
/* 027E17C8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 027E17CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17D0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E17D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E17D4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E17D4 */ if (_t31) goto L_027E1848; else goto L_027E17D8;
|
|
L_027E17D8: ; // 0x27e17d8
|
|
/* 027E17D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E17D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E17DC */ cpu->r[28] = 0x10110000u;
|
|
/* 027E17E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E17E0 */ if (_t33) goto L_027E17E4; else goto L_027E1810;
|
|
L_027E17E4: ; // 0x27e17e4
|
|
/* 027E17E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E17E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E17EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E17F0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E17F0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E17F0 */ if (_t35) goto L_027E17F4; else goto L_027E1810;
|
|
L_027E17F4: ; // 0x27e17f4
|
|
/* 027E17F4 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E17F8 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 027E17F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 027E17FC */ cpu->r[7] = cpu->r[7] + 0xFFFFF248u;
|
|
/* 027E1800 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 027E1800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E1804 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 027E1804 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 027E1808 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1808 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027E180C */ goto L_027E1848;
|
|
L_027E1810: ; // 0x27e1810
|
|
/* 027E1810 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E1814 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E1818 */ cpu->r[5] = cpu->r[5] + 0xFFFFF230u;
|
|
/* 027E181C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 027E181C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E1820 */ cpu->r[6] = 0x00000080u;
|
|
/* 027E1824 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1824 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 027E1828 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 027E1828 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 027E182C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 027E182C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E1830 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E1834 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 027E1834 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E1838 */ cpu->r[7] = cpu->r[7] + 0xFFFFF248u;
|
|
/* 027E183C */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 027E183C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 027E1840 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 027E1840 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 027E1844 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1844 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_027E1848: ; // 0x27e1848
|
|
/* 027E1848 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E184C */ cpu->r[12] = 0x00000002u;
|
|
/* 027E1850 */ cpu->r[9] = cpu->r[9] + 0xFFFFF2A8u;
|
|
/* 027E1854 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 027E1858 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027E1858 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 027E185C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1860 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1860 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027E1864 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E1868 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E1868 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 027E186C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1870 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1874 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 027E1874 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 027E1878 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E187C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027E187C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 027E1880 */ Gambit_fn_0282A5DC(cpu);
|
|
L_027E1884: ; // 0x27e1884
|
|
/* 027E1884 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 027E1884 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E1888 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E1888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E188C */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E188C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E1890 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1894 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 027E1894 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E1898 */ cpu->lr = cpu->r[0];
|
|
/* 027E189C */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 027E189C */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E18A0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E18A4 */ return;
|
|
}
|
|
|
|
// fn_027E18A8 @ 0x27e18a8
|
|
void Gambit_fn_027E18A8(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_027E18A8: ; // 0x27e18a8
|
|
/* 027E18A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E18AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E18AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18AC */ goto L_027E18B0;
|
|
L_027E18B0: ; // 0x27e18b0
|
|
/* 027E18B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E18B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E18B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E18B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18B4 */ goto L_027E18B8;
|
|
L_027E18B8: ; // 0x27e18b8
|
|
/* 027E18B8 */ 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_027E18BC @ 0x27e18bc
|
|
void Gambit_fn_027E18BC(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_027E18BC: ; // 0x27e18bc
|
|
/* 027E18BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E18C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E18C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18C0 */ goto L_027E18C4;
|
|
L_027E18C4: ; // 0x27e18c4
|
|
/* 027E18C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E18C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E18C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E18C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18C8 */ goto L_027E18CC;
|
|
L_027E18CC: ; // 0x27e18cc
|
|
/* 027E18CC */ 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_027E18D0 @ 0x27e18d0
|
|
void Gambit_fn_027E18D0(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_027E18D0: ; // 0x27e18d0
|
|
/* 027E18D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E18D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E18D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18D4 */ goto L_027E18D8;
|
|
L_027E18D8: ; // 0x27e18d8
|
|
/* 027E18D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E18D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E18DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E18DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18DC */ goto L_027E18E0;
|
|
L_027E18E0: ; // 0x27e18e0
|
|
/* 027E18E0 */ 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_027E18E4 @ 0x27e18e4
|
|
void Gambit_fn_027E18E4(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_027E18E4: ; // 0x27e18e4
|
|
/* 027E18E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E18E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E18E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18E8 */ goto L_027E18EC;
|
|
L_027E18EC: ; // 0x27e18ec
|
|
/* 027E18EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E18EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E18F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E18F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E18F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E18F0 */ goto L_027E18F4;
|
|
L_027E18F4: ; // 0x27e18f4
|
|
/* 027E18F4 */ 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_027E18F8 @ 0x27e18f8
|
|
void Gambit_fn_027E18F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027E18F8: ; // 0x27e18f8
|
|
/* 027E18F8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E18FC */ _t0 = cpu->r[12] + 0xFFFFF2C0u;
|
|
/* 027E18FC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E1900 */ return;
|
|
}
|
|
|
|
// fn_027E1904 @ 0x27e1904
|
|
void Gambit_fn_027E1904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E1904: ; // 0x27e1904
|
|
/* 027E1904 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1908 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E190C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E190C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E190C */ cpu->r[1] = _t0;
|
|
/* 027E1910 */ _t1 = cpu->r[11] + 0xFFFFF2E8u;
|
|
/* 027E1910 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 027E1914 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1914 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 027E1918 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1918 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E191C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E191C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E1920 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E1924 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1924 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1928 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1928 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027E192C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E192C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 027E1930 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1930 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027E1934 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 027E1938 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E193C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 027E1940 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E1944 */ cpu->f[1] = (double)(float)cpu->f[12];
|
|
/* 027E1948 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E194C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E1950 */ cpu->f[2] = (double)(float)cpu->f[13];
|
|
/* 027E1954 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E1958 */ cpu->r[6] = 0x00000002u;
|
|
/* 027E195C */ cpu->r[8] = 0x00000003u;
|
|
/* 027E1960 */ Gambit_fn_027E0F60(cpu);
|
|
/* 027E1964 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1968 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E196C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E1970 */ _t9 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E1970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1974 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E1978 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E197C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1980 */ cpu->lr = cpu->r[0];
|
|
/* 027E1984 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E198C */ return;
|
|
}
|
|
|
|
// fn_027E190C @ 0x27e190c
|
|
void Gambit_fn_027E190C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E190C: ; // 0x27e190c
|
|
/* 027E190C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E190C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E190C */ cpu->r[1] = _t0;
|
|
/* 027E1910 */ _t1 = cpu->r[11] + 0xFFFFF2E8u;
|
|
/* 027E1910 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 027E1914 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1914 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 027E1918 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1918 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E191C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E191C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E1920 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E1924 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1924 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1928 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1928 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027E192C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E192C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 027E1930 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1930 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027E1934 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 027E1938 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E193C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 027E1940 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E1944 */ cpu->f[1] = (double)(float)cpu->f[12];
|
|
/* 027E1948 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E194C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E1950 */ cpu->f[2] = (double)(float)cpu->f[13];
|
|
/* 027E1954 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E1958 */ cpu->r[6] = 0x00000002u;
|
|
/* 027E195C */ cpu->r[8] = 0x00000003u;
|
|
/* 027E1960 */ Gambit_fn_027E0F60(cpu);
|
|
/* 027E1964 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1968 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E196C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E1970 */ _t9 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E1970 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1974 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E1978 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E197C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1980 */ cpu->lr = cpu->r[0];
|
|
/* 027E1984 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E198C */ return;
|
|
}
|
|
|
|
// fn_027E1990 @ 0x27e1990
|
|
void Gambit_fn_027E1990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E1990: ; // 0x27e1990
|
|
/* 027E1990 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1994 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E1998 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1998 */ cpu->r[1] = _t0;
|
|
/* 027E199C */ _t1 = cpu->r[9] + 0xFFFFF2D0u;
|
|
/* 027E199C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 027E19A0 */ cpu->r[11] = 0x43300000u;
|
|
/* 027E19A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E19A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E19A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E19AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E19AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E19B0 */ cpu->r[0] = cpu->r[6] ^ 0x80000000u;
|
|
/* 027E19B4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u;
|
|
/* 027E19B8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E19B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E19BC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19BC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027E19C0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E19C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027E19C4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19C4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027E19C8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 027E19CC */ cpu->r[7] = cpu->r[5];
|
|
/* 027E19D0 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 027E19D4 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E19D8 */ cpu->f[1] = (double)(float)cpu->f[12];
|
|
/* 027E19DC */ cpu->r[6] = 0x00000005u;
|
|
/* 027E19E0 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E19E4 */ cpu->f[2] = (double)(float)cpu->f[13];
|
|
/* 027E19E8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E19EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E19F0 */ cpu->r[8] = 0x00000003u;
|
|
/* 027E19F4 */ Gambit_fn_027E0F60(cpu);
|
|
/* 027E19F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E19FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E1A00 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E1A04 */ _t9 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E1A04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1A08 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E1A0C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1A10 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1A14 */ cpu->lr = cpu->r[0];
|
|
/* 027E1A18 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1A18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1A1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1A20 */ return;
|
|
}
|
|
|
|
// fn_027E1998 @ 0x27e1998
|
|
void Gambit_fn_027E1998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E1998: ; // 0x27e1998
|
|
/* 027E1998 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E1998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1998 */ cpu->r[1] = _t0;
|
|
/* 027E199C */ _t1 = cpu->r[9] + 0xFFFFF2D0u;
|
|
/* 027E199C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 027E19A0 */ cpu->r[11] = 0x43300000u;
|
|
/* 027E19A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E19A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E19A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E19AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E19AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E19B0 */ cpu->r[0] = cpu->r[6] ^ 0x80000000u;
|
|
/* 027E19B4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u;
|
|
/* 027E19B8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E19B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E19BC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19BC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027E19C0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E19C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027E19C4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027E19C4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027E19C8 */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 027E19CC */ cpu->r[7] = cpu->r[5];
|
|
/* 027E19D0 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 027E19D4 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E19D8 */ cpu->f[1] = (double)(float)cpu->f[12];
|
|
/* 027E19DC */ cpu->r[6] = 0x00000005u;
|
|
/* 027E19E0 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E19E4 */ cpu->f[2] = (double)(float)cpu->f[13];
|
|
/* 027E19E8 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E19EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E19F0 */ cpu->r[8] = 0x00000003u;
|
|
/* 027E19F4 */ Gambit_fn_027E0F60(cpu);
|
|
/* 027E19F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E19FC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E1A00 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E1A04 */ _t9 = cpu->r[3] + 0xFFFF9770u;
|
|
/* 027E1A04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1A08 */ Gambit_fn_027E0D18(cpu);
|
|
/* 027E1A0C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E1A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1A10 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1A14 */ cpu->lr = cpu->r[0];
|
|
/* 027E1A18 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1A18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E1A1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E1A20 */ return;
|
|
}
|
|
|
|
// fn_027E1A24 @ 0x27e1a24
|
|
void Gambit_fn_027E1A24(CPUState* cpu) {
|
|
uint32_t _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_027E1A24: ; // 0x27e1a24
|
|
/* 027E1A24 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1A28 */ _t0 = cpu->r[12] + 0xFFFFF5A4u;
|
|
/* 027E1A28 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E1A2C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1A30 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E1A34 */ _t1 = cpu->r[12] + 0xFFFFF5A8u;
|
|
/* 027E1A34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E1A38 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E1A3C */ _t2 = cpu->r[11] + 0xFFFFF5ACu;
|
|
/* 027E1A3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E1A40 */ _t3 = cpu->r[12] + 0x000035ECu;
|
|
/* 027E1A40 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 027E1A40 */ cpu->r[12] = _t3;
|
|
/* 027E1A44 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 027E1A44 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 027E1A48 */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 027E1A48 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 027E1A4C */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E1A4C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 027E1A50 */ _t7 = cpu->r[12] + 0x00000010u;
|
|
/* 027E1A50 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027E1A54 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 027E1A54 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027E1A58 */ _t9 = cpu->r[12] + 0x00000018u;
|
|
/* 027E1A58 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027E1A5C */ _t10 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027E1A5C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E1A60 */ _t11 = cpu->r[12] + 0x00000020u;
|
|
/* 027E1A60 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 027E1A64 */ _t12 = cpu->r[12] + 0x00000024u;
|
|
/* 027E1A64 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 027E1A68 */ _t13 = cpu->r[12] + 0x00000028u;
|
|
/* 027E1A68 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 027E1A6C */ _t14 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027E1A6C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 027E1A70 */ _t15 = cpu->r[12] + 0x00000030u;
|
|
/* 027E1A70 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 027E1A74 */ _t16 = cpu->r[12] + 0x00000034u;
|
|
/* 027E1A74 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 027E1A78 */ _t17 = cpu->r[12] + 0x00000038u;
|
|
/* 027E1A78 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 027E1A7C */ _t18 = cpu->r[12] + 0x0000003Cu;
|
|
/* 027E1A7C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 027E1A80 */ _t19 = cpu->r[12] + 0x00000040u;
|
|
/* 027E1A80 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027E1A84 */ _t20 = cpu->r[12] + 0x00000044u;
|
|
/* 027E1A84 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 027E1A88 */ _t21 = cpu->r[12] + 0x00000048u;
|
|
/* 027E1A88 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027E1A8C */ _t22 = cpu->r[12] + 0x0000004Cu;
|
|
/* 027E1A8C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 027E1A90 */ _t23 = cpu->r[12] + 0x00000050u;
|
|
/* 027E1A90 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 027E1A94 */ return;
|
|
}
|
|
|
|
// fn_027E1A98 @ 0x27e1a98
|
|
void Gambit_fn_027E1A98(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_027E1A98: ; // 0x27e1a98
|
|
/* 027E1A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1A9C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1A9C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1A9C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1A9C */ goto L_027E1AA0;
|
|
L_027E1AA0: ; // 0x27e1aa0
|
|
/* 027E1AA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1AA4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1AA4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1AA4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1AA4 */ goto L_027E1AA8;
|
|
L_027E1AA8: ; // 0x27e1aa8
|
|
/* 027E1AA8 */ 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_027E1AAC @ 0x27e1aac
|
|
void Gambit_fn_027E1AAC(CPUState* cpu) {
|
|
L_027E1AAC: ; // 0x27e1aac
|
|
/* 027E1AAC */ return;
|
|
}
|
|
|
|
// fn_027E1AB0 @ 0x27e1ab0
|
|
void Gambit_fn_027E1AB0(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_027E1AB0: ; // 0x27e1ab0
|
|
/* 027E1AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1AB4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1AB4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1AB4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1AB4 */ goto L_027E1AB8;
|
|
L_027E1AB8: ; // 0x27e1ab8
|
|
/* 027E1AB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1ABC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1ABC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1ABC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1ABC */ goto L_027E1AC0;
|
|
L_027E1AC0: ; // 0x27e1ac0
|
|
/* 027E1AC0 */ 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_027E1AC4 @ 0x27e1ac4
|
|
void Gambit_fn_027E1AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E1AC4: ; // 0x27e1ac4
|
|
/* 027E1AC4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1AC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E1AC8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E1AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E1ACC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E1AD0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E1AD4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E1AD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E1AD8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E1AD8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E1ADC */ return;
|
|
}
|
|
|
|
// fn_027E1AE0 @ 0x27e1ae0
|
|
void Gambit_fn_027E1AE0(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_027E1AE0: ; // 0x27e1ae0
|
|
/* 027E1AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1AE4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1AE4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1AE4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1AE4 */ goto L_027E1AE8;
|
|
L_027E1AE8: ; // 0x27e1ae8
|
|
/* 027E1AE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1AEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1AEC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1AEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1AEC */ goto L_027E1AF0;
|
|
L_027E1AF0: ; // 0x27e1af0
|
|
/* 027E1AF0 */ 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_027E1AF4 @ 0x27e1af4
|
|
void Gambit_fn_027E1AF4(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_027E1AF4: ; // 0x27e1af4
|
|
/* 027E1AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1AF8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1AF8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1AF8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1AF8 */ goto L_027E1AFC;
|
|
L_027E1AFC: ; // 0x27e1afc
|
|
/* 027E1AFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B00 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B00 */ goto L_027E1B04;
|
|
L_027E1B04: ; // 0x27e1b04
|
|
/* 027E1B04 */ 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_027E1B08 @ 0x27e1b08
|
|
void Gambit_fn_027E1B08(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_027E1B08: ; // 0x27e1b08
|
|
/* 027E1B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1B0C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B0C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1B0C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B0C */ goto L_027E1B10;
|
|
L_027E1B10: ; // 0x27e1b10
|
|
/* 027E1B10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B14 */ goto L_027E1B18;
|
|
L_027E1B18: ; // 0x27e1b18
|
|
/* 027E1B18 */ 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_027E1B1C @ 0x27e1b1c
|
|
void Gambit_fn_027E1B1C(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_027E1B1C: ; // 0x27e1b1c
|
|
/* 027E1B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1B20 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B20 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1B20 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B20 */ goto L_027E1B24;
|
|
L_027E1B24: ; // 0x27e1b24
|
|
/* 027E1B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B28 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B28 */ goto L_027E1B2C;
|
|
L_027E1B2C: ; // 0x27e1b2c
|
|
/* 027E1B2C */ 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_027E1B30 @ 0x27e1b30
|
|
void Gambit_fn_027E1B30(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_027E1B30: ; // 0x27e1b30
|
|
/* 027E1B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1B34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1B34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B34 */ goto L_027E1B38;
|
|
L_027E1B38: ; // 0x27e1b38
|
|
/* 027E1B38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1B38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B3C */ goto L_027E1B40;
|
|
L_027E1B40: ; // 0x27e1b40
|
|
/* 027E1B40 */ 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_027E1B44 @ 0x27e1b44
|
|
void Gambit_fn_027E1B44(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_027E1B44: ; // 0x27e1b44
|
|
/* 027E1B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1B48 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B48 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1B48 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B48 */ goto L_027E1B4C;
|
|
L_027E1B4C: ; // 0x27e1b4c
|
|
/* 027E1B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B50 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B50 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B50 */ goto L_027E1B54;
|
|
L_027E1B54: ; // 0x27e1b54
|
|
/* 027E1B54 */ 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_027E1B58 @ 0x27e1b58
|
|
void Gambit_fn_027E1B58(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_027E1B58: ; // 0x27e1b58
|
|
/* 027E1B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1B5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1B5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B5C */ goto L_027E1B60;
|
|
L_027E1B60: ; // 0x27e1b60
|
|
/* 027E1B60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1B64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1B64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1B64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1B64 */ goto L_027E1B68;
|
|
L_027E1B68: ; // 0x27e1b68
|
|
/* 027E1B68 */ 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_027E1B6C @ 0x27e1b6c
|
|
void Gambit_fn_027E1B6C(CPUState* cpu) {
|
|
L_027E1B6C: ; // 0x27e1b6c
|
|
/* 027E1B6C */ return;
|
|
}
|
|
|
|
// fn_027E1B70 @ 0x27e1b70
|
|
void Gambit_fn_027E1B70(CPUState* cpu) {
|
|
L_027E1B70: ; // 0x27e1b70
|
|
/* 027E1B70 */ return;
|
|
}
|
|
|
|
// fn_027E1B74 @ 0x27e1b74
|
|
void Gambit_fn_027E1B74(CPUState* cpu) {
|
|
L_027E1B74: ; // 0x27e1b74
|
|
/* 027E1B74 */ return;
|
|
}
|
|
|
|
// fn_027E1B78 @ 0x27e1b78
|
|
void Gambit_fn_027E1B78(CPUState* cpu) {
|
|
L_027E1B78: ; // 0x27e1b78
|
|
/* 027E1B78 */ return;
|
|
}
|
|
|
|
// fn_027E1B7C @ 0x27e1b7c
|
|
void Gambit_fn_027E1B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E1B7C: ; // 0x27e1b7c
|
|
/* 027E1B7C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E1B80 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E1B84 */ cpu->r[11] = cpu->r[11] + 0xFFFFF5B0u;
|
|
/* 027E1B88 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1B8C */ cpu->r[12] = cpu->r[12] + 0x00003640u;
|
|
/* 027E1B90 */ cpu->r[0] = cpu->r[0] + 0xFFFFF5CCu;
|
|
/* 027E1B94 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027E1B94 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 027E1B98 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E1B9C */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 027E1B9C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E1BA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E1BA4 */ cpu->r[11] = cpu->r[11] + 0x00003648u;
|
|
/* 027E1BA8 */ _t2 = cpu->r[11] + 0x00000000u;
|
|
/* 027E1BA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E1BAC */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 027E1BAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E1BB0 */ return;
|
|
}
|
|
|
|
// fn_027E1BB4 @ 0x27e1bb4
|
|
void Gambit_fn_027E1BB4(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_027E1BB4: ; // 0x27e1bb4
|
|
/* 027E1BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1BB8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1BB8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E1BB8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1BB8 */ goto L_027E1BBC;
|
|
L_027E1BBC: ; // 0x27e1bbc
|
|
/* 027E1BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E1BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1BC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1BC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1BC0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E1BC0 */ goto L_027E1BC4;
|
|
L_027E1BC4: ; // 0x27e1bc4
|
|
/* 027E1BC4 */ 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_027E1BC8 @ 0x27e1bc8
|
|
void Gambit_fn_027E1BC8(CPUState* cpu) {
|
|
L_027E1BC8: ; // 0x27e1bc8
|
|
/* 027E1BC8 */ return;
|
|
}
|
|
|
|
// fn_027E1BCC @ 0x27e1bcc
|
|
void Gambit_fn_027E1BCC(CPUState* cpu) {
|
|
L_027E1BCC: ; // 0x27e1bcc
|
|
/* 027E1BCC */ cpu->r[3] = 0x10110000u;
|
|
/* 027E1BD0 */ cpu->r[3] = cpu->r[3] + 0xFFFFF5D0u;
|
|
/* 027E1BD4 */ return;
|
|
}
|
|
|
|
// fn_027E1BD8 @ 0x27e1bd8
|
|
void Gambit_fn_027E1BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027E1BD8: ; // 0x27e1bd8
|
|
/* 027E1BD8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1BDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E1BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1BDC */ cpu->r[1] = _t0;
|
|
/* 027E1BE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1BE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1BE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1BEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1BEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E1BF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1BF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E1BF0 */ if (_t5) goto L_027E1BF4; else goto L_027E1C04;
|
|
L_027E1BF4: ; // 0x27e1bf4
|
|
/* 027E1BF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E1BF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1BFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1C00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E1C00 */ if (_t7) goto L_027E1C40; else goto L_027E1C04;
|
|
L_027E1C04: ; // 0x27e1c04
|
|
/* 027E1C04 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1C08 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1C0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1C0C */ if (_t9) goto L_027E1C10; else goto L_027E1C20;
|
|
L_027E1C10: ; // 0x27e1c10
|
|
/* 027E1C10 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E1C14 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1C1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C1C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1C1C */ if (_t11) goto L_027E1C30; else goto L_027E1C20;
|
|
L_027E1C20: ; // 0x27e1c20
|
|
/* 027E1C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1C24 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1C24 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E1C28 */ cpu->r[12] = cpu->r[12] + 0xFFFFF5F0u;
|
|
/* 027E1C2C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1C2C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027E1C30: ; // 0x27e1c30
|
|
/* 027E1C30 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1C34 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1C34 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027E1C38 */ cpu->r[0] = cpu->r[0] + 0xFFFFF600u;
|
|
/* 027E1C3C */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 027E1C3C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_027E1C40: ; // 0x27e1c40
|
|
/* 027E1C40 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E1C44 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1C48 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E1C4C */ cpu->lr = cpu->r[0];
|
|
/* 027E1C50 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E1C54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1C58 */ return;
|
|
}
|
|
|
|
// fn_027E1BDC @ 0x27e1bdc
|
|
void Gambit_fn_027E1BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027E1BDC: ; // 0x27e1bdc
|
|
/* 027E1BDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E1BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1BDC */ cpu->r[1] = _t0;
|
|
/* 027E1BE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E1BE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E1BE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1BEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1BEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E1BF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1BF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E1BF0 */ if (_t5) goto L_027E1BF4; else goto L_027E1C04;
|
|
L_027E1BF4: ; // 0x27e1bf4
|
|
/* 027E1BF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E1BF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1BFC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1C00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E1C00 */ if (_t7) goto L_027E1C40; else goto L_027E1C04;
|
|
L_027E1C04: ; // 0x27e1c04
|
|
/* 027E1C04 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1C08 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1C0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1C0C */ if (_t9) goto L_027E1C10; else goto L_027E1C20;
|
|
L_027E1C10: ; // 0x27e1c10
|
|
/* 027E1C10 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E1C14 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1C1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1C1C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1C1C */ if (_t11) goto L_027E1C30; else goto L_027E1C20;
|
|
L_027E1C20: ; // 0x27e1c20
|
|
/* 027E1C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1C24 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1C24 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E1C28 */ cpu->r[12] = cpu->r[12] + 0xFFFFF5F0u;
|
|
/* 027E1C2C */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1C2C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027E1C30: ; // 0x27e1c30
|
|
/* 027E1C30 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1C34 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1C34 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027E1C38 */ cpu->r[0] = cpu->r[0] + 0xFFFFF600u;
|
|
/* 027E1C3C */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 027E1C3C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_027E1C40: ; // 0x27e1c40
|
|
/* 027E1C40 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027E1C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E1C44 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1C48 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E1C4C */ cpu->lr = cpu->r[0];
|
|
/* 027E1C50 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E1C54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1C58 */ return;
|
|
}
|
|
|
|
// fn_027E1C5C @ 0x27e1c5c
|
|
void Gambit_fn_027E1C5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E1C5C: ; // 0x27e1c5c
|
|
/* 027E1C5C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1C60 */ _t0 = cpu->r[12] + 0xFFFFF5ECu;
|
|
/* 027E1C60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E1C64 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1C68 */ _t1 = cpu->r[12] + 0xFFFFF610u;
|
|
/* 027E1C68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E1C6C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E1C70 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E1C74 */ _t2 = cpu->r[12] + 0xFFFFF614u;
|
|
/* 027E1C74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E1C78 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E1C7C */ _t3 = cpu->r[11] + 0x00003650u;
|
|
/* 027E1C7C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
|
|
/* 027E1C7C */ cpu->r[11] = _t3;
|
|
/* 027E1C80 */ cpu->r[12] = cpu->r[12] + 0x00003660u;
|
|
/* 027E1C84 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 027E1C84 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 027E1C88 */ _t5 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E1C88 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 027E1C8C */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 027E1C8C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 027E1C90 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 027E1C90 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027E1C94 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027E1C94 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 027E1C98 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 027E1C98 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 027E1C9C */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 027E1C9C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027E1CA0 */ return;
|
|
}
|
|
|
|
// fn_027E1CA4 @ 0x27e1ca4
|
|
void Gambit_fn_027E1CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_027E1CA4: ; // 0x27e1ca4
|
|
/* 027E1CA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E1CA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1CA4 */ cpu->r[1] = _t0;
|
|
/* 027E1CA8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1CAC */ /* nop */
|
|
/* 027E1CB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1CB4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E1CB8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027E1CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E1CBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E1CBC */ if (_t3) goto L_027E1CC0; else goto L_027E1CD0;
|
|
L_027E1CC0: ; // 0x27e1cc0
|
|
/* 027E1CC0 */ cpu->r[3] = 0x00000190u;
|
|
/* 027E1CC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1CC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E1CCC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E1CCC */ if (_t5) goto L_027E1DF0; else goto L_027E1CD0;
|
|
L_027E1CD0: ; // 0x27e1cd0
|
|
/* 027E1CD0 */ cpu->r[27] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027E1CD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E1CD4 */ if (_t7) goto L_027E1CD8; else goto L_027E1CE8;
|
|
L_027E1CD8: ; // 0x27e1cd8
|
|
/* 027E1CD8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E1CDC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1CE0 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E1CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027E1CE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E1CE4 */ if (_t9) goto L_027E1D7C; else goto L_027E1CE8;
|
|
L_027E1CE8: ; // 0x27e1ce8
|
|
/* 027E1CE8 */ cpu->r[28] = cpu->r[27];
|
|
/* 027E1CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E1CEC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CEC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1CEC */ if (_t11) goto L_027E1CF0; else goto L_027E1D00;
|
|
L_027E1CF0: ; // 0x27e1cf0
|
|
/* 027E1CF0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E1CF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1CF8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E1CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E1CFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1CFC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E1CFC */ if (_t13) goto L_027E1D70; else goto L_027E1D00;
|
|
L_027E1D00: ; // 0x27e1d00
|
|
/* 027E1D00 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1D04 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E1D08 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1D08 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E1D08 */ if (_t15) goto L_027E1D0C; else goto L_027E1D38;
|
|
L_027E1D0C: ; // 0x27e1d0c
|
|
/* 027E1D0C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E1D10 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1D18 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1D18 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E1D18 */ if (_t17) goto L_027E1D1C; else goto L_027E1D38;
|
|
L_027E1D1C: ; // 0x27e1d1c
|
|
/* 027E1D1C */ cpu->r[7] = 0x10110000u;
|
|
/* 027E1D20 */ _t18 = cpu->r[29] + 0x00007399u;
|
|
/* 027E1D20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 027E1D24 */ cpu->r[7] = cpu->r[7] + 0xFFFFF648u;
|
|
/* 027E1D28 */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 027E1D28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E1D2C */ _t20 = cpu->r[28] + 0x00000004u;
|
|
/* 027E1D2C */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 027E1D30 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1D30 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 027E1D34 */ goto L_027E1D70;
|
|
L_027E1D38: ; // 0x27e1d38
|
|
/* 027E1D38 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1D3C */ cpu->r[12] = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E1D40 */ cpu->r[0] = cpu->r[0] + 0xFFFFF630u;
|
|
/* 027E1D44 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1D44 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 027E1D48 */ cpu->r[6] = 0x00000100u;
|
|
/* 027E1D4C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1D4C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027E1D50 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 027E1D50 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 027E1D54 */ _t25 = cpu->r[29] + 0x00007399u;
|
|
/* 027E1D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 027E1D58 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E1D5C */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 027E1D5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E1D60 */ cpu->r[7] = cpu->r[7] + 0xFFFFF648u;
|
|
/* 027E1D64 */ _t27 = cpu->r[28] + 0x0000010Bu;
|
|
/* 027E1D64 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 027E1D68 */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 027E1D68 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 027E1D6C */ _t29 = cpu->r[8] + 0x00000000u;
|
|
/* 027E1D6C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_027E1D70: ; // 0x27e1d70
|
|
/* 027E1D70 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1D74 */ cpu->r[0] = cpu->r[0] + 0xFFFFF660u;
|
|
/* 027E1D78 */ _t30 = cpu->r[27] + 0x00000004u;
|
|
/* 027E1D78 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_027E1D7C: ; // 0x27e1d7c
|
|
/* 027E1D7C */ cpu->r[3] = cpu->r[31] + 0x00000118u;
|
|
/* 027E1D80 */ Gambit_fn_02836EBC(cpu);
|
|
/* 027E1D84 */ cpu->r[29] = cpu->r[31] + 0x00000154u;
|
|
/* 027E1D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E1D88 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E1D8C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1D8C */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E1D8C */ if (_t32) goto L_027E1D90; else goto L_027E1DA0;
|
|
L_027E1D90: ; // 0x27e1d90
|
|
/* 027E1D90 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 027E1D94 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1D98 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E1D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E1D9C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1D9C */ _t34 = _t33 & 0x00000001u;
|
|
/* 027E1D9C */ if (_t34) goto L_027E1DE4; else goto L_027E1DA0;
|
|
L_027E1DA0: ; // 0x27e1da0
|
|
/* 027E1DA0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E1DA4 */ Gambit_fn_02821D00(cpu);
|
|
/* 027E1DA8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1DAC */ cpu->r[0] = cpu->r[0] + 0xFFFFF698u;
|
|
/* 027E1DB0 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 027E1DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1DB4 */ _t35 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E1DB4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 027E1DB8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1DB8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E1DB8 */ if (_t37) goto L_027E1DBC; else goto L_027E1DCC;
|
|
L_027E1DBC: ; // 0x27e1dbc
|
|
/* 027E1DBC */ cpu->r[3] = 0x00000010u;
|
|
/* 027E1DC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E1DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1DC8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1DC8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E1DC8 */ if (_t39) goto L_027E1DDC; else goto L_027E1DCC;
|
|
L_027E1DCC: ; // 0x27e1dcc
|
|
/* 027E1DCC */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 027E1DCC */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 027E1DD0 */ _t41 = cpu->r[3] + 0x00000008u;
|
|
/* 027E1DD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
/* 027E1DD4 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027E1DD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 027E1DD8 */ _t43 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E1DD8 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
L_027E1DDC: ; // 0x27e1ddc
|
|
/* 027E1DDC */ _t44 = cpu->r[29] + 0x00000038u;
|
|
/* 027E1DDC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[28]);
|
|
/* 027E1DE0 */ _t45 = cpu->r[29] + 0x00000020u;
|
|
/* 027E1DE0 */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
L_027E1DE4: ; // 0x27e1de4
|
|
/* 027E1DE4 */ _t46 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1DE4 */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 027E1DE8 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 027E1DE8 */ rbrew_write32(cpu->mem, _t47, cpu->r[28]);
|
|
/* 027E1DEC */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027E1DEC */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
L_027E1DF0: ; // 0x27e1df0
|
|
/* 027E1DF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E1DF4 */ /* nop */
|
|
/* 027E1DF8 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 027E1DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E1DFC */ cpu->lr = cpu->r[0];
|
|
/* 027E1E00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E1E04 */ return;
|
|
}
|
|
|
|
// fn_027E1E08 @ 0x27e1e08
|
|
void Gambit_fn_027E1E08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E1E08: ; // 0x27e1e08
|
|
/* 027E1E08 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1E0C */ cpu->r[5] = cpu->r[4];
|
|
/* 027E1E10 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E1E14 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E1E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E1E18 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E1E1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E1E1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E1E1C */ cpu->r[1] = _t1;
|
|
/* 027E1E20 */ Gambit_fn_027E1CA4(cpu);
|
|
/* 027E1E24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1E28 */ _t2 = cpu->r[12] + 0xFFFF977Cu;
|
|
/* 027E1E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 027E1E2C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E1E30 */ cpu->lr = cpu->r[0];
|
|
/* 027E1E34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1E38 */ return;
|
|
}
|
|
|
|
// fn_027E1E1C @ 0x27e1e1c
|
|
void Gambit_fn_027E1E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E1E1C: ; // 0x27e1e1c
|
|
/* 027E1E1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E1E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1E1C */ cpu->r[1] = _t0;
|
|
/* 027E1E20 */ Gambit_fn_027E1CA4(cpu);
|
|
/* 027E1E24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1E28 */ _t1 = cpu->r[12] + 0xFFFF977Cu;
|
|
/* 027E1E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 027E1E2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E1E30 */ cpu->lr = cpu->r[0];
|
|
/* 027E1E34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1E38 */ return;
|
|
}
|
|
|
|
// fn_027E1E3C @ 0x27e1e3c
|
|
void Gambit_fn_027E1E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_027E1E3C: ; // 0x27e1e3c
|
|
/* 027E1E3C */ cpu->r[0] = cpu->lr;
|
|
/* 027E1E40 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 027E1E40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1E40 */ cpu->r[1] = _t0;
|
|
/* 027E1E44 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 027E1E44 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027E1E48 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 027E1E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E1E4C */ _t3 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1E4C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E1E50 */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1E50 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E1E54 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1E58 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1E58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1E5C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027E1E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E1E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1E64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1E64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E1E64 */ if (_t8) goto L_027E1F5C; else goto L_027E1E68;
|
|
L_027E1E68: ; // 0x27e1e68
|
|
/* 027E1E68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1E6C */ _t9 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 027E1E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1E70 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1E74 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1E78 */ _t10 = cpu->r[12] + 0x00000020u;
|
|
/* 027E1E78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1E7C */ cpu->r[0] = cpu->r[0] + 0xFFFFF678u;
|
|
/* 027E1E80 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1E80 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 027E1E84 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1E88 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1E88 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E1E8C */ cpu->r[4] = 0x00000020u;
|
|
/* 027E1E90 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1E90 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E1E94 */ Gambit_fn_02C89380(cpu);
|
|
/* 027E1E98 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E1E9C */ cpu->r[29] = cpu->r[29] + 0xFFFFF688u;
|
|
/* 027E1EA0 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1EA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 027E1EA4 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 027E1EA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027E1EA8 */ Gambit_fn_027E355C(cpu);
|
|
/* 027E1EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1EB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1EB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E1EB0 */ if (_t17) goto L_027E1F40; else goto L_027E1EB4;
|
|
L_027E1EB4: ; // 0x27e1eb4
|
|
/* 027E1EB4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E1EB8 */ cpu->r[6] = 0x00000002u;
|
|
/* 027E1EBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EC0 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1EC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1EC8 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027E1ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1ED0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1ED0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E1ED0 */ if (_t19) goto L_027E1ED4; else goto L_027E1EF4;
|
|
L_027E1ED4: ; // 0x27e1ed4
|
|
/* 027E1ED4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E1ED8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E1EDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EE0 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1EE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1EE8 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027E1EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1EF0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1EF0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E1EF0 */ if (_t21) goto L_027E1F40; else goto L_027E1EF4;
|
|
L_027E1EF4: ; // 0x27e1ef4
|
|
/* 027E1EF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EF8 */ Gambit_fn_0280DF80(cpu);
|
|
/* 027E1EFC */ cpu->r[4] = cpu->r[3];
|
|
/* 027E1F00 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E1F04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F08 */ Gambit_fn_0280DF00(cpu);
|
|
/* 027E1F0C */ cpu->r[5] = 0x00000000u;
|
|
/* 027E1F10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F14 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F18 */ Gambit_fn_02833A90(cpu);
|
|
/* 027E1F1C */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E1F20 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F24 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 027E1F24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1F28 */ Gambit_fn_028346C8(cpu);
|
|
/* 027E1F2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F30 */ Gambit_fn_0280DE20(cpu);
|
|
/* 027E1F34 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F38 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E1F3C */ Gambit_fn_02833B48(cpu);
|
|
L_027E1F40: ; // 0x27e1f40
|
|
/* 027E1F40 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1F40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E1F44 */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1F44 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 027E1F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1F4C */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1F4C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 027E1F50 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1F50 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E1F50 */ if (_t28) goto L_027E1F5C; else goto L_027E1F54;
|
|
L_027E1F54: ; // 0x27e1f54
|
|
/* 027E1F54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F58 */ Gambit_fn_0280C80C(cpu);
|
|
L_027E1F5C: ; // 0x27e1f5c
|
|
/* 027E1F5C */ _t29 = cpu->r[1] + 0x00000090u;
|
|
/* 027E1F5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E1F60 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 027E1F60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E1F64 */ _t31 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E1F68 */ _t32 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E1F6C */ cpu->lr = cpu->r[0];
|
|
/* 027E1F70 */ _t33 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E1F74 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1F78 */ return;
|
|
}
|
|
|
|
// fn_027E1E40 @ 0x27e1e40
|
|
void Gambit_fn_027E1E40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_027E1E40: ; // 0x27e1e40
|
|
/* 027E1E40 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 027E1E40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1E40 */ cpu->r[1] = _t0;
|
|
/* 027E1E44 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 027E1E44 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027E1E48 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 027E1E48 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E1E4C */ _t3 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1E4C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E1E50 */ _t4 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1E50 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E1E54 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E1E58 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1E58 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E1E5C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027E1E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E1E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1E64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1E64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E1E64 */ if (_t8) goto L_027E1F5C; else goto L_027E1E68;
|
|
L_027E1E68: ; // 0x27e1e68
|
|
/* 027E1E68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E1E6C */ _t9 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 027E1E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E1E70 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E1E74 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E1E78 */ _t10 = cpu->r[12] + 0x00000020u;
|
|
/* 027E1E78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E1E7C */ cpu->r[0] = cpu->r[0] + 0xFFFFF678u;
|
|
/* 027E1E80 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1E80 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 027E1E84 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E1E88 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E1E88 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E1E8C */ cpu->r[4] = 0x00000020u;
|
|
/* 027E1E90 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1E90 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E1E94 */ Gambit_fn_02C89380(cpu);
|
|
/* 027E1E98 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E1E9C */ cpu->r[29] = cpu->r[29] + 0xFFFFF688u;
|
|
/* 027E1EA0 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1EA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 027E1EA4 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 027E1EA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027E1EA8 */ Gambit_fn_027E355C(cpu);
|
|
/* 027E1EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1EB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1EB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E1EB0 */ if (_t17) goto L_027E1F40; else goto L_027E1EB4;
|
|
L_027E1EB4: ; // 0x27e1eb4
|
|
/* 027E1EB4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E1EB8 */ cpu->r[6] = 0x00000002u;
|
|
/* 027E1EBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EC0 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1EC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1EC8 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027E1ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1ED0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1ED0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E1ED0 */ if (_t19) goto L_027E1ED4; else goto L_027E1EF4;
|
|
L_027E1ED4: ; // 0x27e1ed4
|
|
/* 027E1ED4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E1ED8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E1EDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EE0 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E1EE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E1EE8 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 027E1EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1EF0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1EF0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E1EF0 */ if (_t21) goto L_027E1F40; else goto L_027E1EF4;
|
|
L_027E1EF4: ; // 0x27e1ef4
|
|
/* 027E1EF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1EF8 */ Gambit_fn_0280DF80(cpu);
|
|
/* 027E1EFC */ cpu->r[4] = cpu->r[3];
|
|
/* 027E1F00 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E1F04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F08 */ Gambit_fn_0280DF00(cpu);
|
|
/* 027E1F0C */ cpu->r[5] = 0x00000000u;
|
|
/* 027E1F10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F14 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F18 */ Gambit_fn_02833A90(cpu);
|
|
/* 027E1F1C */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1F1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E1F20 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F24 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 027E1F24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E1F28 */ Gambit_fn_028346C8(cpu);
|
|
/* 027E1F2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F30 */ Gambit_fn_0280DE20(cpu);
|
|
/* 027E1F34 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E1F38 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E1F3C */ Gambit_fn_02833B48(cpu);
|
|
L_027E1F40: ; // 0x27e1f40
|
|
/* 027E1F40 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E1F40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E1F44 */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 027E1F44 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 027E1F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E1F4C */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 027E1F4C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 027E1F50 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1F50 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E1F50 */ if (_t28) goto L_027E1F5C; else goto L_027E1F54;
|
|
L_027E1F54: ; // 0x27e1f54
|
|
/* 027E1F54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E1F58 */ Gambit_fn_0280C80C(cpu);
|
|
L_027E1F5C: ; // 0x27e1f5c
|
|
/* 027E1F5C */ _t29 = cpu->r[1] + 0x00000090u;
|
|
/* 027E1F5C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E1F60 */ _t30 = cpu->r[1] + 0x00000094u;
|
|
/* 027E1F60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E1F64 */ _t31 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E1F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E1F68 */ _t32 = cpu->r[1] + 0x00000098u;
|
|
/* 027E1F68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E1F6C */ cpu->lr = cpu->r[0];
|
|
/* 027E1F70 */ _t33 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E1F70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E1F74 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 027E1F78 */ return;
|
|
}
|
|
|
|
// fn_027E1F7C @ 0x27e1f7c
|
|
void Gambit_fn_027E1F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_027E1F7C: ; // 0x27e1f7c
|
|
/* 027E1F7C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E1F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E1F7C */ cpu->r[1] = _t0;
|
|
/* 027E1F80 */ /* nop */
|
|
/* 027E1F84 */ cpu->r[0] = cpu->lr;
|
|
/* 027E1F88 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E1F88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E1F8C */ cpu->r[28] = cpu->r[3];
|
|
/* 027E1F90 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 027E1F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E1F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E1F98 */ cpu->r[26] = cpu->r[4];
|
|
/* 027E1F9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1F9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E1F9C */ if (_t4) goto L_027E20E4; else goto L_027E1FA0;
|
|
L_027E1FA0: ; // 0x27e1fa0
|
|
/* 027E1FA0 */ cpu->r[27] = cpu->r[28] + 0x00000118u;
|
|
/* 027E1FA4 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E1FA8 */ Gambit_fn_02836FFC(cpu);
|
|
/* 027E1FAC */ _t5 = cpu->r[26] + 0x00000004u;
|
|
/* 027E1FAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E1FB0 */ _t6 = cpu->r[6] + 0x00000014u;
|
|
/* 027E1FB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E1FB4 */ cpu->ctr = cpu->r[7];
|
|
/* 027E1FB8 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E1FBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E1FC0 */ _t7 = cpu->r[26] + 0x00000000u;
|
|
/* 027E1FC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E1FC4 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E1FC8 */ _t8 = cpu->r[30] + 0x00007399u;
|
|
/* 027E1FC8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E1FC8 */ cpu->r[30] = _t8;
|
|
/* 027E1FCC */ _t9 = cpu->r[10] + 0x00000000u;
|
|
/* 027E1FCC */ cpu->r[8] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027E1FD0 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E1FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027E1FD8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E1FDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1FDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E1FDC */ if (_t11) goto L_027E2004; else goto L_027E1FE0;
|
|
L_027E1FE0: ; // 0x27e1fe0
|
|
/* 027E1FE0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E1FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 027E1FE8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E1FEC */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E1FEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E1FEC */ if (_t13) goto L_027E2000; else goto L_027E1FF0;
|
|
L_027E1FF0: ; // 0x27e1ff0
|
|
/* 027E1FF0 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 027E1FF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027E1FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027E1FF8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E1FF8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E1FF8 */ if (_t16) goto L_027E1FFC; else goto L_027E1FE0;
|
|
L_027E1FFC: ; // 0x27e1ffc
|
|
/* 027E1FFC */ goto L_027E2004;
|
|
L_027E2000: ; // 0x27e2000
|
|
/* 027E2000 */ cpu->r[29] = 0x00000000u;
|
|
L_027E2004: ; // 0x27e2004
|
|
/* 027E2004 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 027E2004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E2008 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 027E2008 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E200C */ cpu->r[11] = cpu->r[12] + cpu->r[29];
|
|
/* 027E2010 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 027E2014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 027E2018 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E2018 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E2018 */ if (_t20) goto L_027E2024; else goto L_027E201C;
|
|
L_027E201C: ; // 0x27e201c
|
|
/* 027E201C */ cpu->r[3] = cpu->r[28];
|
|
/* 027E2020 */ Gambit_fn_027E1E3C(cpu);
|
|
L_027E2024: ; // 0x27e2024
|
|
/* 027E2024 */ cpu->r[25] = cpu->r[29];
|
|
/* 027E2024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027E2028 */ cpu->r[24] = 0x00000000u;
|
|
/* 027E202C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E202C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E202C */ if (_t22) goto L_027E2030; else goto L_027E20D0;
|
|
L_027E2030: ; // 0x27e2030
|
|
/* 027E2030 */ _t23 = cpu->r[26] + 0x00000004u;
|
|
/* 027E2030 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2034 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 027E2034 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2038 */ cpu->ctr = cpu->r[7];
|
|
/* 027E203C */ cpu->r[3] = cpu->r[26];
|
|
/* 027E2040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2044 */ _t25 = cpu->r[26] + 0x00000000u;
|
|
/* 027E2044 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E2048 */ cpu->r[11] = cpu->r[10];
|
|
/* 027E204C */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027E204C */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 027E2050 */ cpu->r[12] = 0x00000000u;
|
|
/* 027E2054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027E2058 */ cpu->r[6] = 0x00080000u;
|
|
/* 027E205C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E205C */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E205C */ if (_t28) goto L_027E2084; else goto L_027E2060;
|
|
L_027E2060: ; // 0x27e2060
|
|
/* 027E2060 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E2064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 027E2068 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E206C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E206C */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E206C */ if (_t30) goto L_027E2080; else goto L_027E2070;
|
|
L_027E2070: ; // 0x27e2070
|
|
/* 027E2070 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 027E2070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027E2074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E2078 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2078 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E2078 */ if (_t33) goto L_027E207C; else goto L_027E2060;
|
|
L_027E207C: ; // 0x27e207c
|
|
/* 027E207C */ goto L_027E2084;
|
|
L_027E2080: ; // 0x27e2080
|
|
/* 027E2080 */ cpu->r[12] = 0x00000000u;
|
|
L_027E2084: ; // 0x27e2084
|
|
/* 027E2084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[12]);
|
|
/* 027E2088 */ _t34 = cpu->r[28] + 0x00000008u;
|
|
/* 027E2088 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E208C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E208C */ _t36 = _t35 & 0x00000001u;
|
|
/* 027E208C */ if (_t36) goto L_027E2090; else goto L_027E20B0;
|
|
L_027E2090: ; // 0x27e2090
|
|
/* 027E2090 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 027E2090 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 027E2094 */ cpu->r[0] = cpu->r[7] + cpu->r[24];
|
|
/* 027E2098 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 027E2098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E209C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 027E20A0 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 027E20A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027E20A4 */ _t39 = cpu->r[10] + cpu->r[0];
|
|
/* 027E20A4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[8]);
|
|
/* 027E20A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E20A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027E20A8 */ if (_t41) goto L_027E20AC; else goto L_027E2030;
|
|
L_027E20AC: ; // 0x27e20ac
|
|
/* 027E20AC */ goto L_027E20D0;
|
|
L_027E20B0: ; // 0x27e20b0
|
|
/* 027E20B0 */ cpu->r[5] = cpu->r[10] + cpu->r[24];
|
|
/* 027E20B4 */ _t42 = cpu->r[28] + 0x00000000u;
|
|
/* 027E20B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E20B8 */ cpu->r[0] = cpu->r[7] + cpu->r[24];
|
|
/* 027E20BC */ _t43 = cpu->r[5] + 0x00000000u;
|
|
/* 027E20BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E20C0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 027E20C4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 027E20C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027E20C8 */ _t44 = cpu->r[10] + cpu->r[0];
|
|
/* 027E20C8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[8]);
|
|
/* 027E20CC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E20CC */ _t46 = _t45 & 0x00000001u;
|
|
/* 027E20CC */ if (_t46) goto L_027E20D0; else goto L_027E2030;
|
|
L_027E20D0: ; // 0x27e20d0
|
|
/* 027E20D0 */ _t47 = cpu->r[28] + 0x00000008u;
|
|
/* 027E20D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E20D4 */ cpu->r[9] = cpu->r[9] + cpu->r[29];
|
|
/* 027E20D8 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E20DC */ _t48 = cpu->r[28] + 0x00000008u;
|
|
/* 027E20DC */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 027E20E0 */ Gambit_fn_02837030(cpu);
|
|
L_027E20E4: ; // 0x27e20e4
|
|
/* 027E20E4 */ /* nop */
|
|
/* 027E20E8 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E20E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E20EC */ cpu->lr = cpu->r[0];
|
|
/* 027E20F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E20F4 */ return;
|
|
}
|
|
|
|
// fn_027E20F8 @ 0x27e20f8
|
|
void Gambit_fn_027E20F8(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_027E20F8: ; // 0x27e20f8
|
|
/* 027E20F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E20FC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E20FC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E20FC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E20FC */ goto L_027E2100;
|
|
L_027E2100: ; // 0x27e2100
|
|
/* 027E2100 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E2100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2104 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2104 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E2104 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2104 */ goto L_027E2108;
|
|
L_027E2108: ; // 0x27e2108
|
|
/* 027E2108 */ 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_027E210C @ 0x27e210c
|
|
void Gambit_fn_027E210C(CPUState* cpu) {
|
|
L_027E210C: ; // 0x27e210c
|
|
/* 027E210C */ return;
|
|
}
|
|
|
|
// fn_027E2110 @ 0x27e2110
|
|
void Gambit_fn_027E2110(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_027E2110: ; // 0x27e2110
|
|
/* 027E2110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2114 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2114 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E2114 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2114 */ goto L_027E2118;
|
|
L_027E2118: ; // 0x27e2118
|
|
/* 027E2118 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E2118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E211C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E211C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E211C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E211C */ goto L_027E2120;
|
|
L_027E2120: ; // 0x27e2120
|
|
/* 027E2120 */ 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_027E2124 @ 0x27e2124
|
|
void Gambit_fn_027E2124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E2124: ; // 0x27e2124
|
|
/* 027E2124 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E2128 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E2128 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E212C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E2130 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E2134 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E2134 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E2138 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E2138 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E213C */ return;
|
|
}
|
|
|
|
// fn_027E2140 @ 0x27e2140
|
|
void Gambit_fn_027E2140(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_027E2140: ; // 0x27e2140
|
|
/* 027E2140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2144 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2144 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E2144 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2144 */ goto L_027E2148;
|
|
L_027E2148: ; // 0x27e2148
|
|
/* 027E2148 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E2148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E214C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E214C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E214C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E214C */ goto L_027E2150;
|
|
L_027E2150: ; // 0x27e2150
|
|
/* 027E2150 */ 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_027E2154 @ 0x27e2154
|
|
void Gambit_fn_027E2154(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_027E2154: ; // 0x27e2154
|
|
/* 027E2154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2158 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2158 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E2158 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2158 */ goto L_027E215C;
|
|
L_027E215C: ; // 0x27e215c
|
|
/* 027E215C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E215C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2160 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2160 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E2160 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2160 */ goto L_027E2164;
|
|
L_027E2164: ; // 0x27e2164
|
|
/* 027E2164 */ 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_027E2168 @ 0x27e2168
|
|
void Gambit_fn_027E2168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E2168: ; // 0x27e2168
|
|
/* 027E2168 */ cpu->r[0] = cpu->lr;
|
|
/* 027E216C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E216C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E216C */ cpu->r[1] = _t0;
|
|
/* 027E2170 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2170 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2174 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2178 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2178 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E217C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E217C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E2180 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E2180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E2184 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2184 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E2188 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2188 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E218C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E218C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E218C */ if (_t7) goto L_027E21F0; else goto L_027E2190;
|
|
L_027E2190: ; // 0x27e2190
|
|
/* 027E2190 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E2194 */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 027E2194 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E2198 */ cpu->r[10] = cpu->r[10] + 0xFFFFF698u;
|
|
/* 027E219C */ cpu->r[29] = 0x00000000u;
|
|
/* 027E21A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E21A4 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E21A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027E21A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E21A8 */ if (_t11) goto L_027E21D4; else goto L_027E21AC;
|
|
L_027E21AC: ; // 0x27e21ac
|
|
/* 027E21AC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E21AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E21B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E21B4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E21B4 */ if (_t14) goto L_027E21D0; else goto L_027E21B8;
|
|
L_027E21B8: ; // 0x27e21b8
|
|
/* 027E21B8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 027E21BC */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E21BC */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027E21C0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027E21C4 */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 027E21C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E21C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E21CC */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 027E21CC */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_027E21D0: ; // 0x27e21d0
|
|
/* 027E21D0 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 027E21D0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_027E21D4: ; // 0x27e21d4
|
|
/* 027E21D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E21D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E21DC */ Gambit_fn_02821E68(cpu);
|
|
/* 027E21E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E21E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E21E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21E4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E21E4 */ if (_t20) goto L_027E21F0; else goto L_027E21E8;
|
|
L_027E21E8: ; // 0x27e21e8
|
|
/* 027E21E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E21EC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E21F0: ; // 0x27e21f0
|
|
/* 027E21F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E21F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E21F4 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E21F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E21F8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E21F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E21FC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027E21FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2200 */ cpu->lr = cpu->r[0];
|
|
/* 027E2204 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E2208 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E220C */ return;
|
|
}
|
|
|
|
// fn_027E216C @ 0x27e216c
|
|
void Gambit_fn_027E216C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E216C: ; // 0x27e216c
|
|
/* 027E216C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E216C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E216C */ cpu->r[1] = _t0;
|
|
/* 027E2170 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2170 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2174 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2178 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2178 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E217C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E217C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E2180 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E2180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E2184 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2184 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E2188 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2188 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E218C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E218C */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E218C */ if (_t7) goto L_027E21F0; else goto L_027E2190;
|
|
L_027E2190: ; // 0x27e2190
|
|
/* 027E2190 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E2194 */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 027E2194 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E2198 */ cpu->r[10] = cpu->r[10] + 0xFFFFF698u;
|
|
/* 027E219C */ cpu->r[29] = 0x00000000u;
|
|
/* 027E21A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E21A4 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E21A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027E21A8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E21A8 */ if (_t11) goto L_027E21D4; else goto L_027E21AC;
|
|
L_027E21AC: ; // 0x27e21ac
|
|
/* 027E21AC */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E21AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E21B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E21B4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E21B4 */ if (_t14) goto L_027E21D0; else goto L_027E21B8;
|
|
L_027E21B8: ; // 0x27e21b8
|
|
/* 027E21B8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 027E21BC */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E21BC */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 027E21C0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027E21C4 */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 027E21C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E21C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E21CC */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 027E21CC */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_027E21D0: ; // 0x27e21d0
|
|
/* 027E21D0 */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 027E21D0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_027E21D4: ; // 0x27e21d4
|
|
/* 027E21D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E21D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E21DC */ Gambit_fn_02821E68(cpu);
|
|
/* 027E21E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E21E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E21E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E21E4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E21E4 */ if (_t20) goto L_027E21F0; else goto L_027E21E8;
|
|
L_027E21E8: ; // 0x27e21e8
|
|
/* 027E21E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E21EC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E21F0: ; // 0x27e21f0
|
|
/* 027E21F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E21F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E21F4 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E21F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E21F8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E21F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E21FC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027E21FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2200 */ cpu->lr = cpu->r[0];
|
|
/* 027E2204 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E2208 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E220C */ return;
|
|
}
|
|
|
|
// fn_027E2210 @ 0x27e2210
|
|
void Gambit_fn_027E2210(CPUState* 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_027E2210: ; // 0x27e2210
|
|
/* 027E2210 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2214 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E2214 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2214 */ cpu->r[1] = _t0;
|
|
/* 027E2218 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2218 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027E221C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E221C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E2220 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2220 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E2224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2228 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2228 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E222C */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E2230 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2230 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2230 */ if (_t6) goto L_027E225C; else goto L_027E2234;
|
|
L_027E2234: ; // 0x27e2234
|
|
/* 027E2234 */ _t7 = cpu->r[29] + 0xFFFF92F4u;
|
|
/* 027E2234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E2238 */ _t8 = cpu->r[12] + 0x00000154u;
|
|
/* 027E2238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E223C */ Gambit_fn_02A46D60(cpu);
|
|
/* 027E2240 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2244 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E2248 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E224C */ cpu->lr = cpu->r[0];
|
|
/* 027E2250 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E2254 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2258 */ return;
|
|
L_027E225C: ; // 0x27e225c
|
|
/* 027E225C */ cpu->r[31] = 0x00000038u;
|
|
/* 027E2260 */ cpu->r[30] = 0x00000000u;
|
|
L_027E2264: ; // 0x27e2264
|
|
/* 027E2264 */ _t13 = cpu->r[29] + 0xFFFF92F4u;
|
|
/* 027E2264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E2268 */ _t14 = cpu->r[11] + 0x00000154u;
|
|
/* 027E2268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E226C */ cpu->r[4] = cpu->r[30];
|
|
/* 027E2270 */ Gambit_fn_02A46CC0(cpu);
|
|
/* 027E2274 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E2274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2278 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E227C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E227C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E227C */ if (_t16) goto L_027E2280; else goto L_027E2264;
|
|
L_027E2280: ; // 0x27e2280
|
|
/* 027E2280 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E2284 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2288 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E228C */ cpu->lr = cpu->r[0];
|
|
/* 027E2290 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E2294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2298 */ return;
|
|
}
|
|
|
|
// fn_027E2214 @ 0x27e2214
|
|
void Gambit_fn_027E2214(CPUState* 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_027E2214: ; // 0x27e2214
|
|
/* 027E2214 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E2214 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2214 */ cpu->r[1] = _t0;
|
|
/* 027E2218 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2218 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027E221C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E221C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E2220 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2220 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E2224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2228 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2228 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E222C */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E2230 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2230 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2230 */ if (_t6) goto L_027E225C; else goto L_027E2234;
|
|
L_027E2234: ; // 0x27e2234
|
|
/* 027E2234 */ _t7 = cpu->r[29] + 0xFFFF92F4u;
|
|
/* 027E2234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E2238 */ _t8 = cpu->r[12] + 0x00000154u;
|
|
/* 027E2238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E223C */ Gambit_fn_02A46D60(cpu);
|
|
/* 027E2240 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2240 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2244 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E2248 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2248 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E224C */ cpu->lr = cpu->r[0];
|
|
/* 027E2250 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2250 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E2254 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2258 */ return;
|
|
L_027E225C: ; // 0x27e225c
|
|
/* 027E225C */ cpu->r[31] = 0x00000038u;
|
|
/* 027E2260 */ cpu->r[30] = 0x00000000u;
|
|
L_027E2264: ; // 0x27e2264
|
|
/* 027E2264 */ _t13 = cpu->r[29] + 0xFFFF92F4u;
|
|
/* 027E2264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E2268 */ _t14 = cpu->r[11] + 0x00000154u;
|
|
/* 027E2268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E226C */ cpu->r[4] = cpu->r[30];
|
|
/* 027E2270 */ Gambit_fn_02A46CC0(cpu);
|
|
/* 027E2274 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 027E2274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2278 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E227C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E227C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E227C */ if (_t16) goto L_027E2280; else goto L_027E2264;
|
|
L_027E2280: ; // 0x27e2280
|
|
/* 027E2280 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E2284 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2288 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E228C */ cpu->lr = cpu->r[0];
|
|
/* 027E2290 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E2294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2298 */ return;
|
|
}
|
|
|
|
// fn_027E229C @ 0x27e229c
|
|
void Gambit_fn_027E229C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E229C: ; // 0x27e229c
|
|
/* 027E229C */ cpu->r[0] = cpu->lr;
|
|
/* 027E22A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E22A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E22A0 */ cpu->r[1] = _t0;
|
|
/* 027E22A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E22A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E22AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E22B0 */ Gambit_fn_0299FFD0(cpu);
|
|
/* 027E22B4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E22B8 */ _t3 = cpu->r[12] + 0xFFFF92E4u;
|
|
/* 027E22B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E22BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E22C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E22C4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E22C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E22CC */ return;
|
|
}
|
|
|
|
// fn_027E22A0 @ 0x27e22a0
|
|
void Gambit_fn_027E22A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E22A0: ; // 0x27e22a0
|
|
/* 027E22A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E22A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E22A0 */ cpu->r[1] = _t0;
|
|
/* 027E22A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E22A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E22AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E22B0 */ Gambit_fn_0299FFD0(cpu);
|
|
/* 027E22B4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E22B8 */ _t3 = cpu->r[12] + 0xFFFF92E4u;
|
|
/* 027E22B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E22BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E22C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E22C4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E22C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E22CC */ return;
|
|
}
|
|
|
|
// fn_027E22D0 @ 0x27e22d0
|
|
void Gambit_fn_027E22D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E22D0: ; // 0x27e22d0
|
|
/* 027E22D0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E22D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E22D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E22D4 */ cpu->r[1] = _t0;
|
|
/* 027E22D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E22D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E22DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E22E0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E22E4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E22E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E22EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E22EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E22F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E22F4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E22F8 */ Gambit_fn_0299FF28(cpu);
|
|
/* 027E22FC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2300 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2304 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2308 */ Gambit_fn_027E229C(cpu);
|
|
/* 027E230C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E2310 */ _t5 = cpu->r[12] + 0xFFFF92E4u;
|
|
/* 027E2310 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027E2314 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E2318 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E231C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E231C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2320 */ cpu->lr = cpu->r[0];
|
|
/* 027E2324 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2324 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2328 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E232C */ return;
|
|
}
|
|
|
|
// fn_027E22D4 @ 0x27e22d4
|
|
void Gambit_fn_027E22D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E22D4: ; // 0x27e22d4
|
|
/* 027E22D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E22D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E22D4 */ cpu->r[1] = _t0;
|
|
/* 027E22D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E22D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E22DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E22DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E22E0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E22E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E22E4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E22E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E22EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E22EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E22F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E22F4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E22F8 */ Gambit_fn_0299FF28(cpu);
|
|
/* 027E22FC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2300 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2304 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2308 */ Gambit_fn_027E229C(cpu);
|
|
/* 027E230C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E2310 */ _t5 = cpu->r[12] + 0xFFFF92E4u;
|
|
/* 027E2310 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027E2314 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E2318 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E231C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E231C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2320 */ cpu->lr = cpu->r[0];
|
|
/* 027E2324 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2324 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2328 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E232C */ return;
|
|
}
|
|
|
|
// fn_027E2330 @ 0x27e2330
|
|
void Gambit_fn_027E2330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027B2604: ; // 0x27b2604
|
|
/* 027B2604 */ cpu->r[0] = cpu->lr;
|
|
/* 027B2608 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027B2608 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027B260C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027B260C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027B260C */ cpu->r[1] = _t1;
|
|
/* 027B2610 */ Gambit_fn_027B23D0(cpu);
|
|
/* 027B2614 */ Gambit_fn_027B259C(cpu);
|
|
/* 027B2618 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027B2618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027B261C */ cpu->lr = cpu->r[0];
|
|
/* 027B2620 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027B2624 */ return;
|
|
L_027E2330: ; // 0x27e2330
|
|
/* 027E2330 */ goto L_027B2604;
|
|
}
|
|
|
|
// fn_027E2334 @ 0x27e2334
|
|
void Gambit_fn_027E2334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027B259C: ; // 0x27b259c
|
|
/* 027B259C */ cpu->r[0] = 0x00000001u;
|
|
/* 027B25A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 027B25A4 */ /* nop */
|
|
/* 027B25A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], cpu->r[4], 0x00000000u, 0x0000001Fu);
|
|
/* 027B25AC */ cpu->r[7] = 0x00000002u;
|
|
/* 027B25B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027B25B4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027B25B8 */ cpu->ctr = cpu->r[7];
|
|
/* 027B25BC */ cpu->r[10] = cpu->r[3] + 0x000009DCu;
|
|
L_027B25C0: ; // 0x27b25c0
|
|
/* 027B25C0 */ _t0 = cpu->r[10] + cpu->r[8];
|
|
/* 027B25C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027B25C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027B25C8 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027B25C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027B25C8 */ if (_t2) goto L_027B25CC; else goto L_027B25F8;
|
|
L_027B25CC: ; // 0x27b25cc
|
|
/* 027B25CC */ _t3 = cpu->r[10] + cpu->r[8];
|
|
/* 027B25CC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 027B25D0 */ _t4 = cpu->r[12] + 0xFFFFA9C0u;
|
|
/* 027B25D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B25D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027B25D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B25D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B25D8 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B25D8 */ goto L_027B25DC;
|
|
L_027B25DC: ; // 0x27b25dc
|
|
/* 027B25DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000040u);
|
|
/* 027B25E0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027B25E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027B25E0 */ _t9 = _t8 ^ 0x00000001u;
|
|
/* 027B25E0 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B25E0 */ goto L_027B25E4;
|
|
L_027B25E4: ; // 0x27b25e4
|
|
/* 027B25E4 */ cpu->r[8] = cpu->r[10] + 0x00000028u;
|
|
/* 027B25E8 */ _t10 = cpu->r[8] + cpu->r[11];
|
|
/* 027B25E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027B25EC */ cpu->r[9] = cpu->r[9] | cpu->r[0];
|
|
/* 027B25F0 */ _t11 = cpu->r[8] + cpu->r[11];
|
|
/* 027B25F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027B25F4 */ return;
|
|
L_027B25F8: ; // 0x27b25f8
|
|
/* 027B25F8 */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 027B25FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027B25FC */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027B25FC */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 027B25FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 027B25FC */ if (_t14) goto L_027B25C0; else goto L_027B2600;
|
|
L_027B2600: ; // 0x27b2600
|
|
/* 027B2600 */ return;
|
|
L_027E2334: ; // 0x27e2334
|
|
/* 027E2334 */ goto L_027B259C;
|
|
}
|
|
|
|
// fn_027E2338 @ 0x27e2338
|
|
void Gambit_fn_027E2338(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027E2338: ; // 0x27e2338
|
|
/* 027E2338 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E2338 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2338 */ cpu->r[1] = _t0;
|
|
/* 027E233C */ /* nop */
|
|
/* 027E2340 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2344 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E2344 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E2348 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E234C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E2350 */ cpu->r[26] = cpu->r[5];
|
|
/* 027E2354 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2354 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E2358 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E235C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E2360 */ _t3 = cpu->r[29] + 0xFFFF92F4u;
|
|
/* 027E2360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2360 */ cpu->r[29] = _t3;
|
|
/* 027E2364 */ cpu->r[31] = cpu->r[6];
|
|
/* 027E2368 */ Gambit_fn_027AD3D8(cpu);
|
|
/* 027E236C */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 027E236C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E2370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E2374 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E2378 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2378 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2378 */ if (_t6) goto L_027E23AC; else goto L_027E237C;
|
|
L_027E237C: ; // 0x27e237c
|
|
/* 027E237C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027E237C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E2380 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 027E2380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027E2388 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2388 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E2388 */ if (_t10) goto L_027E238C; else goto L_027E23AC;
|
|
L_027E238C: ; // 0x27e238c
|
|
/* 027E238C */ _t11 = cpu->r[12] + 0x0000010Cu;
|
|
/* 027E238C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E2390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2394 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2394 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2394 */ if (_t13) goto L_027E23AC; else goto L_027E2398;
|
|
L_027E2398: ; // 0x27e2398
|
|
/* 027E2398 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 027E2398 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027E239C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E23A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E23A0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E23A0 */ if (_t16) goto L_027E23AC; else goto L_027E23A4;
|
|
L_027E23A4: ; // 0x27e23a4
|
|
/* 027E23A4 */ cpu->r[3] = cpu->r[12];
|
|
/* 027E23A8 */ Gambit_fn_02A3A6F4(cpu);
|
|
L_027E23AC: ; // 0x27e23ac
|
|
/* 027E23AC */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 027E23AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E23B0 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E23B4 */ _t18 = cpu->r[29] + 0xFFFF98A8u;
|
|
/* 027E23B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E23B4 */ cpu->r[29] = _t18;
|
|
/* 027E23B8 */ _t19 = cpu->r[11] + 0x00000154u;
|
|
/* 027E23B8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E23BC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027E23C0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E23C0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E23C4 */ Gambit_fn_0281DFD8(cpu);
|
|
/* 027E23C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E23CC */ cpu->r[8] = 0x00000000u;
|
|
/* 027E23D0 */ cpu->r[7] = cpu->r[31];
|
|
/* 027E23D4 */ cpu->r[6] = cpu->r[27];
|
|
/* 027E23D8 */ cpu->r[9] = cpu->r[8];
|
|
/* 027E23DC */ cpu->r[5] = cpu->r[28];
|
|
/* 027E23E0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E23E4 */ Gambit_fn_02A4675C(cpu);
|
|
/* 027E23E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E23EC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E23EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E23EC */ if (_t22) goto L_027E2428; else goto L_027E23F0;
|
|
L_027E23F0: ; // 0x27e23f0
|
|
/* 027E23F0 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027E23F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E23F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E23F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E23F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E23F8 */ if (_t25) goto L_027E2428; else goto L_027E23FC;
|
|
L_027E23FC: ; // 0x27e23fc
|
|
/* 027E23FC */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 027E23FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E2400 */ _t27 = cpu->r[12] + 0x00000014u;
|
|
/* 027E2400 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E2404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 027E2408 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2408 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E2408 */ if (_t29) goto L_027E240C; else goto L_027E2428;
|
|
L_027E240C: ; // 0x27e240c
|
|
/* 027E240C */ cpu->r[3] = cpu->r[12];
|
|
/* 027E2410 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E2414 */ Gambit_fn_02A39D84(cpu);
|
|
/* 027E2418 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 027E2418 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E241C */ Gambit_fn_0281E0AC(cpu);
|
|
/* 027E2420 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E2424 */ goto L_027E2434;
|
|
L_027E2428: ; // 0x27e2428
|
|
/* 027E2428 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 027E2428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E242C */ Gambit_fn_0281E0AC(cpu);
|
|
/* 027E2430 */ cpu->r[3] = 0x00000000u;
|
|
L_027E2434: ; // 0x27e2434
|
|
/* 027E2434 */ /* nop */
|
|
/* 027E2438 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E2438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E243C */ cpu->lr = cpu->r[0];
|
|
/* 027E2440 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E2444 */ return;
|
|
}
|
|
|
|
// fn_027E2448 @ 0x27e2448
|
|
void Gambit_fn_027E2448(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027E2448: ; // 0x27e2448
|
|
/* 027E2448 */ cpu->r[12] = cpu->r[3];
|
|
/* 027E244C */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 027E244C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E2450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2454 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2454 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E2454 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2454 */ goto L_027E2458;
|
|
L_027E2458: ; // 0x27e2458
|
|
/* 027E2458 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 027E2458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E245C */ _t4 = cpu->r[3] + 0x00000014u;
|
|
/* 027E245C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E2460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027E2464 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2464 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2464 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 027E2464 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2464 */ goto L_027E2468;
|
|
L_027E2468: ; // 0x27e2468
|
|
/* 027E2468 */ _t8 = cpu->r[3] + 0x0000010Cu;
|
|
/* 027E2468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E246C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2470 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2470 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E2470 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2470 */ goto L_027E2474;
|
|
L_027E2474: ; // 0x27e2474
|
|
/* 027E2474 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 027E2474 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027E2478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E247C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E247C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E247C */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E247C */ goto L_027E2480;
|
|
L_027E2480: ; // 0x27e2480
|
|
/* 027E2480 */ goto L_02A3A6F4;
|
|
L_02A3A6F4: ; // 0x2a3a6f4
|
|
/* 02A3A6F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02A3A6F8 */ _t14 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02A3A6F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[1]);
|
|
/* 02A3A6F8 */ cpu->r[1] = _t14;
|
|
/* 02A3A6FC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A3A6FC */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02A3A700 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02A3A700 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02A3A704 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02A3A704 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02A3A708 */ cpu->r[31] = cpu->r[3];
|
|
/* 02A3A70C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A3A70C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02A3A710 */ _t19 = cpu->r[31] + 0x000000FCu;
|
|
/* 02A3A710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02A3A714 */ cpu->r[0] = 0x00000001u;
|
|
/* 02A3A718 */ cpu->r[29] = cpu->r[11];
|
|
/* 02A3A718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02A3A71C */ _t20 = cpu->r[31] + 0x00000001u;
|
|
/* 02A3A71C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02A3A720 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A3A720 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02A3A720 */ if (_t22) goto L_02A3A75C; else goto L_02A3A724;
|
|
L_02A3A724: ; // 0x2a3a724
|
|
/* 02A3A724 */ _t23 = cpu->r[29] + 0x00000034u;
|
|
/* 02A3A724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02A3A728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02A3A72C */ _t24 = cpu->r[29] + 0x00000068u;
|
|
/* 02A3A72C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02A3A730 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A3A730 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02A3A730 */ if (_t26) goto L_02A3A754; else goto L_02A3A734;
|
|
L_02A3A734: ; // 0x2a3a734
|
|
/* 02A3A734 */ cpu->r[3] = cpu->r[31];
|
|
/* 02A3A738 */ cpu->r[4] = cpu->r[29];
|
|
/* 02A3A73C */ Gambit_fn_02A3A6DC(cpu);
|
|
/* 02A3A740 */ _t27 = cpu->r[31] + 0x000000FCu;
|
|
/* 02A3A740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02A3A744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02A3A748 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A3A748 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02A3A748 */ if (_t29) goto L_02A3A74C; else goto L_02A3A754;
|
|
L_02A3A74C: ; // 0x2a3a74c
|
|
/* 02A3A74C */ cpu->r[11] = cpu->r[30];
|
|
/* 02A3A750 */ _t30 = cpu->r[31] + 0x000000FCu;
|
|
/* 02A3A750 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
L_02A3A754: ; // 0x2a3a754
|
|
/* 02A3A754 */ cpu->r[29] = cpu->r[30];
|
|
/* 02A3A754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02A3A758 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A3A758 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02A3A758 */ if (_t32) goto L_02A3A75C; else goto L_02A3A724;
|
|
L_02A3A75C: ; // 0x2a3a75c
|
|
/* 02A3A75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02A3A760 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A3A760 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02A3A760 */ if (_t34) goto L_02A3A764; else goto L_02A3A770;
|
|
L_02A3A764: ; // 0x2a3a764
|
|
/* 02A3A764 */ cpu->r[3] = cpu->r[31];
|
|
/* 02A3A768 */ cpu->r[4] = 0x00000001u;
|
|
/* 02A3A76C */ Gambit_fn_02A3A6E0(cpu);
|
|
L_02A3A770: ; // 0x2a3a770
|
|
/* 02A3A770 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A3A770 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02A3A774 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A3A774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02A3A778 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02A3A778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02A3A77C */ cpu->lr = cpu->r[0];
|
|
/* 02A3A780 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02A3A780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02A3A784 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02A3A788 */ return;
|
|
}
|
|
|
|
// fn_027E2484 @ 0x27e2484
|
|
void Gambit_fn_027E2484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E2484: ; // 0x27e2484
|
|
/* 027E2484 */ cpu->r[12] = cpu->r[3];
|
|
/* 027E2488 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 027E2488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E248C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2490 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2490 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E2490 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E2490 */ goto L_027E2494;
|
|
L_027E2494: ; // 0x27e2494
|
|
/* 027E2494 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 027E2494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2498 */ _t4 = cpu->r[3] + 0x00000014u;
|
|
/* 027E2498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E249C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027E24A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E24A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E24A0 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 027E24A0 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E24A0 */ goto L_027E24A4;
|
|
L_027E24A4: ; // 0x27e24a4
|
|
/* 027E24A4 */ _t8 = cpu->r[3] + 0x0000010Cu;
|
|
/* 027E24A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E24A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E24AC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E24AC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E24AC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E24AC */ goto L_027E24B0;
|
|
L_027E24B0: ; // 0x27e24b0
|
|
/* 027E24B0 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 027E24B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027E24B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E24B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E24B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E24B8 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E24B8 */ goto L_027E24BC;
|
|
L_027E24BC: ; // 0x27e24bc
|
|
/* 027E24BC */ cpu->r[4] = 0x00000001u;
|
|
/* 027E24C0 */ goto L_02A3A6E0;
|
|
L_02A3A6E0: ; // 0x2a3a6e0
|
|
/* 02A3A6E0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02A3A6E4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02A3A6E8 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02A3A6E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02A3A6EC */ cpu->r[4] = cpu->r[12];
|
|
/* 02A3A6F0 */ goto L_02A469A8;
|
|
L_02A469A8: ; // 0x2a469a8
|
|
/* 02A469A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02A469AC */ _t15 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02A469AC */ rbrew_write32(cpu->mem, _t15, cpu->r[1]);
|
|
/* 02A469AC */ cpu->r[1] = _t15;
|
|
/* 02A469B0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A469B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02A469B4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02A469B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02A469B8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02A469B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02A469BC */ cpu->r[31] = cpu->r[4];
|
|
/* 02A469C0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A469C0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02A469C4 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 02A469C4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02A469C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02A469CC */ cpu->r[30] = cpu->r[3];
|
|
/* 02A469D0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A469D0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02A469D0 */ if (_t22) goto L_02A469D4; else goto L_02A46A00;
|
|
L_02A469D4: ; // 0x2a469d4
|
|
/* 02A469D4 */ cpu->r[3] = 0x10160000u;
|
|
/* 02A469D8 */ cpu->r[3] = cpu->r[3] + 0x000027ACu;
|
|
/* 02A469DC */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02A469DC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02A469DC */ if (_t24) goto L_02A469E0; // else: addr-0 trap, fall-through
|
|
L_02A469E0: ; // 0x2a469e0
|
|
/* 02A469E0 */ Gambit_fn_02A3BD0C(cpu);
|
|
/* 02A469E4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A469E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02A469E8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A469E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02A469EC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02A469EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02A469F0 */ cpu->lr = cpu->r[0];
|
|
/* 02A469F4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02A469F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02A469F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02A469FC */ return;
|
|
L_02A46A00: ; // 0x2a46a00
|
|
/* 02A46A00 */ cpu->r[29] = cpu->r[30] + 0x00000474u;
|
|
/* 02A46A04 */ cpu->r[10] = 0x00000000u;
|
|
/* 02A46A08 */ cpu->r[7] = 0x00000003u;
|
|
L_02A46A0C: ; // 0x2a46a0c
|
|
/* 02A46A0C */ _t29 = cpu->r[29] + cpu->r[10];
|
|
/* 02A46A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02A46A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02A46A14 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A46A14 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02A46A14 */ if (_t31) goto L_02A46A50; else goto L_02A46A18;
|
|
L_02A46A18: ; // 0x2a46a18
|
|
/* 02A46A18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02A46A1C */ cpu->r[9] = 0x00000000u;
|
|
/* 02A46A20 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02A46A20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02A46A20 */ if (_t33) goto L_02A46A28; else goto L_02A46A24;
|
|
L_02A46A24: ; // 0x2a46a24
|
|
/* 02A46A24 */ cpu->r[0] = 0x00000001u;
|
|
L_02A46A28: ; // 0x2a46a28
|
|
/* 02A46A28 */ cpu->r[11] = cpu->r[30] + cpu->r[10];
|
|
/* 02A46A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02A46A30 */ _t34 = cpu->r[11] + 0x00000468u;
|
|
/* 02A46A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02A46A34 */ cpu->ctr = cpu->r[0];
|
|
/* 02A46A38 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
|
|
/* 02A46A3C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFCu;
|
|
L_02A46A40: ; // 0x2a46a40
|
|
/* 02A46A40 */ _t35 = cpu->r[8] + 0x00000004u;
|
|
/* 02A46A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02A46A40 */ cpu->r[8] = _t35;
|
|
/* 02A46A44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02A46A48 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A46A48 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02A46A48 */ if (_t37) goto L_02A46ABC; else goto L_02A46A4C;
|
|
L_02A46A4C: ; // 0x2a46a4c
|
|
/* 02A46A4C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02A46A4C */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02A46A4C */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 02A46A4C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02A46A4C */ if (_t40) goto L_02A46A40; else goto L_02A46A50;
|
|
L_02A46A50: ; // 0x2a46a50
|
|
/* 02A46A50 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02A46A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02A46A54 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02A46A58 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A46A58 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02A46A58 */ if (_t42) goto L_02A46A5C; else goto L_02A46A0C;
|
|
L_02A46A5C: ; // 0x2a46a5c
|
|
/* 02A46A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02A46A60 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02A46A60 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02A46A60 */ if (_t44) goto L_02A46A94; else goto L_02A46A64;
|
|
L_02A46A64: ; // 0x2a46a64
|
|
/* 02A46A64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02A46A68 */ Gambit_fn_02A3B8A0(cpu);
|
|
/* 02A46A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02A46A70 */ cpu->r[4] = cpu->r[31];
|
|
/* 02A46A74 */ Gambit_fn_02A46870(cpu);
|
|
/* 02A46A78 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A46A78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02A46A7C */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A46A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02A46A80 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02A46A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02A46A84 */ cpu->lr = cpu->r[0];
|
|
/* 02A46A88 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02A46A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02A46A8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02A46A90 */ return;
|
|
L_02A46A94: ; // 0x2a46a94
|
|
/* 02A46A94 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 02A46A98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02A46A9C */ cpu->r[7] = cpu->r[30] + cpu->r[12];
|
|
/* 02A46AA0 */ _t49 = cpu->r[29] + cpu->r[12];
|
|
/* 02A46AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02A46AA4 */ _t50 = cpu->r[7] + 0x00000468u;
|
|
/* 02A46AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02A46AA8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02A46AAC */ _t51 = cpu->r[5] + cpu->r[8];
|
|
/* 02A46AAC */ rbrew_write32(cpu->mem, _t51, cpu->r[31]);
|
|
/* 02A46AB0 */ _t52 = cpu->r[29] + cpu->r[12];
|
|
/* 02A46AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02A46AB4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02A46AB8 */ _t53 = cpu->r[29] + cpu->r[12];
|
|
/* 02A46AB8 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
L_02A46ABC: ; // 0x2a46abc
|
|
/* 02A46ABC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02A46ABC */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02A46AC0 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02A46AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02A46AC4 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02A46AC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02A46AC8 */ cpu->lr = cpu->r[0];
|
|
/* 02A46ACC */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02A46ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02A46AD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02A46AD4 */ return;
|
|
}
|
|
|
|
// fn_027E24C4 @ 0x27e24c4
|
|
void Gambit_fn_027E24C4(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_027E24C4: ; // 0x27e24c4
|
|
/* 027E24C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E24C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E24C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E24C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E24C8 */ goto L_027E24CC;
|
|
L_027E24CC: ; // 0x27e24cc
|
|
/* 027E24CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E24CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E24D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E24D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E24D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E24D0 */ goto L_027E24D4;
|
|
L_027E24D4: ; // 0x27e24d4
|
|
/* 027E24D4 */ 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_027E24D8 @ 0x27e24d8
|
|
void Gambit_fn_027E24D8(CPUState* cpu) {
|
|
L_027E24D8: ; // 0x27e24d8
|
|
/* 027E24D8 */ return;
|
|
}
|
|
|
|
// fn_027E24DC @ 0x27e24dc
|
|
void Gambit_fn_027E24DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_027E24DC: ; // 0x27e24dc
|
|
/* 027E24DC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E24DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E24DC */ cpu->r[1] = _t0;
|
|
/* 027E24E0 */ /* nop */
|
|
/* 027E24E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 027E24E8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E24EC */ cpu->r[31] = cpu->r[4];
|
|
/* 027E24F0 */ cpu->r[27] = cpu->r[5];
|
|
/* 027E24F4 */ cpu->r[28] = cpu->r[6];
|
|
/* 027E24F8 */ cpu->r[23] = 0x00000000u;
|
|
/* 027E24FC */ cpu->r[30] = 0x10110000u;
|
|
/* 027E2500 */ cpu->r[24] = cpu->r[26];
|
|
/* 027E2500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027E2504 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2504 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E2508 */ cpu->r[29] = cpu->r[7];
|
|
/* 027E250C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E250C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E250C */ if (_t3) goto L_027E2510; else goto L_027E2530;
|
|
L_027E2510: ; // 0x27e2510
|
|
/* 027E2510 */ cpu->r[3] = 0x00000134u;
|
|
/* 027E2514 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E2518 */ cpu->r[24] = cpu->r[3];
|
|
/* 027E2518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027E251C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E251C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E251C */ if (_t5) goto L_027E2520; else goto L_027E2530;
|
|
L_027E2520: ; // 0x27e2520
|
|
/* 027E2520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 027E2524 */ _t6 = cpu->r[30] + 0x00007399u;
|
|
/* 027E2524 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027E2528 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2528 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E2528 */ if (_t8) goto L_027E252C; else goto L_027E2684;
|
|
L_027E252C: ; // 0x27e252c
|
|
/* 027E252C */ goto L_027E2660;
|
|
L_027E2530: ; // 0x27e2530
|
|
/* 027E2530 */ cpu->r[22] = cpu->r[24] + 0x00000004u;
|
|
/* 027E2530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027E2534 */ _t9 = cpu->r[24] + 0x00000000u;
|
|
/* 027E2534 */ rbrew_write32(cpu->mem, _t9, cpu->r[23]);
|
|
/* 027E2538 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2538 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E2538 */ if (_t11) goto L_027E253C; else goto L_027E2584;
|
|
L_027E253C: ; // 0x27e253c
|
|
/* 027E253C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E2540 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E2544 */ cpu->r[22] = cpu->r[3];
|
|
/* 027E2544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027E2548 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2548 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2548 */ if (_t13) goto L_027E254C; else goto L_027E2584;
|
|
L_027E254C: ; // 0x27e254c
|
|
/* 027E254C */ _t14 = cpu->r[30] + 0x00007399u;
|
|
/* 027E254C */ cpu->r[30] = rbrew_read8(cpu->mem, _t14);
|
|
/* 027E2550 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 027E2554 */ _t15 = cpu->r[24] + 0x00000120u;
|
|
/* 027E2554 */ rbrew_write32(cpu->mem, _t15, cpu->r[23]);
|
|
/* 027E2558 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E255C */ _t16 = cpu->r[24] + 0x00000130u;
|
|
/* 027E255C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 027E2560 */ cpu->r[0] = 0x00000100u;
|
|
/* 027E2564 */ _t17 = cpu->r[24] + 0x0000011Cu;
|
|
/* 027E2564 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[6]);
|
|
/* 027E2568 */ _t18 = cpu->r[24] + 0x00000110u;
|
|
/* 027E2568 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 027E256C */ _t19 = cpu->r[24] + 0x00000118u;
|
|
/* 027E256C */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
|
|
/* 027E2570 */ _t20 = cpu->r[24] + 0x00000124u;
|
|
/* 027E2570 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027E2574 */ _t21 = cpu->r[24] + 0x00000128u;
|
|
/* 027E2574 */ rbrew_write32(cpu->mem, _t21, cpu->r[23]);
|
|
/* 027E2578 */ _t22 = cpu->r[24] + 0x00000114u;
|
|
/* 027E2578 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[6]);
|
|
/* 027E257C */ _t23 = cpu->r[24] + 0x0000012Cu;
|
|
/* 027E257C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[23]);
|
|
/* 027E2580 */ goto L_027E2658;
|
|
L_027E2584: ; // 0x27e2584
|
|
/* 027E2584 */ cpu->r[25] = cpu->r[22];
|
|
/* 027E2584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027E2588 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2588 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E2588 */ if (_t25) goto L_027E258C; else goto L_027E25B0;
|
|
L_027E258C: ; // 0x27e258c
|
|
/* 027E258C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E2590 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E2594 */ cpu->r[25] = cpu->r[3];
|
|
/* 027E2594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027E2598 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2598 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E2598 */ if (_t27) goto L_027E259C; else goto L_027E25B0;
|
|
L_027E259C: ; // 0x27e259c
|
|
/* 027E259C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E25A0 */ _t28 = cpu->r[30] + 0x00007399u;
|
|
/* 027E25A0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t28);
|
|
/* 027E25A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF79Cu;
|
|
/* 027E25A8 */ _t29 = cpu->r[22] + 0x00000004u;
|
|
/* 027E25A8 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 027E25AC */ goto L_027E2628;
|
|
L_027E25B0: ; // 0x27e25b0
|
|
/* 027E25B0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E25B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E25B4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E25B4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E25B4 */ if (_t31) goto L_027E25B8; else goto L_027E25E4;
|
|
L_027E25B8: ; // 0x27e25b8
|
|
/* 027E25B8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E25BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E25C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E25C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E25C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E25C4 */ if (_t33) goto L_027E25C8; else goto L_027E25E4;
|
|
L_027E25C8: ; // 0x27e25c8
|
|
/* 027E25C8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E25CC */ _t34 = cpu->r[30] + 0x00007399u;
|
|
/* 027E25CC */ cpu->r[30] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027E25D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF784u;
|
|
/* 027E25D4 */ _t35 = cpu->r[25] + 0x00000000u;
|
|
/* 027E25D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E25D8 */ _t36 = cpu->r[25] + 0x00000004u;
|
|
/* 027E25D8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 027E25DC */ _t37 = cpu->r[11] + 0x00000000u;
|
|
/* 027E25DC */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[30]);
|
|
/* 027E25E0 */ goto L_027E261C;
|
|
L_027E25E4: ; // 0x27e25e4
|
|
/* 027E25E4 */ cpu->r[7] = cpu->r[25] + 0x0000000Cu;
|
|
/* 027E25E8 */ cpu->r[9] = 0x00000100u;
|
|
/* 027E25EC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E25F0 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 027E25F0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 027E25F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF70Cu;
|
|
/* 027E25F8 */ _t39 = cpu->r[3] + 0x00000008u;
|
|
/* 027E25F8 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
/* 027E25FC */ _t40 = cpu->r[3] + 0x00000004u;
|
|
/* 027E25FC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E2600 */ _t41 = cpu->r[30] + 0x00007399u;
|
|
/* 027E2600 */ cpu->r[30] = rbrew_read8(cpu->mem, _t41);
|
|
/* 027E2604 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2608 */ _t42 = cpu->r[25] + 0x00000000u;
|
|
/* 027E2608 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E260C */ cpu->r[0] = cpu->r[0] + 0xFFFFF784u;
|
|
/* 027E2610 */ _t43 = cpu->r[25] + 0x0000010Bu;
|
|
/* 027E2610 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 027E2614 */ _t44 = cpu->r[25] + 0x00000004u;
|
|
/* 027E2614 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 027E2618 */ _t45 = cpu->r[11] + 0x00000000u;
|
|
/* 027E2618 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
L_027E261C: ; // 0x27e261c
|
|
/* 027E261C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E2620 */ cpu->r[12] = cpu->r[12] + 0xFFFFF79Cu;
|
|
/* 027E2624 */ _t46 = cpu->r[22] + 0x00000004u;
|
|
/* 027E2624 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
L_027E2628: ; // 0x27e2628
|
|
/* 027E2628 */ _t47 = cpu->r[24] + 0x0000012Cu;
|
|
/* 027E2628 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[23]);
|
|
/* 027E262C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 027E2630 */ _t48 = cpu->r[24] + 0x00000120u;
|
|
/* 027E2630 */ rbrew_write32(cpu->mem, _t48, cpu->r[23]);
|
|
/* 027E2634 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E2638 */ _t49 = cpu->r[24] + 0x00000130u;
|
|
/* 027E2638 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 027E263C */ cpu->r[0] = 0x00000100u;
|
|
/* 027E2640 */ _t50 = cpu->r[24] + 0x0000011Cu;
|
|
/* 027E2640 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[6]);
|
|
/* 027E2644 */ _t51 = cpu->r[24] + 0x00000110u;
|
|
/* 027E2644 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 027E2648 */ _t52 = cpu->r[24] + 0x00000118u;
|
|
/* 027E2648 */ rbrew_write32(cpu->mem, _t52, cpu->r[23]);
|
|
/* 027E264C */ _t53 = cpu->r[24] + 0x00000124u;
|
|
/* 027E264C */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 027E2650 */ _t54 = cpu->r[24] + 0x00000128u;
|
|
/* 027E2650 */ rbrew_write32(cpu->mem, _t54, cpu->r[23]);
|
|
/* 027E2654 */ _t55 = cpu->r[24] + 0x00000114u;
|
|
/* 027E2654 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[6]);
|
|
L_027E2658: ; // 0x27e2658
|
|
/* 027E2658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 027E265C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E265C */ _t57 = _t56 & 0x00000001u;
|
|
/* 027E265C */ if (_t57) goto L_027E2660; else goto L_027E2684;
|
|
L_027E2660: ; // 0x27e2660
|
|
/* 027E2660 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2664 */ _t58 = cpu->r[3] + 0xFFFF94D0u;
|
|
/* 027E2664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027E2668 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2668 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027E266C */ _t60 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027E266C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E2670 */ cpu->ctr = cpu->r[0];
|
|
/* 027E2674 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E267C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E267C */ _t62 = _t61 & 0x00000001u;
|
|
/* 027E267C */ if (_t62) goto L_027E2680; else goto L_027E2684;
|
|
L_027E2680: ; // 0x27e2680
|
|
/* 027E2680 */ cpu->r[31] = 0x00000003u;
|
|
L_027E2684: ; // 0x27e2684
|
|
/* 027E2684 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E2688 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E268C */ Gambit_fn_027C9F44(cpu);
|
|
/* 027E2690 */ _t63 = cpu->r[27] + 0x00000004u;
|
|
/* 027E2690 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027E2694 */ _t64 = cpu->r[7] + 0x00000014u;
|
|
/* 027E2694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E2698 */ cpu->ctr = cpu->r[8];
|
|
/* 027E269C */ _t65 = cpu->r[26] + 0x00000004u;
|
|
/* 027E269C */ cpu->r[25] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E26A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E26A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E26A8 */ _t66 = cpu->r[27] + 0x00000000u;
|
|
/* 027E26A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E26AC */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 027E26AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t67);
|
|
/* 027E26B0 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E26B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027E26B8 */ cpu->r[6] = 0x00080000u;
|
|
/* 027E26BC */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E26BC */ _t69 = _t68 & 0x00000001u;
|
|
/* 027E26BC */ if (_t69) goto L_027E26E4; else goto L_027E26C0;
|
|
L_027E26C0: ; // 0x27e26c0
|
|
/* 027E26C0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E26C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 027E26C8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E26CC */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E26CC */ _t71 = _t70 & 0x00000001u;
|
|
/* 027E26CC */ if (_t71) goto L_027E26E0; else goto L_027E26D0;
|
|
L_027E26D0: ; // 0x27e26d0
|
|
/* 027E26D0 */ _t72 = cpu->r[12] + 0x00000000u;
|
|
/* 027E26D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t72);
|
|
/* 027E26D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 027E26D8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E26D8 */ _t74 = _t73 & 0x00000001u;
|
|
/* 027E26D8 */ if (_t74) goto L_027E26DC; else goto L_027E26C0;
|
|
L_027E26DC: ; // 0x27e26dc
|
|
/* 027E26DC */ goto L_027E26E4;
|
|
L_027E26E0: ; // 0x27e26e0
|
|
/* 027E26E0 */ cpu->r[31] = 0x00000000u;
|
|
L_027E26E4: ; // 0x27e26e4
|
|
/* 027E26E4 */ _t75 = cpu->r[26] + 0x0000000Cu;
|
|
/* 027E26E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027E26E8 */ _t76 = cpu->r[27] + 0x00000004u;
|
|
/* 027E26E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027E26EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 027E26F0 */ _t77 = cpu->r[12] + 0x00000014u;
|
|
/* 027E26F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E26F4 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E26F4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027E26F4 */ if (_t79) goto L_027E26FC; else goto L_027E26F8;
|
|
L_027E26F8: ; // 0x27e26f8
|
|
/* 027E26F8 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_027E26FC: ; // 0x27e26fc
|
|
/* 027E26FC */ cpu->ctr = cpu->r[6];
|
|
/* 027E2700 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E2704 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2708 */ _t80 = cpu->r[27] + 0x00000000u;
|
|
/* 027E2708 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027E270C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2710 */ cpu->r[5] = cpu->r[31];
|
|
/* 027E2714 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E2718 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E271C */ _t81 = cpu->r[25] + cpu->r[31];
|
|
/* 027E271C */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[30]);
|
|
/* 027E2720 */ _t82 = cpu->r[26] + 0x0000011Cu;
|
|
/* 027E2720 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[29]);
|
|
/* 027E2724 */ _t83 = cpu->r[26] + 0x00000110u;
|
|
/* 027E2724 */ rbrew_write32(cpu->mem, _t83, cpu->r[28]);
|
|
/* 027E2728 */ /* nop */
|
|
/* 027E272C */ _t84 = cpu->r[1] + 0x00000034u;
|
|
/* 027E272C */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027E2730 */ cpu->lr = cpu->r[0];
|
|
/* 027E2734 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E2738 */ return;
|
|
}
|
|
|
|
// fn_027E273C @ 0x27e273c
|
|
void Gambit_fn_027E273C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027E273C: ; // 0x27e273c
|
|
/* 027E273C */ cpu->r[0] = cpu->lr;
|
|
/* 027E2740 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E2744 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2748 */ cpu->r[6] = cpu->r[4];
|
|
/* 027E274C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E274C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E2750 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E2754 */ _t1 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2754 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E2754 */ cpu->r[1] = _t1;
|
|
/* 027E2758 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E275C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2760 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2764 */ _t2 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E2768 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E276C */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2774 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2774 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E2774 */ if (_t4) goto L_027E277C; else goto L_027E2778;
|
|
L_027E2778: ; // 0x27e2778
|
|
/* 027E2778 */ _t5 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2778 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
L_027E277C: ; // 0x27e277c
|
|
/* 027E277C */ _t6 = cpu->r[1] + 0x00000144u;
|
|
/* 027E277C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E2780 */ cpu->lr = cpu->r[0];
|
|
/* 027E2784 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2788 */ return;
|
|
}
|
|
|
|
// fn_027E2754 @ 0x27e2754
|
|
void Gambit_fn_027E2754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E2754: ; // 0x27e2754
|
|
/* 027E2754 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2754 */ cpu->r[1] = _t0;
|
|
/* 027E2758 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E275C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2760 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2764 */ _t1 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E2768 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E276C */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2774 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2774 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E2774 */ if (_t3) goto L_027E277C; else goto L_027E2778;
|
|
L_027E2778: ; // 0x27e2778
|
|
/* 027E2778 */ _t4 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2778 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
L_027E277C: ; // 0x27e277c
|
|
/* 027E277C */ _t5 = cpu->r[1] + 0x00000144u;
|
|
/* 027E277C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E2780 */ cpu->lr = cpu->r[0];
|
|
/* 027E2784 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2788 */ return;
|
|
}
|
|
|
|
// fn_027E278C @ 0x27e278c
|
|
void Gambit_fn_027E278C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E278C: ; // 0x27e278c
|
|
/* 027E278C */ cpu->r[0] = cpu->lr;
|
|
/* 027E2790 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2790 */ cpu->r[1] = _t0;
|
|
/* 027E2794 */ cpu->r[6] = cpu->r[4];
|
|
/* 027E2798 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2798 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E279C */ cpu->r[31] = cpu->r[5];
|
|
/* 027E27A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E27A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E27A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E27AC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E27B0 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E27B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E27B4 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E27B8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E27BC */ _t3 = cpu->r[1] + 0x00000134u;
|
|
/* 027E27BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[31]);
|
|
/* 027E27C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E27C4 */ _t4 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E27C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E27C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E27CC */ _t5 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027E27CC */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027E27D0 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E27D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E27D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E27D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E27D8 */ if (_t7) goto L_027E27E0; else goto L_027E27DC;
|
|
L_027E27DC: ; // 0x27e27dc
|
|
/* 027E27DC */ _t8 = cpu->r[3] + 0x00000134u;
|
|
/* 027E27DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_027E27E0: ; // 0x27e27e0
|
|
/* 027E27E0 */ _t9 = cpu->r[1] + 0x00000144u;
|
|
/* 027E27E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E27E4 */ _t10 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E27E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E27E8 */ cpu->lr = cpu->r[0];
|
|
/* 027E27EC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E27F0 */ return;
|
|
}
|
|
|
|
// fn_027E2790 @ 0x27e2790
|
|
void Gambit_fn_027E2790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E2790: ; // 0x27e2790
|
|
/* 027E2790 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2790 */ cpu->r[1] = _t0;
|
|
/* 027E2794 */ cpu->r[6] = cpu->r[4];
|
|
/* 027E2798 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2798 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E279C */ cpu->r[31] = cpu->r[5];
|
|
/* 027E27A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E27A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E27A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E27AC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E27B0 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E27B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E27B4 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E27B8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E27BC */ _t3 = cpu->r[1] + 0x00000134u;
|
|
/* 027E27BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[31]);
|
|
/* 027E27C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E27C4 */ _t4 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E27C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E27C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E27CC */ _t5 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027E27CC */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027E27D0 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E27D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E27D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E27D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E27D8 */ if (_t7) goto L_027E27E0; else goto L_027E27DC;
|
|
L_027E27DC: ; // 0x27e27dc
|
|
/* 027E27DC */ _t8 = cpu->r[3] + 0x00000134u;
|
|
/* 027E27DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_027E27E0: ; // 0x27e27e0
|
|
/* 027E27E0 */ _t9 = cpu->r[1] + 0x00000144u;
|
|
/* 027E27E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E27E4 */ _t10 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E27E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E27E8 */ cpu->lr = cpu->r[0];
|
|
/* 027E27EC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E27F0 */ return;
|
|
}
|
|
|
|
// fn_027E27F4 @ 0x27e27f4
|
|
void Gambit_fn_027E27F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E27F4: ; // 0x27e27f4
|
|
/* 027E27F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E27F8 */ cpu->r[7] = cpu->r[6];
|
|
/* 027E27FC */ cpu->r[6] = cpu->r[5];
|
|
/* 027E2800 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2800 */ cpu->r[1] = _t0;
|
|
/* 027E2804 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2808 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2808 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E280C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2810 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E2814 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2818 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2818 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E281C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2820 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2824 */ _t3 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2828 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E282C */ _t4 = cpu->r[1] + 0x00000120u;
|
|
/* 027E282C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E2830 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2838 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2838 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2838 */ if (_t6) goto L_027E2840; else goto L_027E283C;
|
|
L_027E283C: ; // 0x27e283c
|
|
/* 027E283C */ _t7 = cpu->r[3] + 0x00000134u;
|
|
/* 027E283C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
L_027E2840: ; // 0x27e2840
|
|
/* 027E2840 */ _t8 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2844 */ _t9 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2848 */ cpu->lr = cpu->r[0];
|
|
/* 027E284C */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2850 */ return;
|
|
}
|
|
|
|
// fn_027E2800 @ 0x27e2800
|
|
void Gambit_fn_027E2800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E2800: ; // 0x27e2800
|
|
/* 027E2800 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2800 */ cpu->r[1] = _t0;
|
|
/* 027E2804 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2808 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2808 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E280C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2810 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E2814 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2818 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2818 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E281C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2820 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2824 */ _t3 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2828 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E282C */ _t4 = cpu->r[1] + 0x00000120u;
|
|
/* 027E282C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E2830 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2838 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2838 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2838 */ if (_t6) goto L_027E2840; else goto L_027E283C;
|
|
L_027E283C: ; // 0x27e283c
|
|
/* 027E283C */ _t7 = cpu->r[3] + 0x00000134u;
|
|
/* 027E283C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
L_027E2840: ; // 0x27e2840
|
|
/* 027E2840 */ _t8 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2844 */ _t9 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E2848 */ cpu->lr = cpu->r[0];
|
|
/* 027E284C */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2850 */ return;
|
|
}
|
|
|
|
// fn_027E2854 @ 0x27e2854
|
|
void Gambit_fn_027E2854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E2854: ; // 0x27e2854
|
|
/* 027E2854 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2858 */ cpu->r[7] = cpu->r[6];
|
|
/* 027E285C */ cpu->r[6] = cpu->r[5];
|
|
/* 027E2860 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2860 */ cpu->r[1] = _t0;
|
|
/* 027E2864 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2868 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E286C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2870 */ cpu->r[4] = 0x00000003u;
|
|
/* 027E2874 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2878 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2878 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E287C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2880 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2884 */ _t3 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2888 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E288C */ _t4 = cpu->r[1] + 0x00000120u;
|
|
/* 027E288C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E2890 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2898 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2898 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2898 */ if (_t6) goto L_027E28A0; else goto L_027E289C;
|
|
L_027E289C: ; // 0x27e289c
|
|
/* 027E289C */ _t7 = cpu->r[3] + 0x00000134u;
|
|
/* 027E289C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
L_027E28A0: ; // 0x27e28a0
|
|
/* 027E28A0 */ _t8 = cpu->r[1] + 0x00000144u;
|
|
/* 027E28A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E28A4 */ _t9 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E28A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E28A8 */ cpu->lr = cpu->r[0];
|
|
/* 027E28AC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E28B0 */ return;
|
|
}
|
|
|
|
// fn_027E2860 @ 0x27e2860
|
|
void Gambit_fn_027E2860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E2860: ; // 0x27e2860
|
|
/* 027E2860 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2860 */ cpu->r[1] = _t0;
|
|
/* 027E2864 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2868 */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E2868 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E286C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E2870 */ cpu->r[4] = 0x00000003u;
|
|
/* 027E2874 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2878 */ _t2 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2878 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E287C */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2880 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2884 */ _t3 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2888 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E288C */ _t4 = cpu->r[1] + 0x00000120u;
|
|
/* 027E288C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E2890 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2898 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2898 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E2898 */ if (_t6) goto L_027E28A0; else goto L_027E289C;
|
|
L_027E289C: ; // 0x27e289c
|
|
/* 027E289C */ _t7 = cpu->r[3] + 0x00000134u;
|
|
/* 027E289C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
L_027E28A0: ; // 0x27e28a0
|
|
/* 027E28A0 */ _t8 = cpu->r[1] + 0x00000144u;
|
|
/* 027E28A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E28A4 */ _t9 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E28A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E28A8 */ cpu->lr = cpu->r[0];
|
|
/* 027E28AC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E28B0 */ return;
|
|
}
|
|
|
|
// fn_027E28B4 @ 0x27e28b4
|
|
void Gambit_fn_027E28B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E28B4: ; // 0x27e28b4
|
|
/* 027E28B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E28B8 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 027E28B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E28B8 */ cpu->r[1] = _t0;
|
|
/* 027E28BC */ _t1 = cpu->r[1] + 0x00000148u;
|
|
/* 027E28BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E28C0 */ _t2 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E28C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E28C4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027E28C8 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E28CC */ cpu->r[5] = cpu->r[3];
|
|
/* 027E28D0 */ _t3 = cpu->r[1] + 0x00000140u;
|
|
/* 027E28D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E28D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E28D8 */ cpu->r[28] = cpu->r[8];
|
|
/* 027E28DC */ _t4 = cpu->r[1] + 0x00000144u;
|
|
/* 027E28DC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E28E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E28E4 */ _t5 = cpu->r[1] + 0x00000154u;
|
|
/* 027E28E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E28E8 */ cpu->r[29] = cpu->r[9];
|
|
/* 027E28EC */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E28F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E28F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E28F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E28F4 */ if (_t7) goto L_027E28F8; else goto L_027E2910;
|
|
L_027E28F8: ; // 0x27e28f8
|
|
/* 027E28F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E28FC */ _t8 = cpu->r[1] + 0x00000128u;
|
|
/* 027E28FC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027E2900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E2904 */ _t9 = cpu->r[1] + 0x00000120u;
|
|
/* 027E2904 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 027E2908 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2908 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E2908 */ if (_t11) goto L_027E2944; else goto L_027E290C;
|
|
L_027E290C: ; // 0x27e290c
|
|
/* 027E290C */ goto L_027E2940;
|
|
L_027E2910: ; // 0x27e2910
|
|
/* 027E2910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2914 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2914 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2914 */ if (_t13) goto L_027E2918; else goto L_027E292C;
|
|
L_027E2918: ; // 0x27e2918
|
|
/* 027E2918 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E291C */ _t14 = cpu->r[3] + 0x00000058u;
|
|
/* 027E291C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E2920 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E2924 */ cpu->r[12] = cpu->r[3] + cpu->r[9];
|
|
/* 027E2928 */ _t15 = cpu->r[12] + 0x00000044u;
|
|
/* 027E2928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
L_027E292C: ; // 0x27e292c
|
|
/* 027E292C */ _t16 = cpu->r[1] + 0x00000120u;
|
|
/* 027E292C */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 027E2930 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E2934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E2938 */ _t17 = cpu->r[1] + 0x00000128u;
|
|
/* 027E2938 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 027E293C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E293C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E293C */ if (_t19) goto L_027E2944; else goto L_027E2940;
|
|
L_027E2940: ; // 0x27e2940
|
|
/* 027E2940 */ Gambit_fn_027CF66C(cpu);
|
|
L_027E2944: ; // 0x27e2944
|
|
/* 027E2944 */ _t20 = cpu->r[1] + 0x00000130u;
|
|
/* 027E2944 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027E2948 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E294C */ _t21 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E294C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E2950 */ cpu->r[5] = cpu->r[29];
|
|
/* 027E2954 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2958 */ Gambit_fn_027D7EBC(cpu);
|
|
/* 027E295C */ _t22 = cpu->r[1] + 0x00000140u;
|
|
/* 027E295C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2960 */ _t23 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2964 */ _t24 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2968 */ _t25 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E296C */ cpu->lr = cpu->r[0];
|
|
/* 027E2970 */ _t26 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E2974 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 027E2978 */ return;
|
|
}
|
|
|
|
// fn_027E28B8 @ 0x27e28b8
|
|
void Gambit_fn_027E28B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E28B8: ; // 0x27e28b8
|
|
/* 027E28B8 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 027E28B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E28B8 */ cpu->r[1] = _t0;
|
|
/* 027E28BC */ _t1 = cpu->r[1] + 0x00000148u;
|
|
/* 027E28BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E28C0 */ _t2 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E28C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E28C4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027E28C8 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E28CC */ cpu->r[5] = cpu->r[3];
|
|
/* 027E28D0 */ _t3 = cpu->r[1] + 0x00000140u;
|
|
/* 027E28D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E28D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E28D8 */ cpu->r[28] = cpu->r[8];
|
|
/* 027E28DC */ _t4 = cpu->r[1] + 0x00000144u;
|
|
/* 027E28DC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E28E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E28E4 */ _t5 = cpu->r[1] + 0x00000154u;
|
|
/* 027E28E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E28E8 */ cpu->r[29] = cpu->r[9];
|
|
/* 027E28EC */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E28F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E28F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E28F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E28F4 */ if (_t7) goto L_027E28F8; else goto L_027E2910;
|
|
L_027E28F8: ; // 0x27e28f8
|
|
/* 027E28F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E28FC */ _t8 = cpu->r[1] + 0x00000128u;
|
|
/* 027E28FC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027E2900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E2904 */ _t9 = cpu->r[1] + 0x00000120u;
|
|
/* 027E2904 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 027E2908 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2908 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E2908 */ if (_t11) goto L_027E2944; else goto L_027E290C;
|
|
L_027E290C: ; // 0x27e290c
|
|
/* 027E290C */ goto L_027E2940;
|
|
L_027E2910: ; // 0x27e2910
|
|
/* 027E2910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2914 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2914 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2914 */ if (_t13) goto L_027E2918; else goto L_027E292C;
|
|
L_027E2918: ; // 0x27e2918
|
|
/* 027E2918 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E291C */ _t14 = cpu->r[3] + 0x00000058u;
|
|
/* 027E291C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E2920 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E2924 */ cpu->r[12] = cpu->r[3] + cpu->r[9];
|
|
/* 027E2928 */ _t15 = cpu->r[12] + 0x00000044u;
|
|
/* 027E2928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
L_027E292C: ; // 0x27e292c
|
|
/* 027E292C */ _t16 = cpu->r[1] + 0x00000120u;
|
|
/* 027E292C */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 027E2930 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E2934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E2938 */ _t17 = cpu->r[1] + 0x00000128u;
|
|
/* 027E2938 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 027E293C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E293C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E293C */ if (_t19) goto L_027E2944; else goto L_027E2940;
|
|
L_027E2940: ; // 0x27e2940
|
|
/* 027E2940 */ Gambit_fn_027CF66C(cpu);
|
|
L_027E2944: ; // 0x27e2944
|
|
/* 027E2944 */ _t20 = cpu->r[1] + 0x00000130u;
|
|
/* 027E2944 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027E2948 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E294C */ _t21 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E294C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E2950 */ cpu->r[5] = cpu->r[29];
|
|
/* 027E2954 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2958 */ Gambit_fn_027D7EBC(cpu);
|
|
/* 027E295C */ _t22 = cpu->r[1] + 0x00000140u;
|
|
/* 027E295C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2960 */ _t23 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2960 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2964 */ _t24 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2968 */ _t25 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2968 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E296C */ cpu->lr = cpu->r[0];
|
|
/* 027E2970 */ _t26 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E2974 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 027E2978 */ return;
|
|
}
|
|
|
|
// fn_027E297C @ 0x27e297c
|
|
void Gambit_fn_027E297C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027E297C: ; // 0x27e297c
|
|
/* 027E297C */ cpu->r[0] = cpu->lr;
|
|
/* 027E2980 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 027E2980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2980 */ cpu->r[1] = _t0;
|
|
/* 027E2984 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2984 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2988 */ _t2 = cpu->r[1] + 0x00000140u;
|
|
/* 027E2988 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E298C */ cpu->r[30] = cpu->r[4];
|
|
/* 027E2990 */ cpu->r[4] = cpu->r[6];
|
|
/* 027E2994 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2998 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E299C */ cpu->r[7] = cpu->r[6];
|
|
/* 027E29A0 */ _t3 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E29A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E29A4 */ _t4 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E29A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E29A8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E29AC */ cpu->r[5] = cpu->r[3];
|
|
/* 027E29B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E29B4 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E29B8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E29B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027E29BC */ _t6 = cpu->r[1] + 0x00000128u;
|
|
/* 027E29BC */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 027E29C0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E29C4 */ _t7 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027E29C4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027E29C8 */ Gambit_fn_027CF66C(cpu);
|
|
/* 027E29CC */ _t8 = cpu->r[1] + 0x00000130u;
|
|
/* 027E29CC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027E29D0 */ _t9 = cpu->r[1] + 0x00000134u;
|
|
/* 027E29D0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 027E29D4 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E29D8 */ _t10 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E29D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E29DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E29E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E29E4 */ Gambit_fn_027D7EBC(cpu);
|
|
/* 027E29E8 */ _t11 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E29E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E29EC */ _t12 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E29EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E29F0 */ _t13 = cpu->r[1] + 0x00000140u;
|
|
/* 027E29F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E29F4 */ cpu->lr = cpu->r[0];
|
|
/* 027E29F8 */ _t14 = cpu->r[1] + 0x00000144u;
|
|
/* 027E29F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E29FC */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 027E2A00 */ return;
|
|
}
|
|
|
|
// fn_027E2980 @ 0x27e2980
|
|
void Gambit_fn_027E2980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027E2980: ; // 0x27e2980
|
|
/* 027E2980 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 027E2980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2980 */ cpu->r[1] = _t0;
|
|
/* 027E2984 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2984 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2988 */ _t2 = cpu->r[1] + 0x00000140u;
|
|
/* 027E2988 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E298C */ cpu->r[30] = cpu->r[4];
|
|
/* 027E2990 */ cpu->r[4] = cpu->r[6];
|
|
/* 027E2994 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2998 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E299C */ cpu->r[7] = cpu->r[6];
|
|
/* 027E29A0 */ _t3 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E29A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E29A4 */ _t4 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E29A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E29A8 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E29AC */ cpu->r[5] = cpu->r[3];
|
|
/* 027E29B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E29B4 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E29B8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E29B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027E29BC */ _t6 = cpu->r[1] + 0x00000128u;
|
|
/* 027E29BC */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 027E29C0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E29C4 */ _t7 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027E29C4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027E29C8 */ Gambit_fn_027CF66C(cpu);
|
|
/* 027E29CC */ _t8 = cpu->r[1] + 0x00000130u;
|
|
/* 027E29CC */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 027E29D0 */ _t9 = cpu->r[1] + 0x00000134u;
|
|
/* 027E29D0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 027E29D4 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E29D8 */ _t10 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E29D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E29DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E29E0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E29E4 */ Gambit_fn_027D7EBC(cpu);
|
|
/* 027E29E8 */ _t11 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027E29E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E29EC */ _t12 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E29EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E29F0 */ _t13 = cpu->r[1] + 0x00000140u;
|
|
/* 027E29F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E29F4 */ cpu->lr = cpu->r[0];
|
|
/* 027E29F8 */ _t14 = cpu->r[1] + 0x00000144u;
|
|
/* 027E29F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E29FC */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 027E2A00 */ return;
|
|
}
|
|
|
|
// fn_027E2A04 @ 0x27e2a04
|
|
void Gambit_fn_027E2A04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E2A04: ; // 0x27e2a04
|
|
/* 027E2A04 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 027E2A04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2A04 */ cpu->r[1] = _t0;
|
|
/* 027E2A08 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2A0C */ /* nop */
|
|
/* 027E2A10 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 027E2A14 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E2A18 */ _t1 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2A18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E2A1C */ cpu->r[29] = cpu->r[4];
|
|
/* 027E2A20 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E2A24 */ _t2 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E2A24 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 027E2A28 */ cpu->r[9] = cpu->r[9] + 0xFFFFF79Cu;
|
|
/* 027E2A2C */ _t3 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027E2A2C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E2A30 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2A30 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E2A34 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E2A38 */ _t5 = cpu->r[1] + 0x00000124u;
|
|
/* 027E2A38 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027E2A3C */ cpu->r[27] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2A40 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2A40 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027E2A44 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E2A48 */ _t7 = cpu->r[30] + 0x00007399u;
|
|
/* 027E2A48 */ cpu->r[30] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027E2A4C */ _t8 = cpu->r[1] + 0x00000138u;
|
|
/* 027E2A4C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 027E2A50 */ _t9 = cpu->r[1] + 0x00000117u;
|
|
/* 027E2A50 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
|
|
/* 027E2A54 */ cpu->r[8] = 0x00000100u;
|
|
/* 027E2A58 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 027E2A58 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 027E2A5C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2A5C */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 027E2A60 */ _t12 = cpu->r[1] + 0x00000134u;
|
|
/* 027E2A60 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 027E2A64 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2A64 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 027E2A68 */ _t14 = cpu->r[1] + 0x00000118u;
|
|
/* 027E2A68 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 027E2A6C */ _t15 = cpu->r[1] + 0x00000128u;
|
|
/* 027E2A6C */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 027E2A70 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 027E2A70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E2A74 */ _t17 = cpu->r[1] + 0x00000120u;
|
|
/* 027E2A74 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 027E2A78 */ _t18 = cpu->r[1] + 0x00000130u;
|
|
/* 027E2A78 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 027E2A7C */ _t19 = cpu->r[5] + 0x00000014u;
|
|
/* 027E2A7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E2A80 */ cpu->ctr = cpu->r[6];
|
|
/* 027E2A84 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E2A88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2A8C */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 027E2A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E2A90 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 027E2A90 */ cpu->r[7] = rbrew_read8(cpu->mem, _t21);
|
|
/* 027E2A94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 027E2A98 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E2A9C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2A9C */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E2A9C */ if (_t23) goto L_027E2AC4; else goto L_027E2AA0;
|
|
L_027E2AA0: ; // 0x27e2aa0
|
|
/* 027E2AA0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E2AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 027E2AA8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E2AAC */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E2AAC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E2AAC */ if (_t25) goto L_027E2AC0; else goto L_027E2AB0;
|
|
L_027E2AB0: ; // 0x27e2ab0
|
|
/* 027E2AB0 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 027E2AB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 027E2AB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 027E2AB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2AB8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E2AB8 */ if (_t28) goto L_027E2ABC; else goto L_027E2AA0;
|
|
L_027E2ABC: ; // 0x27e2abc
|
|
/* 027E2ABC */ goto L_027E2AC4;
|
|
L_027E2AC0: ; // 0x27e2ac0
|
|
/* 027E2AC0 */ cpu->r[31] = 0x00000000u;
|
|
L_027E2AC4: ; // 0x27e2ac4
|
|
/* 027E2AC4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2AC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E2AC8 */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 027E2AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E2ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 027E2AD0 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 027E2AD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E2AD4 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E2AD4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E2AD4 */ if (_t33) goto L_027E2ADC; else goto L_027E2AD8;
|
|
L_027E2AD8: ; // 0x27e2ad8
|
|
/* 027E2AD8 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_027E2ADC: ; // 0x27e2adc
|
|
/* 027E2ADC */ cpu->ctr = cpu->r[10];
|
|
/* 027E2AE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E2AE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2AE8 */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 027E2AE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E2AEC */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2AF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027E2AF4 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E2AF8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E2AFC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2B00 */ cpu->r[6] = cpu->r[29];
|
|
/* 027E2B04 */ _t35 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E2B08 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E2B0C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B10 */ _t36 = cpu->r[27] + cpu->r[31];
|
|
/* 027E2B10 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 027E2B14 */ Gambit_fn_027CE2FC(cpu);
|
|
/* 027E2B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2B1C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2B1C */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E2B1C */ if (_t38) goto L_027E2B24; else goto L_027E2B20;
|
|
L_027E2B20: ; // 0x27e2b20
|
|
/* 027E2B20 */ _t39 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
L_027E2B24: ; // 0x27e2b24
|
|
/* 027E2B24 */ /* nop */
|
|
/* 027E2B28 */ _t40 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E2B2C */ cpu->lr = cpu->r[0];
|
|
/* 027E2B30 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 027E2B34 */ return;
|
|
}
|
|
|
|
// fn_027E2B38 @ 0x27e2b38
|
|
void Gambit_fn_027E2B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027E2B38: ; // 0x27e2b38
|
|
/* 027E2B38 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2B3C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E2B3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E2B40 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E2B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E2B40 */ cpu->r[1] = _t1;
|
|
/* 027E2B44 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E2B48 */ _t2 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E2B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E2B4C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E2B50 */ _t3 = cpu->r[12] + 0x00000148u;
|
|
/* 027E2B50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E2B54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E2B58 */ cpu->lr = cpu->r[0];
|
|
/* 027E2B5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B60 */ return;
|
|
}
|
|
|
|
// fn_027E2B40 @ 0x27e2b40
|
|
void Gambit_fn_027E2B40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E2B40: ; // 0x27e2b40
|
|
/* 027E2B40 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E2B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2B40 */ cpu->r[1] = _t0;
|
|
/* 027E2B44 */ Gambit_fn_027FA974(cpu);
|
|
/* 027E2B48 */ _t1 = cpu->r[3] + 0x000001ECu;
|
|
/* 027E2B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E2B4C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E2B50 */ _t2 = cpu->r[12] + 0x00000148u;
|
|
/* 027E2B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E2B54 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2B58 */ cpu->lr = cpu->r[0];
|
|
/* 027E2B5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B60 */ return;
|
|
}
|
|
|
|
// fn_027E2B64 @ 0x27e2b64
|
|
void Gambit_fn_027E2B64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027E2B64: ; // 0x27e2b64
|
|
/* 027E2B64 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2B68 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E2B6C */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2B70 */ cpu->r[6] = cpu->r[4];
|
|
/* 027E2B74 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E2B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E2B78 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E2B7C */ _t1 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E2B7C */ cpu->r[1] = _t1;
|
|
/* 027E2B80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B84 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2B88 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2B8C */ _t2 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2B8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E2B90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B94 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2B9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2B9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E2B9C */ if (_t4) goto L_027E2BA4; else goto L_027E2BA0;
|
|
L_027E2BA0: ; // 0x27e2ba0
|
|
/* 027E2BA0 */ _t5 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
L_027E2BA4: ; // 0x27e2ba4
|
|
/* 027E2BA4 */ _t6 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E2BA8 */ cpu->lr = cpu->r[0];
|
|
/* 027E2BAC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2BB0 */ return;
|
|
}
|
|
|
|
// fn_027E2B7C @ 0x27e2b7c
|
|
void Gambit_fn_027E2B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027E2B7C: ; // 0x27e2b7c
|
|
/* 027E2B7C */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2B7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2B7C */ cpu->r[1] = _t0;
|
|
/* 027E2B80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B84 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2B88 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2B8C */ _t1 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2B8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E2B90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B94 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2B9C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2B9C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E2B9C */ if (_t3) goto L_027E2BA4; else goto L_027E2BA0;
|
|
L_027E2BA0: ; // 0x27e2ba0
|
|
/* 027E2BA0 */ _t4 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
L_027E2BA4: ; // 0x27e2ba4
|
|
/* 027E2BA4 */ _t5 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E2BA8 */ cpu->lr = cpu->r[0];
|
|
/* 027E2BAC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2BB0 */ return;
|
|
}
|
|
|
|
// fn_027E2BB4 @ 0x27e2bb4
|
|
void Gambit_fn_027E2BB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027E2B64: ; // 0x27e2b64
|
|
/* 027E2B64 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2B68 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E2B6C */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2B70 */ cpu->r[6] = cpu->r[4];
|
|
/* 027E2B74 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E2B74 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E2B78 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E2B7C */ _t1 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E2B7C */ cpu->r[1] = _t1;
|
|
/* 027E2B80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B84 */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2B88 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2B8C */ _t2 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2B8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E2B90 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2B94 */ Gambit_fn_027CE108(cpu);
|
|
/* 027E2B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2B9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2B9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E2B9C */ if (_t4) goto L_027E2BA4; else goto L_027E2BA0;
|
|
L_027E2BA0: ; // 0x27e2ba0
|
|
/* 027E2BA0 */ _t5 = cpu->r[3] + 0x00000134u;
|
|
/* 027E2BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
L_027E2BA4: ; // 0x27e2ba4
|
|
/* 027E2BA4 */ _t6 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E2BA8 */ cpu->lr = cpu->r[0];
|
|
/* 027E2BAC */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2BB0 */ return;
|
|
L_027E2BB4: ; // 0x27e2bb4
|
|
/* 027E2BB4 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E2BB8 */ goto L_027E2B64;
|
|
}
|
|
|
|
// fn_027E2BBC @ 0x27e2bbc
|
|
void Gambit_fn_027E2BBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027E2BBC: ; // 0x27e2bbc
|
|
/* 027E2BBC */ cpu->r[0] = cpu->lr;
|
|
/* 027E2BC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2BC4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027E2BC8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E2BCC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E2BCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E2BD0 */ cpu->r[7] = cpu->r[6];
|
|
/* 027E2BD4 */ _t1 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2BD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E2BD4 */ cpu->r[1] = _t1;
|
|
/* 027E2BD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BDC */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2BE0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2BE4 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E2BE8 */ _t2 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2BE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E2BEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BF0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E2BF4 */ Gambit_fn_027CE10C(cpu);
|
|
/* 027E2BF8 */ _t4 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E2BFC */ cpu->lr = cpu->r[0];
|
|
/* 027E2C00 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2C04 */ return;
|
|
}
|
|
|
|
// fn_027E2BD4 @ 0x27e2bd4
|
|
void Gambit_fn_027E2BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E2BD4: ; // 0x27e2bd4
|
|
/* 027E2BD4 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 027E2BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2BD4 */ cpu->r[1] = _t0;
|
|
/* 027E2BD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BDC */ Gambit_fn_027E24DC(cpu);
|
|
/* 027E2BE0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E2BE4 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E2BE8 */ _t1 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E2BE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E2BEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2BF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E2BF4 */ Gambit_fn_027CE10C(cpu);
|
|
/* 027E2BF8 */ _t3 = cpu->r[1] + 0x00000144u;
|
|
/* 027E2BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E2BFC */ cpu->lr = cpu->r[0];
|
|
/* 027E2C00 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 027E2C04 */ return;
|
|
}
|
|
|
|
// fn_027E2C08 @ 0x27e2c08
|
|
void Gambit_fn_027E2C08(CPUState* cpu) {
|
|
L_027E2C08: ; // 0x27e2c08
|
|
/* 027E2C08 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E2C0C */ return;
|
|
}
|
|
|
|
// fn_027E2C10 @ 0x27e2c10
|
|
void Gambit_fn_027E2C10(CPUState* cpu) {
|
|
uint32_t _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_027E2C10: ; // 0x27e2c10
|
|
/* 027E2C10 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2C14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E2C14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2C14 */ cpu->r[1] = _t0;
|
|
/* 027E2C18 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2C18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2C1C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2C1C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E2C20 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2C20 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E2C24 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E2C28 */ cpu->r[6] = 0x101D0000u;
|
|
/* 027E2C2C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E2C30 */ _t5 = cpu->r[6] + 0xFFFFDDB4u;
|
|
/* 027E2C30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E2C30 */ cpu->r[6] = _t5;
|
|
/* 027E2C34 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E2C38 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E2C3C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E2C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E2C44 */ cpu->r[4] = cpu->r[4] + 0xFFFFDDCCu;
|
|
/* 027E2C48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E2C48 */ if (_t7) goto L_027E2C4C; else goto L_027E2C60;
|
|
L_027E2C4C: ; // 0x27e2c4c
|
|
/* 027E2C4C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2C50 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E2C54 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7E4u;
|
|
/* 027E2C58 */ _t8 = cpu->r[6] + 0x00000000u;
|
|
/* 027E2C58 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 027E2C5C */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 027E2C5C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_027E2C60: ; // 0x27e2c60
|
|
/* 027E2C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2C64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E2C64 */ if (_t11) goto L_027E2CA4; else goto L_027E2C68;
|
|
L_027E2C68: ; // 0x27e2c68
|
|
/* 027E2C68 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 027E2C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E2C6C */ _t13 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E2C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E2C70 */ cpu->ctr = cpu->r[0];
|
|
/* 027E2C74 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2C78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2C80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E2C80 */ if (_t15) goto L_027E2CA4; else goto L_027E2C84;
|
|
L_027E2C84: ; // 0x27e2c84
|
|
/* 027E2C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2C88 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2C88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E2C8C */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 027E2C8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E2C90 */ cpu->ctr = cpu->r[8];
|
|
/* 027E2C94 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2C98 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2CA0 */ goto L_027E2CC0;
|
|
L_027E2CA4: ; // 0x27e2ca4
|
|
/* 027E2CA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E2CA8 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2CAC */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 027E2CAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E2CB0 */ cpu->ctr = cpu->r[8];
|
|
/* 027E2CB4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2CB8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E2CC0: ; // 0x27e2cc0
|
|
/* 027E2CC0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2CC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E2CC4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E2CC8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2CCC */ cpu->lr = cpu->r[0];
|
|
/* 027E2CD0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2CD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2CD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2CD8 */ return;
|
|
}
|
|
|
|
// fn_027E2C14 @ 0x27e2c14
|
|
void Gambit_fn_027E2C14(CPUState* cpu) {
|
|
uint32_t _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_027E2C14: ; // 0x27e2c14
|
|
/* 027E2C14 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E2C14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2C14 */ cpu->r[1] = _t0;
|
|
/* 027E2C18 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2C18 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E2C1C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2C1C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E2C20 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2C20 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E2C24 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E2C28 */ cpu->r[6] = 0x101D0000u;
|
|
/* 027E2C2C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E2C30 */ _t5 = cpu->r[6] + 0xFFFFDDB4u;
|
|
/* 027E2C30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E2C30 */ cpu->r[6] = _t5;
|
|
/* 027E2C34 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E2C38 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E2C3C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E2C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E2C44 */ cpu->r[4] = cpu->r[4] + 0xFFFFDDCCu;
|
|
/* 027E2C48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E2C48 */ if (_t7) goto L_027E2C4C; else goto L_027E2C60;
|
|
L_027E2C4C: ; // 0x27e2c4c
|
|
/* 027E2C4C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2C50 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E2C54 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7E4u;
|
|
/* 027E2C58 */ _t8 = cpu->r[6] + 0x00000000u;
|
|
/* 027E2C58 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 027E2C5C */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 027E2C5C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_027E2C60: ; // 0x27e2c60
|
|
/* 027E2C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E2C64 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C64 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E2C64 */ if (_t11) goto L_027E2CA4; else goto L_027E2C68;
|
|
L_027E2C68: ; // 0x27e2c68
|
|
/* 027E2C68 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 027E2C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E2C6C */ _t13 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E2C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E2C70 */ cpu->ctr = cpu->r[0];
|
|
/* 027E2C74 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2C78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2C80 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2C80 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E2C80 */ if (_t15) goto L_027E2CA4; else goto L_027E2C84;
|
|
L_027E2C84: ; // 0x27e2c84
|
|
/* 027E2C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2C88 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2C88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E2C8C */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 027E2C8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E2C90 */ cpu->ctr = cpu->r[8];
|
|
/* 027E2C94 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2C98 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2C9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2CA0 */ goto L_027E2CC0;
|
|
L_027E2CA4: ; // 0x27e2ca4
|
|
/* 027E2CA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E2CA8 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 027E2CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2CAC */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 027E2CAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E2CB0 */ cpu->ctr = cpu->r[8];
|
|
/* 027E2CB4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E2CB8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E2CC0: ; // 0x27e2cc0
|
|
/* 027E2CC0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2CC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E2CC4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2CC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E2CC8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2CCC */ cpu->lr = cpu->r[0];
|
|
/* 027E2CD0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2CD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2CD4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2CD8 */ return;
|
|
}
|
|
|
|
// fn_027E2CDC @ 0x27e2cdc
|
|
void Gambit_fn_027E2CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E2CDC: ; // 0x27e2cdc
|
|
/* 027E2CDC */ cpu->r[0] = cpu->lr;
|
|
/* 027E2CE0 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 027E2CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2CE0 */ cpu->r[1] = _t0;
|
|
/* 027E2CE4 */ _t1 = cpu->r[1] + 0x00000150u;
|
|
/* 027E2CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E2CE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E2CEC */ _t2 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E2CF0 */ _t3 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2CF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E2CF4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E2CF8 */ _t4 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2CF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E2CFC */ _t5 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E2CFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E2D00 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2D04 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E2D08 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7B4u;
|
|
/* 027E2D0C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2D0C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027E2D10 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E2D14 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D14 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027E2D18 */ cpu->r[4] = 0x00000020u;
|
|
/* 027E2D1C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2D1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E2D20 */ Gambit_fn_02C89380(cpu);
|
|
/* 027E2D24 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D28 */ cpu->r[28] = 0x10110000u;
|
|
/* 027E2D2C */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E2D30 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E2D34 */ cpu->r[28] = cpu->r[28] + 0xFFFFF7C4u;
|
|
/* 027E2D38 */ cpu->r[6] = cpu->r[6] + 0x000033D8u;
|
|
/* 027E2D3C */ cpu->r[5] = 0x00000110u;
|
|
/* 027E2D40 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2D40 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 027E2D44 */ Gambit_fn_02C82E00(cpu);
|
|
/* 027E2D48 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D4C */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2D50 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D54 */ Gambit_fn_0280CEBC(cpu);
|
|
/* 027E2D58 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D60 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D64 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E2D68 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D6C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D6C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027E2D70 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E2D74 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E2D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2D7C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2D7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2D7C */ if (_t13) goto L_027E2DB0; else goto L_027E2D80;
|
|
L_027E2D80: ; // 0x27e2d80
|
|
/* 027E2D80 */ cpu->r[30] = 0x00000000u;
|
|
L_027E2D84: ; // 0x27e2d84
|
|
/* 027E2D84 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E2D88 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D90 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D94 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D98 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D98 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027E2D9C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E2DA0 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E2DA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E2DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2DAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2DAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E2DAC */ if (_t17) goto L_027E2DB0; else goto L_027E2D84;
|
|
L_027E2DB0: ; // 0x27e2db0
|
|
/* 027E2DB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2DB4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2DB8 */ Gambit_fn_0280C8C8(cpu);
|
|
/* 027E2DBC */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E2DC0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2DC4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E2DC8 */ cpu->r[6] = cpu->r[6] + 0x000034F8u;
|
|
/* 027E2DCC */ cpu->r[4] = 0x00000001u;
|
|
/* 027E2DD0 */ cpu->r[8] = cpu->r[7];
|
|
/* 027E2DD4 */ cpu->r[5] = 0x00000110u;
|
|
/* 027E2DD8 */ Gambit_fn_02C82F38(cpu);
|
|
/* 027E2DDC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2DDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2DE4 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2DE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 027E2DE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2DE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E2DE8 */ if (_t21) goto L_027E2DF4; else goto L_027E2DEC;
|
|
L_027E2DEC: ; // 0x27e2dec
|
|
/* 027E2DEC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2DF0 */ Gambit_fn_0280C8C8(cpu);
|
|
L_027E2DF4: ; // 0x27e2df4
|
|
/* 027E2DF4 */ _t22 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2DF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2DF8 */ _t23 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2DFC */ _t24 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E2DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2E00 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2E04 */ _t25 = cpu->r[1] + 0x00000150u;
|
|
/* 027E2E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E2E08 */ cpu->lr = cpu->r[0];
|
|
/* 027E2E0C */ _t26 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2E0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E2E10 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027E2E14 */ return;
|
|
}
|
|
|
|
// fn_027E2CE0 @ 0x27e2ce0
|
|
void Gambit_fn_027E2CE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027E2CE0: ; // 0x27e2ce0
|
|
/* 027E2CE0 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 027E2CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2CE0 */ cpu->r[1] = _t0;
|
|
/* 027E2CE4 */ _t1 = cpu->r[1] + 0x00000150u;
|
|
/* 027E2CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E2CE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E2CEC */ _t2 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E2CF0 */ _t3 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2CF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027E2CF4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E2CF8 */ _t4 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2CF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027E2CFC */ _t5 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E2CFC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E2D00 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2D04 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E2D08 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7B4u;
|
|
/* 027E2D0C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2D0C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027E2D10 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E2D14 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D14 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027E2D18 */ cpu->r[4] = 0x00000020u;
|
|
/* 027E2D1C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2D1C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E2D20 */ Gambit_fn_02C89380(cpu);
|
|
/* 027E2D24 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D28 */ cpu->r[28] = 0x10110000u;
|
|
/* 027E2D2C */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E2D30 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E2D34 */ cpu->r[28] = cpu->r[28] + 0xFFFFF7C4u;
|
|
/* 027E2D38 */ cpu->r[6] = cpu->r[6] + 0x000033D8u;
|
|
/* 027E2D3C */ cpu->r[5] = 0x00000110u;
|
|
/* 027E2D40 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2D40 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 027E2D44 */ Gambit_fn_02C82E00(cpu);
|
|
/* 027E2D48 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D4C */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2D50 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D54 */ Gambit_fn_0280CEBC(cpu);
|
|
/* 027E2D58 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D60 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D64 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E2D68 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D6C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D6C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027E2D70 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E2D74 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E2D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2D7C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2D7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E2D7C */ if (_t13) goto L_027E2DB0; else goto L_027E2D80;
|
|
L_027E2D80: ; // 0x27e2d80
|
|
/* 027E2D80 */ cpu->r[30] = 0x00000000u;
|
|
L_027E2D84: ; // 0x27e2d84
|
|
/* 027E2D84 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E2D88 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2D8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D90 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2D94 */ cpu->r[6] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2D98 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2D98 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027E2D9C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027E2DA0 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E2DA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E2DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E2DAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2DAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E2DAC */ if (_t17) goto L_027E2DB0; else goto L_027E2D84;
|
|
L_027E2DB0: ; // 0x27e2db0
|
|
/* 027E2DB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E2DB4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2DB8 */ Gambit_fn_0280C8C8(cpu);
|
|
/* 027E2DBC */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E2DC0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E2DC4 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E2DC8 */ cpu->r[6] = cpu->r[6] + 0x000034F8u;
|
|
/* 027E2DCC */ cpu->r[4] = 0x00000001u;
|
|
/* 027E2DD0 */ cpu->r[8] = cpu->r[7];
|
|
/* 027E2DD4 */ cpu->r[5] = 0x00000110u;
|
|
/* 027E2DD8 */ Gambit_fn_02C82F38(cpu);
|
|
/* 027E2DDC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2DDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E2DE4 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2DE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 027E2DE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2DE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E2DE8 */ if (_t21) goto L_027E2DF4; else goto L_027E2DEC;
|
|
L_027E2DEC: ; // 0x27e2dec
|
|
/* 027E2DEC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2DF0 */ Gambit_fn_0280C8C8(cpu);
|
|
L_027E2DF4: ; // 0x27e2df4
|
|
/* 027E2DF4 */ _t22 = cpu->r[1] + 0x00000148u;
|
|
/* 027E2DF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E2DF8 */ _t23 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E2DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E2DFC */ _t24 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E2DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E2E00 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E2E04 */ _t25 = cpu->r[1] + 0x00000150u;
|
|
/* 027E2E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E2E08 */ cpu->lr = cpu->r[0];
|
|
/* 027E2E0C */ _t26 = cpu->r[1] + 0x00000154u;
|
|
/* 027E2E0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E2E10 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027E2E14 */ return;
|
|
}
|
|
|
|
// fn_027E2E18 @ 0x27e2e18
|
|
void Gambit_fn_027E2E18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027E2E18: ; // 0x27e2e18
|
|
/* 027E2E18 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E2E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2E18 */ cpu->r[1] = _t0;
|
|
/* 027E2E1C */ cpu->r[0] = cpu->lr;
|
|
/* 027E2E20 */ /* nop */
|
|
/* 027E2E24 */ cpu->r[28] = 0x10110000u;
|
|
/* 027E2E28 */ cpu->r[28] = cpu->r[28] + 0xFFFFF6F4u;
|
|
/* 027E2E2C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E2E30 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E2E30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E2E34 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E2E38 */ cpu->r[12] = cpu->r[12] + 0xFFFFF6E0u;
|
|
/* 027E2E3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2E3C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E2E40 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E2E44 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2E44 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 027E2E48 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027E2E48 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E2E4C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E2E4C */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 027E2E50 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2E54 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 027E2E54 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 027E2E58 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 027E2E5C */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027E2E5C */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 027E2E60 */ Gambit_fn_02821D00(cpu);
|
|
/* 027E2E64 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E2E68 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E2E6C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2E6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2E70 */ cpu->r[8] = cpu->r[8] + 0x00002F60u;
|
|
/* 027E2E74 */ cpu->r[9] = cpu->r[9] + 0x00003048u;
|
|
/* 027E2E78 */ _t9 = cpu->r[1] + 0x00000068u;
|
|
/* 027E2E78 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027E2E7C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E2E80 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2E80 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E2E84 */ cpu->r[27] = cpu->r[1] + 0x00000044u;
|
|
/* 027E2E88 */ _t11 = cpu->r[1] + 0x00000064u;
|
|
/* 027E2E88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 027E2E8C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E2E90 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E2E94 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 027E2E94 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 027E2E98 */ cpu->r[12] = cpu->r[12] + 0xFFFFF76Cu;
|
|
/* 027E2E9C */ _t13 = cpu->r[31] + 0x00007399u;
|
|
/* 027E2E9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t13);
|
|
/* 027E2EA0 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E2EA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027E2EA4 */ cpu->r[11] = 0x00000020u;
|
|
/* 027E2EA8 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 027E2EA8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 027E2EAC */ _t16 = cpu->r[1] + 0x00000040u;
|
|
/* 027E2EAC */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 027E2EB0 */ _t17 = cpu->r[1] + 0x00000063u;
|
|
/* 027E2EB0 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[31]);
|
|
/* 027E2EB4 */ _t18 = cpu->r[7] + 0x00000014u;
|
|
/* 027E2EB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E2EB8 */ cpu->ctr = cpu->r[11];
|
|
/* 027E2EBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2EC4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2EC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E2EC8 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 027E2EC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 027E2ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 027E2ED0 */ cpu->r[8] = 0x00080000u;
|
|
/* 027E2ED4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2ED4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E2ED4 */ if (_t22) goto L_027E2EFC; else goto L_027E2ED8;
|
|
L_027E2ED8: ; // 0x27e2ed8
|
|
/* 027E2ED8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E2EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027E2EE0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027E2EE4 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E2EE4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E2EE4 */ if (_t24) goto L_027E2EF8; else goto L_027E2EE8;
|
|
L_027E2EE8: ; // 0x27e2ee8
|
|
/* 027E2EE8 */ _t25 = cpu->r[7] + 0x00000000u;
|
|
/* 027E2EE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 027E2EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E2EF0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E2EF0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E2EF0 */ if (_t27) goto L_027E2EF4; else goto L_027E2ED8;
|
|
L_027E2EF4: ; // 0x27e2ef4
|
|
/* 027E2EF4 */ goto L_027E2EFC;
|
|
L_027E2EF8: ; // 0x27e2ef8
|
|
/* 027E2EF8 */ cpu->r[30] = 0x00000000u;
|
|
L_027E2EFC: ; // 0x27e2efc
|
|
/* 027E2EFC */ _t28 = cpu->r[1] + 0x00000040u;
|
|
/* 027E2EFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E2F00 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2F00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E2F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 027E2F08 */ _t30 = cpu->r[5] + 0x00000014u;
|
|
/* 027E2F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E2F0C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E2F0C */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E2F0C */ if (_t32) goto L_027E2F14; else goto L_027E2F10;
|
|
L_027E2F10: ; // 0x27e2f10
|
|
/* 027E2F10 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_027E2F14: ; // 0x27e2f14
|
|
/* 027E2F14 */ cpu->ctr = cpu->r[0];
|
|
/* 027E2F18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E2F1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E2F20 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 027E2F20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E2F24 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E2F28 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E2F2C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E2F30 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E2F34 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E2F38 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 027E2F38 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 027E2F3C */ cpu->r[9] = cpu->r[9] + 0x00002D64u;
|
|
/* 027E2F40 */ _t35 = cpu->r[27] + cpu->r[30];
|
|
/* 027E2F40 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 027E2F44 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E2F48 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2F4C */ _t36 = cpu->r[1] + 0x00000068u;
|
|
/* 027E2F4C */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 027E2F50 */ cpu->r[31] = cpu->r[31] + 0x00002E6Cu;
|
|
/* 027E2F54 */ _t37 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E2F54 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 027E2F58 */ _t38 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2F58 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 027E2F5C */ cpu->r[0] = cpu->r[0] + 0xFFFFF7F4u;
|
|
/* 027E2F60 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2F64 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027E2F68 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2F68 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 027E2F6C */ Gambit_fn_027E2CDC(cpu);
|
|
/* 027E2F70 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E2F74 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E2F78 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E2F7C */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 027E2F7C */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 027E2F80 */ Gambit_fn_0280C770(cpu);
|
|
/* 027E2F84 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E2F88 */ /* nop */
|
|
/* 027E2F8C */ _t41 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E2F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E2F90 */ cpu->lr = cpu->r[0];
|
|
/* 027E2F94 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E2F98 */ return;
|
|
}
|
|
|
|
// fn_027E2F9C @ 0x27e2f9c
|
|
void Gambit_fn_027E2F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E2F9C: ; // 0x27e2f9c
|
|
/* 027E2F9C */ _t0 = cpu->r[1] + 0xFFFFFE20u;
|
|
/* 027E2F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E2F9C */ cpu->r[1] = _t0;
|
|
/* 027E2FA0 */ /* nop */
|
|
/* 027E2FA4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E2FA8 */ cpu->r[26] = 0x10110000u;
|
|
/* 027E2FAC */ _t1 = cpu->r[1] + 0x000001E4u;
|
|
/* 027E2FAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E2FB0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2FB4 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E2FB8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6E0u;
|
|
/* 027E2FBC */ cpu->r[27] = 0x00000000u;
|
|
/* 027E2FC0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E2FC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E2FC4 */ cpu->r[26] = cpu->r[26] + 0xFFFFF6F4u;
|
|
/* 027E2FC8 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 027E2FC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 027E2FCC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2FCC */ rbrew_write32(cpu->mem, _t4, cpu->r[26]);
|
|
/* 027E2FD0 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 027E2FD4 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 027E2FD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 027E2FD8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E2FDC */ _t6 = cpu->r[1] + 0x00000050u;
|
|
/* 027E2FDC */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 027E2FE0 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 027E2FE4 */ cpu->r[24] = cpu->r[4];
|
|
/* 027E2FE8 */ _t7 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027E2FE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 027E2FEC */ Gambit_fn_02821D00(cpu);
|
|
/* 027E2FF0 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E2FF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E2FF8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027E2FF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E2FFC */ cpu->r[0] = cpu->r[0] + 0x00003048u;
|
|
/* 027E3000 */ _t9 = cpu->r[31] + 0x00007399u;
|
|
/* 027E3000 */ cpu->r[31] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027E3004 */ cpu->r[6] = 0x10110000u;
|
|
/* 027E3008 */ _t10 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E3008 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E300C */ cpu->r[6] = cpu->r[6] + 0x00002F60u;
|
|
/* 027E3010 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E3010 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[31]);
|
|
/* 027E3014 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E3018 */ _t12 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E3018 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 027E301C */ cpu->r[0] = 0x00000020u;
|
|
/* 027E3020 */ _t13 = cpu->r[1] + 0x0000009Bu;
|
|
/* 027E3020 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[31]);
|
|
/* 027E3024 */ cpu->r[10] = cpu->r[10] + 0xFFFFF76Cu;
|
|
/* 027E3028 */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 027E3028 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E302C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E3030 */ _t15 = cpu->r[1] + 0x00000074u;
|
|
/* 027E3030 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 027E3034 */ cpu->r[25] = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E3038 */ _t16 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E3038 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 027E303C */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 027E303C */ rbrew_write32(cpu->mem, _t17, cpu->r[25]);
|
|
/* 027E3040 */ _t18 = cpu->r[11] + 0x00000014u;
|
|
/* 027E3040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E3044 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3048 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E304C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3050 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3050 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E3054 */ _t20 = cpu->r[9] + 0x00000000u;
|
|
/* 027E3054 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 027E3058 */ cpu->r[30] = cpu->r[27];
|
|
/* 027E305C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E3060 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E3064 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3064 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E3064 */ if (_t22) goto L_027E308C; else goto L_027E3068;
|
|
L_027E3068: ; // 0x27e3068
|
|
/* 027E3068 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E306C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 027E3070 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E3074 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E3074 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E3074 */ if (_t24) goto L_027E3088; else goto L_027E3078;
|
|
L_027E3078: ; // 0x27e3078
|
|
/* 027E3078 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 027E3078 */ cpu->r[5] = rbrew_read8(cpu->mem, _t25);
|
|
/* 027E307C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027E3080 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3080 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E3080 */ if (_t27) goto L_027E3084; else goto L_027E3068;
|
|
L_027E3084: ; // 0x27e3084
|
|
/* 027E3084 */ goto L_027E308C;
|
|
L_027E3088: ; // 0x27e3088
|
|
/* 027E3088 */ cpu->r[30] = 0x00000000u;
|
|
L_027E308C: ; // 0x27e308c
|
|
/* 027E308C */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 027E308C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E3090 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3090 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E3094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 027E3098 */ _t30 = cpu->r[6] + 0x00000014u;
|
|
/* 027E3098 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E309C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E309C */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E309C */ if (_t32) goto L_027E30A4; else goto L_027E30A0;
|
|
L_027E30A0: ; // 0x27e30a0
|
|
/* 027E30A0 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_027E30A4: ; // 0x27e30a4
|
|
/* 027E30A4 */ cpu->ctr = cpu->r[7];
|
|
/* 027E30A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E30AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E30B0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E30B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E30B4 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E30B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E30BC */ cpu->r[6] = 0x00000000u;
|
|
/* 027E30C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E30C4 */ _t34 = cpu->r[25] + cpu->r[30];
|
|
/* 027E30C4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[31]);
|
|
/* 027E30C8 */ cpu->r[25] = 0x10110000u;
|
|
/* 027E30CC */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 027E30CC */ rbrew_write32(cpu->mem, _t35, cpu->r[26]);
|
|
/* 027E30D0 */ cpu->r[25] = cpu->r[25] + 0x00002E6Cu;
|
|
/* 027E30D4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E30D8 */ _t36 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E30D8 */ rbrew_write32(cpu->mem, _t36, cpu->r[24]);
|
|
/* 027E30DC */ cpu->r[0] = cpu->r[0] + 0x00002D64u;
|
|
/* 027E30E0 */ _t37 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E30E0 */ rbrew_write32(cpu->mem, _t37, cpu->r[25]);
|
|
/* 027E30E4 */ cpu->r[23] = 0x10110000u;
|
|
/* 027E30E8 */ _t38 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E30E8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 027E30EC */ cpu->r[23] = cpu->r[23] + 0xFFFFF7F6u;
|
|
/* 027E30F0 */ _t39 = cpu->r[28] + 0x00000000u;
|
|
/* 027E30F0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E30F4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E30F8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 027E30F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[23]);
|
|
/* 027E30FC */ Gambit_fn_027E33A4(cpu);
|
|
/* 027E3100 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E3104 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 027E3104 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 027E3108 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E310C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E3110 */ cpu->r[7] = 0x00080000u;
|
|
/* 027E3114 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3114 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E3114 */ if (_t44) goto L_027E313C; else goto L_027E3118;
|
|
L_027E3118: ; // 0x27e3118
|
|
/* 027E3118 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E311C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 027E3120 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E3124 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E3124 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027E3124 */ if (_t46) goto L_027E3138; else goto L_027E3128;
|
|
L_027E3128: ; // 0x27e3128
|
|
/* 027E3128 */ _t47 = cpu->r[12] + 0x00000000u;
|
|
/* 027E3128 */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
|
|
/* 027E312C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E3130 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3130 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E3130 */ if (_t49) goto L_027E3134; else goto L_027E3118;
|
|
L_027E3134: ; // 0x27e3134
|
|
/* 027E3134 */ goto L_027E313C;
|
|
L_027E3138: ; // 0x27e3138
|
|
/* 027E3138 */ cpu->r[30] = 0x00000000u;
|
|
L_027E313C: ; // 0x27e313c
|
|
/* 027E313C */ _t50 = cpu->r[28] + 0x00000008u;
|
|
/* 027E313C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027E3140 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 027E3140 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E3144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027E3148 */ _t52 = cpu->r[11] + 0x00000014u;
|
|
/* 027E3148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E314C */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E314C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027E314C */ if (_t54) goto L_027E3154; else goto L_027E3150;
|
|
L_027E3150: ; // 0x27e3150
|
|
/* 027E3150 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027E3154: ; // 0x27e3154
|
|
/* 027E3154 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3158 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E315C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3160 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3160 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E3164 */ cpu->r[3] = cpu->r[24];
|
|
/* 027E3168 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E316C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E3170 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E3174 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E3178 */ _t56 = cpu->r[24] + cpu->r[30];
|
|
/* 027E3178 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[31]);
|
|
/* 027E317C */ cpu->r[0] = cpu->r[0] + 0xFFFFF7B4u;
|
|
/* 027E3180 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 027E3180 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
/* 027E3184 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3188 */ cpu->r[4] = 0x00000020u;
|
|
/* 027E318C */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E318C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027E3190 */ cpu->r[22] = 0x00000000u;
|
|
/* 027E3194 */ _t59 = cpu->r[1] + 0x00000028u;
|
|
/* 027E3194 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 027E3198 */ Gambit_fn_02C89380(cpu);
|
|
/* 027E319C */ cpu->r[24] = 0x10110000u;
|
|
/* 027E31A0 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E31A4 */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E31A8 */ cpu->r[24] = cpu->r[24] + 0xFFFFF7C4u;
|
|
/* 027E31AC */ cpu->r[5] = 0x00000110u;
|
|
/* 027E31B0 */ cpu->r[6] = cpu->r[6] + 0x000033D8u;
|
|
/* 027E31B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E31B8 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E31B8 */ rbrew_write32(cpu->mem, _t60, cpu->r[24]);
|
|
/* 027E31BC */ Gambit_fn_02C82E00(cpu);
|
|
/* 027E31C0 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E31C4 */ _t61 = cpu->r[1] + 0x00000020u;
|
|
/* 027E31C4 */ rbrew_write32(cpu->mem, _t61, cpu->r[26]);
|
|
/* 027E31C8 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027E31CC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E31D0 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E31D0 */ rbrew_write32(cpu->mem, _t62, cpu->r[23]);
|
|
/* 027E31D4 */ Gambit_fn_0280CEBC(cpu);
|
|
/* 027E31D8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E31DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E31E0 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E31E4 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 027E31E8 */ cpu->r[6] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E31EC */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027E31EC */ rbrew_write32(cpu->mem, _t63, cpu->r[27]);
|
|
/* 027E31F0 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E31F4 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 027E31F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E31F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027E31FC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E31FC */ _t66 = _t65 & 0x00000001u;
|
|
/* 027E31FC */ if (_t66) goto L_027E3314; else goto L_027E3200;
|
|
L_027E3200: ; // 0x27e3200
|
|
/* 027E3200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 027E3204 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E3208 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3208 */ _t68 = _t67 & 0x00000001u;
|
|
/* 027E3208 */ if (_t68) goto L_027E3218; else goto L_027E320C;
|
|
L_027E320C: ; // 0x27e320c
|
|
/* 027E320C */ goto L_027E32E8;
|
|
L_027E3210: ; // 0x27e3210
|
|
/* 027E3210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 027E3214 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3214 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027E3214 */ if (_t70) goto L_027E3218; else goto L_027E32E8;
|
|
L_027E3218: ; // 0x27e3218
|
|
/* 027E3218 */ _t71 = cpu->r[1] + 0x000000ACu;
|
|
/* 027E3218 */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E321C */ _t72 = cpu->r[7] + 0x00000014u;
|
|
/* 027E321C */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027E3220 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3224 */ _t73 = cpu->r[28] + 0x00000000u;
|
|
/* 027E3224 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E3228 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E322C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3230 */ _t74 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E3230 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E3234 */ _t75 = cpu->r[6] + 0x00000000u;
|
|
/* 027E3234 */ cpu->r[10] = rbrew_read8(cpu->mem, _t75);
|
|
/* 027E3238 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E323C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E3240 */ cpu->r[8] = 0x00080000u;
|
|
/* 027E3244 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3244 */ _t77 = _t76 & 0x00000001u;
|
|
/* 027E3244 */ if (_t77) goto L_027E326C; else goto L_027E3248;
|
|
L_027E3248: ; // 0x27e3248
|
|
/* 027E3248 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E324C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027E3250 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E3254 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E3254 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027E3254 */ if (_t79) goto L_027E3268; else goto L_027E3258;
|
|
L_027E3258: ; // 0x27e3258
|
|
/* 027E3258 */ _t80 = cpu->r[6] + 0x00000000u;
|
|
/* 027E3258 */ cpu->r[0] = rbrew_read8(cpu->mem, _t80);
|
|
/* 027E325C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E3260 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3260 */ _t82 = _t81 & 0x00000001u;
|
|
/* 027E3260 */ if (_t82) goto L_027E3264; else goto L_027E3248;
|
|
L_027E3264: ; // 0x27e3264
|
|
/* 027E3264 */ goto L_027E326C;
|
|
L_027E3268: ; // 0x27e3268
|
|
/* 027E3268 */ cpu->r[30] = 0x00000000u;
|
|
L_027E326C: ; // 0x27e326c
|
|
/* 027E326C */ _t83 = cpu->r[28] + 0x00000008u;
|
|
/* 027E326C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027E3270 */ _t84 = cpu->r[1] + 0x000000ACu;
|
|
/* 027E3270 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027E3274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027E3278 */ _t85 = cpu->r[5] + 0x00000014u;
|
|
/* 027E3278 */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027E327C */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E327C */ _t87 = _t86 & 0x00000001u;
|
|
/* 027E327C */ if (_t87) goto L_027E3284; else goto L_027E3280;
|
|
L_027E3280: ; // 0x27e3280
|
|
/* 027E3280 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027E3284: ; // 0x27e3284
|
|
/* 027E3284 */ cpu->ctr = cpu->r[6];
|
|
/* 027E3288 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E328C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3290 */ _t88 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E3290 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027E3294 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3298 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E329C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E32A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E32A4 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027E32A8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E32AC */ _t89 = cpu->r[29] + cpu->r[30];
|
|
/* 027E32AC */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
|
|
/* 027E32B0 */ Gambit_fn_0280C8C8(cpu);
|
|
/* 027E32B4 */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E32B8 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E32BC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E32C0 */ cpu->r[6] = cpu->r[6] + 0x000034F8u;
|
|
/* 027E32C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E32C8 */ cpu->r[8] = cpu->r[7];
|
|
/* 027E32CC */ cpu->r[5] = 0x00000110u;
|
|
/* 027E32D0 */ Gambit_fn_02C82F38(cpu);
|
|
/* 027E32D4 */ _t90 = cpu->r[1] + 0x00000028u;
|
|
/* 027E32D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027E32D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E32DC */ _t91 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E32DC */ rbrew_write32(cpu->mem, _t91, cpu->r[24]);
|
|
/* 027E32E0 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E32E0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 027E32E0 */ if (_t93) goto L_027E32E4; else goto L_027E3350;
|
|
L_027E32E4: ; // 0x27e32e4
|
|
/* 027E32E4 */ goto L_027E3358;
|
|
L_027E32E8: ; // 0x27e32e8
|
|
/* 027E32E8 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E32EC */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E32F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E32F4 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 027E32F8 */ cpu->r[6] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E32FC */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 027E32FC */ rbrew_write32(cpu->mem, _t94, cpu->r[30]);
|
|
/* 027E3300 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027E3304 */ Gambit_fn_0280CF68(cpu);
|
|
/* 027E3308 */ _t95 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027E330C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E3310 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3310 */ _t97 = _t96 & 0x00000001u;
|
|
/* 027E3310 */ if (_t97) goto L_027E3314; else goto L_027E3210;
|
|
L_027E3314: ; // 0x27e3314
|
|
/* 027E3314 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E3318 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027E331C */ Gambit_fn_0280C8C8(cpu);
|
|
/* 027E3320 */ cpu->r[6] = 0x027E0000u;
|
|
/* 027E3324 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E3328 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E332C */ cpu->r[6] = cpu->r[6] + 0x000034F8u;
|
|
/* 027E3330 */ cpu->r[4] = 0x00000001u;
|
|
/* 027E3334 */ cpu->r[8] = cpu->r[7];
|
|
/* 027E3338 */ cpu->r[5] = 0x00000110u;
|
|
/* 027E333C */ Gambit_fn_02C82F38(cpu);
|
|
/* 027E3340 */ _t98 = cpu->r[1] + 0x00000028u;
|
|
/* 027E3340 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027E3344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3348 */ _t99 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E3348 */ rbrew_write32(cpu->mem, _t99, cpu->r[24]);
|
|
/* 027E334C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E334C */ _t101 = _t100 & 0x00000001u;
|
|
/* 027E334C */ if (_t101) goto L_027E3358; else goto L_027E3350;
|
|
L_027E3350: ; // 0x27e3350
|
|
/* 027E3350 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027E3354 */ Gambit_fn_0280C8C8(cpu);
|
|
L_027E3358: ; // 0x27e3358
|
|
/* 027E3358 */ _t102 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E3358 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
/* 027E335C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 027E3360 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E3364 */ Gambit_fn_0280C770(cpu);
|
|
/* 027E3368 */ /* nop */
|
|
/* 027E336C */ _t103 = cpu->r[1] + 0x000001E4u;
|
|
/* 027E336C */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027E3370 */ cpu->lr = cpu->r[0];
|
|
/* 027E3374 */ cpu->r[1] = cpu->r[1] + 0x000001E0u;
|
|
/* 027E3378 */ return;
|
|
}
|
|
|
|
// fn_027E337C @ 0x27e337c
|
|
void Gambit_fn_027E337C(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_027E337C: ; // 0x27e337c
|
|
/* 027E337C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3380 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3380 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3380 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3380 */ goto L_027E3384;
|
|
L_027E3384: ; // 0x27e3384
|
|
/* 027E3384 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3388 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3388 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3388 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3388 */ goto L_027E338C;
|
|
L_027E338C: ; // 0x27e338c
|
|
/* 027E338C */ 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_027E3390 @ 0x27e3390
|
|
void Gambit_fn_027E3390(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_027E3390: ; // 0x27e3390
|
|
/* 027E3390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3394 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3394 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3394 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3394 */ goto L_027E3398;
|
|
L_027E3398: ; // 0x27e3398
|
|
/* 027E3398 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E339C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E339C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E339C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E339C */ goto L_027E33A0;
|
|
L_027E33A0: ; // 0x27e33a0
|
|
/* 027E33A0 */ 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_027E33A4 @ 0x27e33a4
|
|
void Gambit_fn_027E33A4(CPUState* cpu) {
|
|
L_027E33A4: ; // 0x27e33a4
|
|
/* 027E33A4 */ return;
|
|
}
|
|
|
|
// fn_027E33A8 @ 0x27e33a8
|
|
void Gambit_fn_027E33A8(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_027E33A8: ; // 0x27e33a8
|
|
/* 027E33A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E33AC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E33AC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E33AC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E33AC */ goto L_027E33B0;
|
|
L_027E33B0: ; // 0x27e33b0
|
|
/* 027E33B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E33B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E33B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E33B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E33B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E33B4 */ goto L_027E33B8;
|
|
L_027E33B8: ; // 0x27e33b8
|
|
/* 027E33B8 */ 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_027E33BC @ 0x27e33bc
|
|
void Gambit_fn_027E33BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E33BC: ; // 0x27e33bc
|
|
/* 027E33BC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E33BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E33C0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E33C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E33C4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E33C8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E33CC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E33CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E33D0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E33D0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E33D4 */ return;
|
|
}
|
|
|
|
// fn_027E33DC @ 0x27e33dc
|
|
void Gambit_fn_027E33DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E33DC: ; // 0x27e33dc
|
|
/* 027E33DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E33DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E33DC */ cpu->r[1] = _t0;
|
|
/* 027E33E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E33E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027E33E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E33E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027E33E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E33E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E33EC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E33EC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027E33F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E33F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E33F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E33F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E33F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E33F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E33F8 */ if (_t7) goto L_027E33FC; else goto L_027E340C;
|
|
L_027E33FC: ; // 0x27e33fc
|
|
/* 027E33FC */ cpu->r[3] = 0x00000110u;
|
|
/* 027E3400 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3404 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E3404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E3408 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3408 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E3408 */ if (_t9) goto L_027E34C0; else goto L_027E340C;
|
|
L_027E340C: ; // 0x27e340c
|
|
/* 027E340C */ cpu->r[28] = cpu->r[31];
|
|
/* 027E340C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E3410 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3410 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E3410 */ if (_t11) goto L_027E3414; else goto L_027E3424;
|
|
L_027E3414: ; // 0x27e3414
|
|
/* 027E3414 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E3418 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E341C */ cpu->r[28] = cpu->r[3];
|
|
/* 027E341C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E3420 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3420 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E3420 */ if (_t13) goto L_027E34B8; else goto L_027E3424;
|
|
L_027E3424: ; // 0x27e3424
|
|
/* 027E3424 */ cpu->r[30] = cpu->r[28];
|
|
/* 027E3424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E3428 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3428 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E3428 */ if (_t15) goto L_027E342C; else goto L_027E343C;
|
|
L_027E342C: ; // 0x27e342c
|
|
/* 027E342C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 027E3430 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3434 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E3434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E3438 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3438 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E3438 */ if (_t17) goto L_027E34AC; else goto L_027E343C;
|
|
L_027E343C: ; // 0x27e343c
|
|
/* 027E343C */ cpu->r[3] = cpu->r[30];
|
|
/* 027E343C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3440 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E3444 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3444 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E3444 */ if (_t19) goto L_027E3448; else goto L_027E3474;
|
|
L_027E3448: ; // 0x27e3448
|
|
/* 027E3448 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E344C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3454 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3454 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E3454 */ if (_t21) goto L_027E3458; else goto L_027E3474;
|
|
L_027E3458: ; // 0x27e3458
|
|
/* 027E3458 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E345C */ _t22 = cpu->r[29] + 0x00007399u;
|
|
/* 027E345C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027E3460 */ cpu->r[9] = cpu->r[9] + 0xFFFFF784u;
|
|
/* 027E3464 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027E3464 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E3468 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 027E3468 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 027E346C */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 027E346C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 027E3470 */ goto L_027E34AC;
|
|
L_027E3474: ; // 0x27e3474
|
|
/* 027E3474 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E3478 */ cpu->r[6] = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E347C */ cpu->r[7] = cpu->r[7] + 0xFFFFF70Cu;
|
|
/* 027E3480 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3480 */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
/* 027E3484 */ cpu->r[8] = 0x00000100u;
|
|
/* 027E3488 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 027E3488 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 027E348C */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 027E348C */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027E3490 */ _t29 = cpu->r[29] + 0x00007399u;
|
|
/* 027E3490 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 027E3494 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E3498 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 027E3498 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E349C */ cpu->r[9] = cpu->r[9] + 0xFFFFF784u;
|
|
/* 027E34A0 */ _t31 = cpu->r[30] + 0x0000010Bu;
|
|
/* 027E34A0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 027E34A4 */ _t32 = cpu->r[30] + 0x00000004u;
|
|
/* 027E34A4 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
/* 027E34A8 */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 027E34A8 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[0]);
|
|
L_027E34AC: ; // 0x27e34ac
|
|
/* 027E34AC */ cpu->r[11] = 0x10110000u;
|
|
/* 027E34B0 */ cpu->r[11] = cpu->r[11] + 0xFFFFF79Cu;
|
|
/* 027E34B4 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 027E34B4 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
L_027E34B8: ; // 0x27e34b8
|
|
/* 027E34B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 027E34BC */ _t35 = cpu->r[31] + 0x0000010Cu;
|
|
/* 027E34BC */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
L_027E34C0: ; // 0x27e34c0
|
|
/* 027E34C0 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 027E34C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E34C4 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E34C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E34C8 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E34C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E34CC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E34D0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027E34D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E34D4 */ cpu->lr = cpu->r[0];
|
|
/* 027E34D8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 027E34D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E34DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E34E0 */ return;
|
|
}
|
|
|
|
// fn_027E34E4 @ 0x27e34e4
|
|
void Gambit_fn_027E34E4(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_027E34E4: ; // 0x27e34e4
|
|
/* 027E34E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E34E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E34E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E34E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E34E8 */ goto L_027E34EC;
|
|
L_027E34EC: ; // 0x27e34ec
|
|
/* 027E34EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E34EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E34F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E34F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E34F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E34F0 */ goto L_027E34F4;
|
|
L_027E34F4: ; // 0x27e34f4
|
|
/* 027E34F4 */ 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_027E350C @ 0x27e350c
|
|
void Gambit_fn_027E350C(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_027E350C: ; // 0x27e350c
|
|
/* 027E350C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3510 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3510 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3510 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3510 */ goto L_027E3514;
|
|
L_027E3514: ; // 0x27e3514
|
|
/* 027E3514 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3518 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3518 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3518 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3518 */ goto L_027E351C;
|
|
L_027E351C: ; // 0x27e351c
|
|
/* 027E351C */ 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_027E3520 @ 0x27e3520
|
|
void Gambit_fn_027E3520(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_027E3520: ; // 0x27e3520
|
|
/* 027E3520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3524 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3524 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3524 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3524 */ goto L_027E3528;
|
|
L_027E3528: ; // 0x27e3528
|
|
/* 027E3528 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E352C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E352C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E352C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E352C */ goto L_027E3530;
|
|
L_027E3530: ; // 0x27e3530
|
|
/* 027E3530 */ 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_027E3534 @ 0x27e3534
|
|
void Gambit_fn_027E3534(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_027E3534: ; // 0x27e3534
|
|
/* 027E3534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3538 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3538 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3538 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3538 */ goto L_027E353C;
|
|
L_027E353C: ; // 0x27e353c
|
|
/* 027E353C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E353C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3540 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3540 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3540 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3540 */ goto L_027E3544;
|
|
L_027E3544: ; // 0x27e3544
|
|
/* 027E3544 */ 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_027E3548 @ 0x27e3548
|
|
void Gambit_fn_027E3548(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_027E3548: ; // 0x27e3548
|
|
/* 027E3548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E354C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E354C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E354C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E354C */ goto L_027E3550;
|
|
L_027E3550: ; // 0x27e3550
|
|
/* 027E3550 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3554 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3554 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3554 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3554 */ goto L_027E3558;
|
|
L_027E3558: ; // 0x27e3558
|
|
/* 027E3558 */ 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_027E355C @ 0x27e355c
|
|
void Gambit_fn_027E355C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027E355C: ; // 0x27e355c
|
|
/* 027E355C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E3560 */ _t0 = cpu->r[12] + 0xFFFF9780u;
|
|
/* 027E3560 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027E3564 */ return;
|
|
}
|
|
|
|
// fn_027E3568 @ 0x27e3568
|
|
void Gambit_fn_027E3568(CPUState* cpu) {
|
|
L_027E3568: ; // 0x27e3568
|
|
/* 027E3568 */ return;
|
|
}
|
|
|
|
// fn_027E356C @ 0x27e356c
|
|
void Gambit_fn_027E356C(CPUState* cpu) {
|
|
L_027E356C: ; // 0x27e356c
|
|
/* 027E356C */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3570 */ return;
|
|
}
|
|
|
|
// fn_027E3574 @ 0x27e3574
|
|
void Gambit_fn_027E3574(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_027E3574: ; // 0x27e3574
|
|
/* 027E3574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3578 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3578 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E3578 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3578 */ goto L_027E357C;
|
|
L_027E357C: ; // 0x27e357c
|
|
/* 027E357C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E357C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3580 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3580 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3580 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E3580 */ goto L_027E3584;
|
|
L_027E3584: ; // 0x27e3584
|
|
/* 027E3584 */ 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_027E3588 @ 0x27e3588
|
|
void Gambit_fn_027E3588(CPUState* cpu) {
|
|
L_027E3588: ; // 0x27e3588
|
|
/* 027E3588 */ return;
|
|
}
|
|
|
|
// fn_027E358C @ 0x27e358c
|
|
void Gambit_fn_027E358C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027E358C: ; // 0x27e358c
|
|
/* 027E358C */ cpu->r[0] = cpu->lr;
|
|
/* 027E3590 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E3590 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E3594 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3598 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3598 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E3598 */ cpu->r[1] = _t1;
|
|
/* 027E359C */ _t2 = cpu->r[12] + 0x00001350u;
|
|
/* 027E359C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E35A0 */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 027E35A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E35A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E35A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E35A8 */ if (_t5) goto L_027E35AC; else goto L_027E3630;
|
|
L_027E35AC: ; // 0x27e35ac
|
|
/* 027E35AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E35B0 */ _t6 = cpu->r[12] + 0x000042A4u;
|
|
/* 027E35B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E35B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E35B8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E35B8 */ if (_t8) goto L_027E35C8; else goto L_027E35BC;
|
|
L_027E35BC: ; // 0x27e35bc
|
|
/* 027E35BC */ _t9 = cpu->r[12] + 0x00000020u;
|
|
/* 027E35BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027E35C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E35C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E35C4 */ if (_t11) goto L_027E35C8; else goto L_027E361C;
|
|
L_027E35C8: ; // 0x27e35c8
|
|
/* 027E35C8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E35CC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E35D0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E35D4 */ _t12 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 027E35D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E35D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF828u;
|
|
/* 027E35DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E35E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF8A0u;
|
|
/* 027E35E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E35E4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 027E35E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E35EC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E35EC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E35F0 */ Gambit_fn_02809494(cpu);
|
|
/* 027E35F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E35F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E35FC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35FC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E35FC */ if (_t16) goto L_027E3604; else goto L_027E3600;
|
|
L_027E3600: ; // 0x27e3600
|
|
/* 027E3600 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
L_027E3604: ; // 0x27e3604
|
|
/* 027E3604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3608 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3608 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E3608 */ if (_t19) goto L_027E3630; else goto L_027E360C;
|
|
L_027E360C: ; // 0x27e360c
|
|
/* 027E360C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E3610 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3610 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E3610 */ if (_t21) goto L_027E3630; else goto L_027E3614;
|
|
L_027E3614: ; // 0x27e3614
|
|
/* 027E3614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027E3618 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3618 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E3618 */ if (_t23) goto L_027E361C; else goto L_027E3630;
|
|
L_027E361C: ; // 0x27e361c
|
|
/* 027E361C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027E361C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E3620 */ cpu->lr = cpu->r[0];
|
|
/* 027E3624 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3628 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E362C */ return;
|
|
L_027E3630: ; // 0x27e3630
|
|
/* 027E3630 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E3634 */ cpu->lr = cpu->r[0];
|
|
/* 027E3638 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E363C */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3640 */ return;
|
|
}
|
|
|
|
// fn_027E3598 @ 0x27e3598
|
|
void Gambit_fn_027E3598(CPUState* cpu) {
|
|
uint32_t _t0, _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_027E3598: ; // 0x27e3598
|
|
/* 027E3598 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3598 */ cpu->r[1] = _t0;
|
|
/* 027E359C */ _t1 = cpu->r[12] + 0x00001350u;
|
|
/* 027E359C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E35A0 */ _t2 = cpu->r[12] + 0x00000010u;
|
|
/* 027E35A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E35A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E35A8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35A8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E35A8 */ if (_t4) goto L_027E35AC; else goto L_027E3630;
|
|
L_027E35AC: ; // 0x27e35ac
|
|
/* 027E35AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E35B0 */ _t5 = cpu->r[12] + 0x000042A4u;
|
|
/* 027E35B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E35B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E35B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E35B8 */ if (_t7) goto L_027E35C8; else goto L_027E35BC;
|
|
L_027E35BC: ; // 0x27e35bc
|
|
/* 027E35BC */ _t8 = cpu->r[12] + 0x00000020u;
|
|
/* 027E35BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027E35C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E35C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E35C4 */ if (_t10) goto L_027E35C8; else goto L_027E361C;
|
|
L_027E35C8: ; // 0x27e35c8
|
|
/* 027E35C8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E35CC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E35D0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E35D4 */ _t11 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 027E35D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E35D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFF828u;
|
|
/* 027E35DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E35E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF8A0u;
|
|
/* 027E35E4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E35E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 027E35E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E35EC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E35EC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E35F0 */ Gambit_fn_02809494(cpu);
|
|
/* 027E35F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E35F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E35FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E35FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E35FC */ if (_t15) goto L_027E3604; else goto L_027E3600;
|
|
L_027E3600: ; // 0x27e3600
|
|
/* 027E3600 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
L_027E3604: ; // 0x27e3604
|
|
/* 027E3604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3608 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3608 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E3608 */ if (_t18) goto L_027E3630; else goto L_027E360C;
|
|
L_027E360C: ; // 0x27e360c
|
|
/* 027E360C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E3610 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3610 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E3610 */ if (_t20) goto L_027E3630; else goto L_027E3614;
|
|
L_027E3614: ; // 0x27e3614
|
|
/* 027E3614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027E3618 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3618 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E3618 */ if (_t22) goto L_027E361C; else goto L_027E3630;
|
|
L_027E361C: ; // 0x27e361c
|
|
/* 027E361C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027E361C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E3620 */ cpu->lr = cpu->r[0];
|
|
/* 027E3624 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3628 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E362C */ return;
|
|
L_027E3630: ; // 0x27e3630
|
|
/* 027E3630 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E3634 */ cpu->lr = cpu->r[0];
|
|
/* 027E3638 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E363C */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3640 */ return;
|
|
}
|
|
|
|
// fn_027E3644 @ 0x27e3644
|
|
void Gambit_fn_027E3644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E3644: ; // 0x27e3644
|
|
/* 027E3644 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E3644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3644 */ cpu->r[1] = _t0;
|
|
/* 027E3648 */ /* nop */
|
|
/* 027E364C */ cpu->r[0] = cpu->lr;
|
|
/* 027E3650 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E3650 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E3654 */ cpu->r[28] = 0x101C0000u;
|
|
/* 027E3658 */ _t2 = cpu->r[28] + 0x00001358u;
|
|
/* 027E3658 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E365C */ cpu->r[31] = 0x10110000u;
|
|
/* 027E3660 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027E3660 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E3664 */ _t4 = cpu->r[31] + 0x00007399u;
|
|
/* 027E3664 */ cpu->r[31] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027E3668 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 027E3668 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027E366C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E3670 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3670 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E3670 */ if (_t7) goto L_027E3674; else goto L_027E3DF4;
|
|
L_027E3674: ; // 0x27e3674
|
|
/* 027E3674 */ cpu->r[27] = 0x10110000u;
|
|
/* 027E3678 */ cpu->r[24] = 0x101D0000u;
|
|
/* 027E367C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E3680 */ cpu->r[27] = cpu->r[27] + 0xFFFFF828u;
|
|
/* 027E3684 */ _t8 = cpu->r[24] + 0xFFFF9884u;
|
|
/* 027E3684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E3684 */ cpu->r[24] = _t8;
|
|
/* 027E3688 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E368C */ cpu->r[0] = cpu->r[0] + 0xFFFFF8B8u;
|
|
/* 027E3690 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 027E3690 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 027E3694 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 027E3698 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 027E3698 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E369C */ Gambit_fn_02809408(cpu);
|
|
/* 027E36A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E36A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E36A4 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 027E36A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E36A8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 027E36AC */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 027E36AC */ cpu->r[5] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027E36B0 */ _t13 = cpu->r[30] + 0x000036BCu;
|
|
/* 027E36B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E36B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027E36B8 */ cpu->r[26] = 0x00000000u;
|
|
/* 027E36BC */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E36BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E36C0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E36C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E36C0 */ if (_t16) goto L_027E36C4; else goto L_027E3800;
|
|
L_027E36C4: ; // 0x27e36c4
|
|
/* 027E36C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E36C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E36C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E36C8 */ if (_t18) goto L_027E3734; else goto L_027E36CC;
|
|
L_027E36CC: ; // 0x27e36cc
|
|
/* 027E36CC */ _t19 = cpu->r[30] + 0x00000018u;
|
|
/* 027E36CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E36D0 */ _t20 = cpu->r[30] + 0x00000014u;
|
|
/* 027E36D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E36D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 027E36D8 */ _t21 = cpu->r[30] + 0x00000010u;
|
|
/* 027E36D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E36DC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E36DC */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E36DC */ if (_t23) goto L_027E36E4; else goto L_027E36E0;
|
|
L_027E36E0: ; // 0x27e36e0
|
|
/* 027E36E0 */ cpu->r[12] = cpu->r[12] - cpu->r[10];
|
|
L_027E36E4: ; // 0x27e36e4
|
|
/* 027E36E4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000078u);
|
|
/* 027E36E8 */ cpu->r[30] = cpu->r[7] + cpu->r[6];
|
|
/* 027E36EC */ _t24 = cpu->r[30] + 0x00000030u;
|
|
/* 027E36EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E36F0 */ _t25 = cpu->r[8] + 0x00000014u;
|
|
/* 027E36F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E36F4 */ cpu->ctr = cpu->r[9];
|
|
/* 027E36F8 */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E36FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3700 */ _t26 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3700 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E3704 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 027E3704 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 027E3708 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 027E370C */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 027E370C */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027E3710 */ _t29 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027E3710 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E3714 */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E3718 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 027E3718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E371C */ _t31 = cpu->r[4] + 0x00000000u;
|
|
/* 027E371C */ cpu->r[10] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027E3720 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E3724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E3728 */ cpu->r[6] = 0x00080000u;
|
|
/* 027E372C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E372C */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E372C */ if (_t33) goto L_027E3730; else goto L_027E3778;
|
|
L_027E3730: ; // 0x27e3730
|
|
/* 027E3730 */ goto L_027E379C;
|
|
L_027E3734: ; // 0x27e3734
|
|
/* 027E3734 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E3738 */ _t34 = cpu->r[30] + 0x00000030u;
|
|
/* 027E3738 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E373C */ _t35 = cpu->r[8] + 0x00000014u;
|
|
/* 027E373C */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E3740 */ cpu->ctr = cpu->r[9];
|
|
/* 027E3744 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027E3748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E374C */ _t36 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E374C */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E3750 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 027E3750 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 027E3754 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 027E3758 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 027E3758 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 027E375C */ _t39 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027E375C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E3760 */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E3764 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 027E3764 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E3768 */ _t41 = cpu->r[4] + 0x00000000u;
|
|
/* 027E3768 */ cpu->r[10] = rbrew_read8(cpu->mem, _t41);
|
|
/* 027E376C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E3770 */ cpu->r[6] = 0x00080000u;
|
|
/* 027E3774 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3774 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027E3774 */ if (_t43) goto L_027E3730; else goto L_027E3778;
|
|
L_027E3778: ; // 0x27e3778
|
|
/* 027E3778 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E377C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 027E3780 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 027E3784 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E3784 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E3784 */ if (_t45) goto L_027E3798; else goto L_027E3788;
|
|
L_027E3788: ; // 0x27e3788
|
|
/* 027E3788 */ _t46 = cpu->r[4] + 0x00000000u;
|
|
/* 027E3788 */ cpu->r[11] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027E378C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 027E3790 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3790 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E3790 */ if (_t48) goto L_027E3794; else goto L_027E3778;
|
|
L_027E3794: ; // 0x27e3794
|
|
/* 027E3794 */ goto L_027E379C;
|
|
L_027E3798: ; // 0x27e3798
|
|
/* 027E3798 */ cpu->r[30] = 0x00000000u;
|
|
L_027E379C: ; // 0x27e379c
|
|
/* 027E379C */ _t49 = cpu->r[28] + 0x00000024u;
|
|
/* 027E379C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E37A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027E37A4 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E37A4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E37A4 */ if (_t51) goto L_027E37AC; else goto L_027E37A8;
|
|
L_027E37A8: ; // 0x27e37a8
|
|
/* 027E37A8 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027E37AC: ; // 0x27e37ac
|
|
/* 027E37AC */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 027E37AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E37B0 */ _t53 = cpu->r[12] + 0x00000014u;
|
|
/* 027E37B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E37B4 */ cpu->ctr = cpu->r[0];
|
|
/* 027E37B8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 027E37BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E37C0 */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 027E37C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E37C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E37C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E37CC */ cpu->r[3] = cpu->r[29];
|
|
/* 027E37D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E37D4 */ _t55 = cpu->r[29] + cpu->r[30];
|
|
/* 027E37D4 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[31]);
|
|
/* 027E37D8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E37DC */ _t56 = cpu->r[1] + 0x00000040u;
|
|
/* 027E37DC */ rbrew_write32(cpu->mem, _t56, cpu->r[27]);
|
|
/* 027E37E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu;
|
|
/* 027E37E4 */ _t57 = cpu->r[24] + 0x00000000u;
|
|
/* 027E37E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E37E8 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E37EC */ cpu->r[5] = 0x00000001u;
|
|
/* 027E37F0 */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E37F0 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027E37F4 */ Gambit_fn_02809408(cpu);
|
|
/* 027E37F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E37F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E37FC */ goto L_027E3C24;
|
|
L_027E3800: ; // 0x27e3800
|
|
/* 027E3800 */ cpu->r[21] = 0x00000000u;
|
|
/* 027E3804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[8]);
|
|
/* 027E3808 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3808 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027E3808 */ if (_t60) goto L_027E380C; else goto L_027E3C00;
|
|
L_027E380C: ; // 0x27e380c
|
|
/* 027E380C */ cpu->r[20] = 0x00080000u;
|
|
/* 027E3810 */ cpu->r[25] = cpu->r[31];
|
|
/* 027E3814 */ cpu->r[20] = cpu->r[20] + 0x00000001u;
|
|
L_027E3818: ; // 0x27e3818
|
|
/* 027E3818 */ _t61 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E3818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027E381C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E3820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[10]);
|
|
/* 027E3824 */ cpu->r[22] = 0x00000001u;
|
|
/* 027E3828 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3828 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027E3828 */ if (_t63) goto L_027E382C; else goto L_027E38C0;
|
|
L_027E382C: ; // 0x27e382c
|
|
/* 027E382C */ _t64 = cpu->r[30] + 0x00000018u;
|
|
/* 027E382C */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E3830 */ _t65 = cpu->r[30] + 0x00000014u;
|
|
/* 027E3830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E3834 */ cpu->r[8] = cpu->r[12] + cpu->r[21];
|
|
/* 027E3838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[10]);
|
|
/* 027E383C */ _t66 = cpu->r[30] + 0x00000010u;
|
|
/* 027E383C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E3840 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3840 */ _t68 = _t67 & 0x00000001u;
|
|
/* 027E3840 */ if (_t68) goto L_027E3848; else goto L_027E3844;
|
|
L_027E3844: ; // 0x27e3844
|
|
/* 027E3844 */ cpu->r[8] = cpu->r[8] - cpu->r[10];
|
|
L_027E3848: ; // 0x27e3848
|
|
/* 027E3848 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000078u);
|
|
/* 027E384C */ cpu->r[23] = cpu->r[4] + cpu->r[0];
|
|
/* 027E3850 */ _t69 = cpu->r[23] + 0x00000030u;
|
|
/* 027E3850 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E3854 */ _t70 = cpu->r[5] + 0x00000014u;
|
|
/* 027E3854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E3858 */ cpu->ctr = cpu->r[6];
|
|
/* 027E385C */ cpu->r[3] = cpu->r[23] + 0x0000002Cu;
|
|
/* 027E3860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3864 */ _t71 = cpu->r[23] + 0x0000002Cu;
|
|
/* 027E3864 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E3868 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3868 */ rbrew_write32(cpu->mem, _t72, cpu->r[27]);
|
|
/* 027E386C */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 027E386C */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
/* 027E3870 */ _t74 = cpu->r[29] + 0x00000004u;
|
|
/* 027E3870 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E3874 */ _t75 = cpu->r[7] + 0x00000014u;
|
|
/* 027E3874 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027E3878 */ cpu->ctr = cpu->r[8];
|
|
/* 027E387C */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3880 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3884 */ _t76 = cpu->r[29] + 0x00000004u;
|
|
/* 027E3884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027E3888 */ _t77 = cpu->r[9] + 0x00000014u;
|
|
/* 027E3888 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E388C */ cpu->ctr = cpu->r[10];
|
|
/* 027E3890 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3898 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3898 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027E389C */ _t79 = cpu->r[11] + 0x00000014u;
|
|
/* 027E389C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027E38A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027E38A4 */ _t80 = cpu->r[29] + 0x00000000u;
|
|
/* 027E38A4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027E38A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E38AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E38B0 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 027E38B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027E38B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 027E38B8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E38B8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027E38B8 */ if (_t83) goto L_027E3AA8; else goto L_027E38BC;
|
|
L_027E38BC: ; // 0x27e38bc
|
|
/* 027E38BC */ goto L_027E3930;
|
|
L_027E38C0: ; // 0x27e38c0
|
|
/* 027E38C0 */ cpu->r[23] = 0x00000000u;
|
|
/* 027E38C4 */ _t84 = cpu->r[23] + 0x00000030u;
|
|
/* 027E38C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027E38C8 */ _t85 = cpu->r[5] + 0x00000014u;
|
|
/* 027E38C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027E38CC */ cpu->ctr = cpu->r[6];
|
|
/* 027E38D0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027E38D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E38D8 */ _t86 = cpu->r[23] + 0x0000002Cu;
|
|
/* 027E38D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027E38DC */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E38DC */ rbrew_write32(cpu->mem, _t87, cpu->r[27]);
|
|
/* 027E38E0 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 027E38E0 */ rbrew_write32(cpu->mem, _t88, cpu->r[8]);
|
|
/* 027E38E4 */ _t89 = cpu->r[29] + 0x00000004u;
|
|
/* 027E38E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027E38E8 */ _t90 = cpu->r[7] + 0x00000014u;
|
|
/* 027E38E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027E38EC */ cpu->ctr = cpu->r[8];
|
|
/* 027E38F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E38F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E38F8 */ _t91 = cpu->r[29] + 0x00000004u;
|
|
/* 027E38F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027E38FC */ _t92 = cpu->r[9] + 0x00000014u;
|
|
/* 027E38FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E3900 */ cpu->ctr = cpu->r[10];
|
|
/* 027E3904 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3908 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E390C */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E390C */ cpu->r[11] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027E3910 */ _t94 = cpu->r[11] + 0x00000014u;
|
|
/* 027E3910 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027E3914 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3918 */ _t95 = cpu->r[29] + 0x00000000u;
|
|
/* 027E3918 */ cpu->r[23] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027E391C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E3920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3924 */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3924 */ cpu->r[5] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027E3928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[5]);
|
|
/* 027E392C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E392C */ _t98 = _t97 & 0x00000001u;
|
|
/* 027E392C */ if (_t98) goto L_027E3AA8; else goto L_027E3930;
|
|
L_027E3930: ; // 0x27e3930
|
|
/* 027E3930 */ _t99 = cpu->r[29] + 0x00000000u;
|
|
/* 027E3930 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027E3934 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E3938 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 027E393C */ cpu->ctr = cpu->r[20];
|
|
/* 027E3940 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027E3944: ; // 0x27e3944
|
|
/* 027E3944 */ _t101 = cpu->r[5] + 0x00000001u;
|
|
/* 027E3944 */ cpu->r[9] = rbrew_read8(cpu->mem, _t101);
|
|
/* 027E3944 */ cpu->r[5] = _t101;
|
|
/* 027E3948 */ _t102 = cpu->r[12] + 0x00000001u;
|
|
/* 027E3948 */ cpu->r[7] = rbrew_read8(cpu->mem, _t102);
|
|
/* 027E3948 */ cpu->r[12] = _t102;
|
|
/* 027E394C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 027E3950 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3950 */ _t104 = _t103 & 0x00000001u;
|
|
/* 027E3950 */ if (_t104) goto L_027E3954; else goto L_027E3960;
|
|
L_027E3954: ; // 0x27e3954
|
|
/* 027E3954 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[25]);
|
|
/* 027E3958 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3958 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027E3958 */ if (_t106) goto L_027E3AA8; else goto L_027E395C;
|
|
L_027E395C: ; // 0x27e395c
|
|
/* 027E395C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E395C */ _t107 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E395C */ _t108 = _t107 >> (0x00000002u & 31u);
|
|
/* 027E395C */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E395C */ if (_t109) goto L_027E3944; else goto L_027E3960;
|
|
L_027E3960: ; // 0x27e3960
|
|
/* 027E3960 */ _t110 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E3960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027E3964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]);
|
|
/* 027E3968 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3968 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027E3968 */ if (_t112) goto L_027E396C; else goto L_027E3A04;
|
|
L_027E396C: ; // 0x27e396c
|
|
/* 027E396C */ _t113 = cpu->r[30] + 0x00000018u;
|
|
/* 027E396C */ cpu->r[11] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027E3970 */ _t114 = cpu->r[30] + 0x00000014u;
|
|
/* 027E3970 */ cpu->r[10] = rbrew_read32(cpu->mem, _t114);
|
|
/* 027E3974 */ cpu->r[8] = cpu->r[11] + cpu->r[21];
|
|
/* 027E3978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[10]);
|
|
/* 027E397C */ _t115 = cpu->r[30] + 0x00000010u;
|
|
/* 027E397C */ cpu->r[5] = rbrew_read32(cpu->mem, _t115);
|
|
/* 027E3980 */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3980 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027E3980 */ if (_t117) goto L_027E3988; else goto L_027E3984;
|
|
L_027E3984: ; // 0x27e3984
|
|
/* 027E3984 */ cpu->r[8] = cpu->r[8] - cpu->r[10];
|
|
L_027E3988: ; // 0x27e3988
|
|
/* 027E3988 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000078u);
|
|
/* 027E398C */ cpu->r[23] = cpu->r[5] + cpu->r[4];
|
|
/* 027E3990 */ _t118 = cpu->r[23] + 0x00000004u;
|
|
/* 027E3990 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027E3994 */ _t119 = cpu->r[7] + 0x00000014u;
|
|
/* 027E3994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027E3998 */ cpu->ctr = cpu->r[0];
|
|
/* 027E399C */ cpu->r[3] = cpu->r[23];
|
|
/* 027E39A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E39A4 */ _t120 = cpu->r[23] + 0x00000000u;
|
|
/* 027E39A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027E39A8 */ _t121 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E39A8 */ rbrew_write32(cpu->mem, _t121, cpu->r[27]);
|
|
/* 027E39AC */ _t122 = cpu->r[1] + 0x00000018u;
|
|
/* 027E39AC */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 027E39B0 */ _t123 = cpu->r[29] + 0x00000004u;
|
|
/* 027E39B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027E39B4 */ _t124 = cpu->r[10] + 0x00000014u;
|
|
/* 027E39B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027E39B8 */ cpu->ctr = cpu->r[4];
|
|
/* 027E39BC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E39C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E39C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E39C8 */ _t125 = cpu->r[29] + 0x00000004u;
|
|
/* 027E39C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027E39CC */ _t126 = cpu->r[6] + 0x00000014u;
|
|
/* 027E39CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t126);
|
|
/* 027E39D0 */ cpu->ctr = cpu->r[7];
|
|
/* 027E39D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E39D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E39DC */ _t127 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E39DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 027E39E0 */ _t128 = cpu->r[8] + 0x00000014u;
|
|
/* 027E39E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027E39E4 */ cpu->ctr = cpu->r[9];
|
|
/* 027E39E8 */ _t129 = cpu->r[29] + 0x00000000u;
|
|
/* 027E39E8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027E39EC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E39F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E39F4 */ _t130 = cpu->r[1] + 0x00000018u;
|
|
/* 027E39F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027E39F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[4]);
|
|
/* 027E39FC */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E39FC */ _t132 = _t131 & 0x00000001u;
|
|
/* 027E39FC */ if (_t132) goto L_027E3AA8; else goto L_027E3A00;
|
|
L_027E3A00: ; // 0x27e3a00
|
|
/* 027E3A00 */ goto L_027E3A78;
|
|
L_027E3A04: ; // 0x27e3a04
|
|
/* 027E3A04 */ cpu->r[23] = 0x00000000u;
|
|
/* 027E3A08 */ _t133 = cpu->r[23] + 0x00000004u;
|
|
/* 027E3A08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027E3A0C */ _t134 = cpu->r[7] + 0x00000014u;
|
|
/* 027E3A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027E3A10 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3A14 */ cpu->r[3] = cpu->r[23];
|
|
/* 027E3A18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3A1C */ _t135 = cpu->r[23] + 0x00000000u;
|
|
/* 027E3A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027E3A20 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E3A20 */ rbrew_write32(cpu->mem, _t136, cpu->r[27]);
|
|
/* 027E3A24 */ _t137 = cpu->r[1] + 0x00000018u;
|
|
/* 027E3A24 */ rbrew_write32(cpu->mem, _t137, cpu->r[11]);
|
|
/* 027E3A28 */ _t138 = cpu->r[29] + 0x00000004u;
|
|
/* 027E3A28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027E3A2C */ _t139 = cpu->r[10] + 0x00000014u;
|
|
/* 027E3A2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t139);
|
|
/* 027E3A30 */ cpu->ctr = cpu->r[4];
|
|
/* 027E3A34 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E3A38 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3A3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3A40 */ _t140 = cpu->r[29] + 0x00000004u;
|
|
/* 027E3A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 027E3A44 */ _t141 = cpu->r[6] + 0x00000014u;
|
|
/* 027E3A44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t141);
|
|
/* 027E3A48 */ cpu->ctr = cpu->r[7];
|
|
/* 027E3A4C */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3A50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3A54 */ _t142 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E3A54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027E3A58 */ _t143 = cpu->r[8] + 0x00000014u;
|
|
/* 027E3A58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027E3A5C */ cpu->ctr = cpu->r[9];
|
|
/* 027E3A60 */ _t144 = cpu->r[29] + 0x00000000u;
|
|
/* 027E3A60 */ cpu->r[23] = rbrew_read32(cpu->mem, _t144);
|
|
/* 027E3A64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E3A68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3A6C */ _t145 = cpu->r[1] + 0x00000018u;
|
|
/* 027E3A6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027E3A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[4]);
|
|
/* 027E3A74 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3A74 */ _t147 = _t146 & 0x00000001u;
|
|
/* 027E3A74 */ if (_t147) goto L_027E3AA8; else goto L_027E3A78;
|
|
L_027E3A78: ; // 0x27e3a78
|
|
/* 027E3A78 */ _t148 = cpu->r[29] + 0x00000000u;
|
|
/* 027E3A78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t148);
|
|
/* 027E3A7C */ cpu->r[6] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027E3A80 */ cpu->ctr = cpu->r[20];
|
|
/* 027E3A84 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_027E3A88: ; // 0x27e3a88
|
|
/* 027E3A88 */ _t149 = cpu->r[8] + 0x00000001u;
|
|
/* 027E3A88 */ cpu->r[11] = rbrew_read8(cpu->mem, _t149);
|
|
/* 027E3A88 */ cpu->r[8] = _t149;
|
|
/* 027E3A8C */ _t150 = cpu->r[6] + 0x00000001u;
|
|
/* 027E3A8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t150);
|
|
/* 027E3A8C */ cpu->r[6] = _t150;
|
|
/* 027E3A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 027E3A94 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3A94 */ _t152 = _t151 & 0x00000001u;
|
|
/* 027E3A94 */ if (_t152) goto L_027E3A98; else goto L_027E3AA4;
|
|
L_027E3A98: ; // 0x27e3a98
|
|
/* 027E3A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[25]);
|
|
/* 027E3A9C */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3A9C */ _t154 = _t153 & 0x00000001u;
|
|
/* 027E3A9C */ if (_t154) goto L_027E3AA8; else goto L_027E3AA0;
|
|
L_027E3AA0: ; // 0x27e3aa0
|
|
/* 027E3AA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E3AA0 */ _t155 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E3AA0 */ _t156 = _t155 >> (0x00000002u & 31u);
|
|
/* 027E3AA0 */ _t157 = _t156 & 0x00000001u;
|
|
/* 027E3AA0 */ if (_t157) goto L_027E3A88; else goto L_027E3AA4;
|
|
L_027E3AA4: ; // 0x27e3aa4
|
|
/* 027E3AA4 */ cpu->r[22] = 0x00000000u;
|
|
L_027E3AA8: ; // 0x27e3aa8
|
|
/* 027E3AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027E3AAC */ _t158 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E3AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t158);
|
|
/* 027E3AB0 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3AB0 */ _t160 = _t159 & 0x00000001u;
|
|
/* 027E3AB0 */ if (_t160) goto L_027E3BF4; else goto L_027E3AB4;
|
|
L_027E3AB4: ; // 0x27e3ab4
|
|
/* 027E3AB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[12]);
|
|
/* 027E3AB8 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3AB8 */ _t162 = _t161 & 0x00000001u;
|
|
/* 027E3AB8 */ if (_t162) goto L_027E3ABC; else goto L_027E3B28;
|
|
L_027E3ABC: ; // 0x27e3abc
|
|
/* 027E3ABC */ _t163 = cpu->r[30] + 0x00000018u;
|
|
/* 027E3ABC */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027E3AC0 */ _t164 = cpu->r[30] + 0x00000014u;
|
|
/* 027E3AC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
|
|
/* 027E3AC4 */ cpu->r[0] = cpu->r[5] + cpu->r[21];
|
|
/* 027E3AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 027E3ACC */ _t165 = cpu->r[30] + 0x00000010u;
|
|
/* 027E3ACC */ cpu->r[8] = rbrew_read32(cpu->mem, _t165);
|
|
/* 027E3AD0 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3AD0 */ _t167 = _t166 & 0x00000001u;
|
|
/* 027E3AD0 */ if (_t167) goto L_027E3AD8; else goto L_027E3AD4;
|
|
L_027E3AD4: ; // 0x27e3ad4
|
|
/* 027E3AD4 */ cpu->r[0] = cpu->r[0] - cpu->r[10];
|
|
L_027E3AD8: ; // 0x27e3ad8
|
|
/* 027E3AD8 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000078u);
|
|
/* 027E3ADC */ cpu->r[30] = cpu->r[8] + cpu->r[6];
|
|
/* 027E3AE0 */ _t168 = cpu->r[30] + 0x00000030u;
|
|
/* 027E3AE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t168);
|
|
/* 027E3AE4 */ _t169 = cpu->r[10] + 0x00000014u;
|
|
/* 027E3AE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t169);
|
|
/* 027E3AE8 */ cpu->ctr = cpu->r[12];
|
|
/* 027E3AEC */ cpu->r[3] = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3AF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3AF4 */ _t170 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t170);
|
|
/* 027E3AF8 */ _t171 = cpu->r[1] + 0x00000030u;
|
|
/* 027E3AF8 */ rbrew_write32(cpu->mem, _t171, cpu->r[27]);
|
|
/* 027E3AFC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B00 */ _t172 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B00 */ rbrew_write32(cpu->mem, _t172, cpu->r[0]);
|
|
/* 027E3B04 */ _t173 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027E3B04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t173);
|
|
/* 027E3B08 */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E3B0C */ _t174 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t174);
|
|
/* 027E3B10 */ _t175 = cpu->r[10] + 0x00000000u;
|
|
/* 027E3B10 */ cpu->r[5] = rbrew_read8(cpu->mem, _t175);
|
|
/* 027E3B14 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E3B18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027E3B1C */ cpu->r[0] = 0x00080000u;
|
|
/* 027E3B20 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3B20 */ _t177 = _t176 & 0x00000001u;
|
|
/* 027E3B20 */ if (_t177) goto L_027E3B24; else goto L_027E3B6C;
|
|
L_027E3B24: ; // 0x27e3b24
|
|
/* 027E3B24 */ goto L_027E3B90;
|
|
L_027E3B28: ; // 0x27e3b28
|
|
/* 027E3B28 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E3B2C */ _t178 = cpu->r[30] + 0x00000030u;
|
|
/* 027E3B2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t178);
|
|
/* 027E3B30 */ _t179 = cpu->r[10] + 0x00000014u;
|
|
/* 027E3B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t179);
|
|
/* 027E3B34 */ cpu->ctr = cpu->r[12];
|
|
/* 027E3B38 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027E3B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3B40 */ _t180 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 027E3B44 */ _t181 = cpu->r[1] + 0x00000030u;
|
|
/* 027E3B44 */ rbrew_write32(cpu->mem, _t181, cpu->r[27]);
|
|
/* 027E3B48 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B4C */ _t182 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B4C */ rbrew_write32(cpu->mem, _t182, cpu->r[0]);
|
|
/* 027E3B50 */ _t183 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027E3B50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t183);
|
|
/* 027E3B54 */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E3B58 */ _t184 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t184);
|
|
/* 027E3B5C */ _t185 = cpu->r[10] + 0x00000000u;
|
|
/* 027E3B5C */ cpu->r[5] = rbrew_read8(cpu->mem, _t185);
|
|
/* 027E3B60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027E3B64 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E3B68 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3B68 */ _t187 = _t186 & 0x00000001u;
|
|
/* 027E3B68 */ if (_t187) goto L_027E3B24; else goto L_027E3B6C;
|
|
L_027E3B6C: ; // 0x27e3b6c
|
|
/* 027E3B6C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E3B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 027E3B74 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E3B78 */ _t188 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E3B78 */ _t189 = _t188 & 0x00000001u;
|
|
/* 027E3B78 */ if (_t189) goto L_027E3B8C; else goto L_027E3B7C;
|
|
L_027E3B7C: ; // 0x27e3b7c
|
|
/* 027E3B7C */ _t190 = cpu->r[10] + 0x00000000u;
|
|
/* 027E3B7C */ cpu->r[7] = rbrew_read8(cpu->mem, _t190);
|
|
/* 027E3B80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E3B84 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3B84 */ _t192 = _t191 & 0x00000001u;
|
|
/* 027E3B84 */ if (_t192) goto L_027E3B88; else goto L_027E3B6C;
|
|
L_027E3B88: ; // 0x27e3b88
|
|
/* 027E3B88 */ goto L_027E3B90;
|
|
L_027E3B8C: ; // 0x27e3b8c
|
|
/* 027E3B8C */ cpu->r[30] = 0x00000000u;
|
|
L_027E3B90: ; // 0x27e3b90
|
|
/* 027E3B90 */ _t193 = cpu->r[28] + 0x00000024u;
|
|
/* 027E3B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027E3B94 */ _t194 = cpu->r[1] + 0x00000030u;
|
|
/* 027E3B94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t194);
|
|
/* 027E3B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027E3B9C */ _t195 = cpu->r[9] + 0x00000014u;
|
|
/* 027E3B9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t195);
|
|
/* 027E3BA0 */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3BA0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 027E3BA0 */ if (_t197) goto L_027E3BA8; else goto L_027E3BA4;
|
|
L_027E3BA4: ; // 0x27e3ba4
|
|
/* 027E3BA4 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027E3BA8: ; // 0x27e3ba8
|
|
/* 027E3BA8 */ cpu->ctr = cpu->r[10];
|
|
/* 027E3BAC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3BB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3BB4 */ _t198 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E3BB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t198);
|
|
/* 027E3BB8 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E3BBC */ cpu->r[5] = cpu->r[30];
|
|
/* 027E3BC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E3BC4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E3BC8 */ _t199 = cpu->r[29] + cpu->r[30];
|
|
/* 027E3BC8 */ rbrew_write8(cpu->mem, _t199, (uint8_t)cpu->r[31]);
|
|
/* 027E3BCC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E3BD0 */ _t200 = cpu->r[1] + 0x00000040u;
|
|
/* 027E3BD0 */ rbrew_write32(cpu->mem, _t200, cpu->r[27]);
|
|
/* 027E3BD4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu;
|
|
/* 027E3BD8 */ _t201 = cpu->r[24] + 0x00000000u;
|
|
/* 027E3BD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t201);
|
|
/* 027E3BDC */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E3BE0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E3BE4 */ _t202 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E3BE4 */ rbrew_write32(cpu->mem, _t202, cpu->r[0]);
|
|
/* 027E3BE8 */ Gambit_fn_02809408(cpu);
|
|
/* 027E3BEC */ cpu->r[30] = cpu->r[3];
|
|
/* 027E3BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E3BF0 */ goto L_027E3C24;
|
|
L_027E3BF4: ; // 0x27e3bf4
|
|
/* 027E3BF4 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 027E3BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[12]);
|
|
/* 027E3BFC */ _t203 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3BFC */ _t204 = _t203 & 0x00000001u;
|
|
/* 027E3BFC */ if (_t204) goto L_027E3818; else goto L_027E3C00;
|
|
L_027E3C00: ; // 0x27e3c00
|
|
/* 027E3C00 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E3C04 */ _t205 = cpu->r[1] + 0x00000040u;
|
|
/* 027E3C04 */ rbrew_write32(cpu->mem, _t205, cpu->r[27]);
|
|
/* 027E3C08 */ cpu->r[0] = cpu->r[0] + 0xFFFFF8ACu;
|
|
/* 027E3C0C */ _t206 = cpu->r[24] + 0x00000000u;
|
|
/* 027E3C0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t206);
|
|
/* 027E3C10 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E3C14 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E3C18 */ _t207 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E3C18 */ rbrew_write32(cpu->mem, _t207, cpu->r[0]);
|
|
/* 027E3C1C */ Gambit_fn_02809408(cpu);
|
|
/* 027E3C20 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E3C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
L_027E3C24: ; // 0x27e3c24
|
|
/* 027E3C24 */ cpu->r[22] = 0x00080000u;
|
|
/* 027E3C28 */ cpu->r[21] = 0x00000001u;
|
|
/* 027E3C2C */ cpu->r[16] = 0x101D0000u;
|
|
/* 027E3C30 */ cpu->r[25] = 0x00000000u;
|
|
/* 027E3C34 */ cpu->r[17] = 0x00000004u;
|
|
/* 027E3C38 */ cpu->r[18] = 0x101D0000u;
|
|
/* 027E3C3C */ cpu->r[19] = 0x101D0000u;
|
|
/* 027E3C40 */ cpu->r[16] = cpu->r[16] + 0xFFFFEEA8u;
|
|
/* 027E3C44 */ cpu->r[20] = 0x101D0000u;
|
|
/* 027E3C48 */ cpu->r[23] = 0x101D0000u;
|
|
/* 027E3C4C */ cpu->r[29] = cpu->r[21];
|
|
/* 027E3C50 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
L_027E3C54: ; // 0x27e3c54
|
|
/* 027E3C54 */ _t208 = cpu->r[23] + 0xFFFFD8E0u;
|
|
/* 027E3C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 027E3C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3C5C */ cpu->r[24] = cpu->r[25];
|
|
/* 027E3C60 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3C60 */ _t210 = _t209 & 0x00000001u;
|
|
/* 027E3C60 */ if (_t210) goto L_027E3C64; else goto L_027E3C7C;
|
|
L_027E3C64: ; // 0x27e3c64
|
|
/* 027E3C64 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E3C68 */ cpu->r[3] = cpu->r[20] + 0x00003CEBu;
|
|
/* 027E3C6C */ cpu->r[5] = 0x0000001Eu;
|
|
/* 027E3C70 */ cpu->r[4] = cpu->r[4] + 0xFFFF9784u;
|
|
/* 027E3C74 */ _t211 = cpu->r[23] + 0xFFFFD8E0u;
|
|
/* 027E3C74 */ rbrew_write32(cpu->mem, _t211, cpu->r[21]);
|
|
/* 027E3C78 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_027E3C7C: ; // 0x27e3c7c
|
|
/* 027E3C7C */ _t212 = cpu->r[19] + 0xFFFFD8DCu;
|
|
/* 027E3C7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t212);
|
|
/* 027E3C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027E3C84 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3C84 */ _t214 = _t213 & 0x00000001u;
|
|
/* 027E3C84 */ if (_t214) goto L_027E3C88; else goto L_027E3C90;
|
|
L_027E3C88: ; // 0x27e3c88
|
|
/* 027E3C88 */ _t215 = cpu->r[18] + 0xFFFFEEA4u;
|
|
/* 027E3C88 */ rbrew_write32(cpu->mem, _t215, cpu->r[26]);
|
|
/* 027E3C8C */ _t216 = cpu->r[19] + 0xFFFFD8DCu;
|
|
/* 027E3C8C */ rbrew_write32(cpu->mem, _t216, cpu->r[21]);
|
|
L_027E3C90: ; // 0x27e3c90
|
|
/* 027E3C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000005u);
|
|
/* 027E3C94 */ _t217 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E3C94 */ _t218 = _t217 & 0x00000001u;
|
|
/* 027E3C94 */ if (_t218) goto L_027E3D10; else goto L_027E3C98;
|
|
L_027E3C98: ; // 0x27e3c98
|
|
/* 027E3C98 */ _t219 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3C98 */ rbrew_write32(cpu->mem, _t219, cpu->r[27]);
|
|
/* 027E3C9C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E3CA0 */ _t220 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3CA0 */ rbrew_write32(cpu->mem, _t220, cpu->r[0]);
|
|
/* 027E3CA4 */ _t221 = cpu->r[30] + 0x00000004u;
|
|
/* 027E3CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t221);
|
|
/* 027E3CA8 */ _t222 = cpu->r[12] + 0x00000014u;
|
|
/* 027E3CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t222);
|
|
/* 027E3CAC */ cpu->ctr = cpu->r[0];
|
|
/* 027E3CB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E3CB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3CB8 */ _t223 = cpu->r[30] + 0x00000004u;
|
|
/* 027E3CB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t223);
|
|
/* 027E3CBC */ _t224 = cpu->r[4] + 0x00000014u;
|
|
/* 027E3CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t224);
|
|
/* 027E3CC0 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3CC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E3CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3CCC */ _t225 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3CCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t225);
|
|
/* 027E3CD0 */ _t226 = cpu->r[6] + 0x00000014u;
|
|
/* 027E3CD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t226);
|
|
/* 027E3CD4 */ cpu->ctr = cpu->r[7];
|
|
/* 027E3CD8 */ _t227 = cpu->r[30] + 0x00000000u;
|
|
/* 027E3CD8 */ cpu->r[15] = rbrew_read32(cpu->mem, _t227);
|
|
/* 027E3CDC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3CE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3CE4 */ _t228 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3CE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t228);
|
|
/* 027E3CE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[9]);
|
|
/* 027E3CEC */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3CEC */ _t230 = _t229 & 0x00000001u;
|
|
/* 027E3CEC */ if (_t230) goto L_027E3CF0; else goto L_027E3DB0;
|
|
L_027E3CF0: ; // 0x27e3cf0
|
|
/* 027E3CF0 */ _t231 = cpu->r[1] + 0x00000020u;
|
|
/* 027E3CF0 */ rbrew_write32(cpu->mem, _t231, cpu->r[24]);
|
|
/* 027E3CF4 */ _t232 = cpu->r[1] + 0x00000020u;
|
|
/* 027E3CF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t232);
|
|
/* 027E3CF8 */ _t233 = cpu->r[28] + 0x0000023Cu;
|
|
/* 027E3CF8 */ rbrew_write32(cpu->mem, _t233, cpu->r[7]);
|
|
/* 027E3CFC */ /* nop */
|
|
/* 027E3D00 */ _t234 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E3D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t234);
|
|
/* 027E3D04 */ cpu->lr = cpu->r[0];
|
|
/* 027E3D08 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E3D0C */ return;
|
|
L_027E3D10: ; // 0x27e3d10
|
|
/* 027E3D10 */ _t235 = cpu->r[18] + 0xFFFFEEA4u;
|
|
/* 027E3D10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t235);
|
|
/* 027E3D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E3D18 */ _t236 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3D18 */ _t237 = _t236 & 0x00000001u;
|
|
/* 027E3D18 */ if (_t237) goto L_027E3D1C; else goto L_027E3D54;
|
|
L_027E3D1C: ; // 0x27e3d1c
|
|
/* 027E3D1C */ Gambit_fn_0282A450(cpu);
|
|
/* 027E3D20 */ cpu->r[15] = cpu->r[3];
|
|
/* 027E3D24 */ Gambit_fn_02836FFC(cpu);
|
|
/* 027E3D28 */ _t238 = cpu->r[18] + 0xFFFFEEA4u;
|
|
/* 027E3D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t238);
|
|
/* 027E3D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E3D30 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3D30 */ _t240 = _t239 & 0x00000001u;
|
|
/* 027E3D30 */ if (_t240) goto L_027E3D34; else goto L_027E3D48;
|
|
L_027E3D34: ; // 0x27e3d34
|
|
/* 027E3D34 */ cpu->r[5] = 0x00000005u;
|
|
/* 027E3D38 */ cpu->r[4] = cpu->r[20] + 0x00003CEBu;
|
|
/* 027E3D3C */ cpu->r[3] = cpu->r[16];
|
|
/* 027E3D40 */ Gambit_fn_0282A374(cpu);
|
|
/* 027E3D44 */ _t241 = cpu->r[18] + 0xFFFFEEA4u;
|
|
/* 027E3D44 */ rbrew_write32(cpu->mem, _t241, cpu->r[16]);
|
|
L_027E3D48: ; // 0x27e3d48
|
|
/* 027E3D48 */ cpu->r[3] = cpu->r[15];
|
|
/* 027E3D4C */ Gambit_fn_02837030(cpu);
|
|
/* 027E3D50 */ _t242 = cpu->r[18] + 0xFFFFEEA4u;
|
|
/* 027E3D50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t242);
|
|
L_027E3D54: ; // 0x27e3d54
|
|
/* 027E3D54 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E3D58 */ _t243 = cpu->r[10] + cpu->r[4];
|
|
/* 027E3D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t243);
|
|
/* 027E3D5C */ _t244 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3D5C */ rbrew_write32(cpu->mem, _t244, cpu->r[27]);
|
|
/* 027E3D60 */ _t245 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3D60 */ rbrew_write32(cpu->mem, _t245, cpu->r[0]);
|
|
/* 027E3D64 */ _t246 = cpu->r[30] + 0x00000004u;
|
|
/* 027E3D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t246);
|
|
/* 027E3D68 */ _t247 = cpu->r[12] + 0x00000014u;
|
|
/* 027E3D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t247);
|
|
/* 027E3D6C */ cpu->ctr = cpu->r[0];
|
|
/* 027E3D70 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E3D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3D78 */ _t248 = cpu->r[30] + 0x00000004u;
|
|
/* 027E3D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t248);
|
|
/* 027E3D7C */ _t249 = cpu->r[4] + 0x00000014u;
|
|
/* 027E3D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t249);
|
|
/* 027E3D80 */ cpu->ctr = cpu->r[0];
|
|
/* 027E3D84 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E3D88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3D8C */ _t250 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3D8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t250);
|
|
/* 027E3D90 */ _t251 = cpu->r[6] + 0x00000014u;
|
|
/* 027E3D90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t251);
|
|
/* 027E3D94 */ cpu->ctr = cpu->r[7];
|
|
/* 027E3D98 */ _t252 = cpu->r[30] + 0x00000000u;
|
|
/* 027E3D98 */ cpu->r[15] = rbrew_read32(cpu->mem, _t252);
|
|
/* 027E3D9C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3DA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E3DA4 */ _t253 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3DA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t253);
|
|
/* 027E3DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[9]);
|
|
/* 027E3DAC */ _t254 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3DAC */ _t255 = _t254 & 0x00000001u;
|
|
/* 027E3DAC */ if (_t255) goto L_027E3CF0; else goto L_027E3DB0;
|
|
L_027E3DB0: ; // 0x27e3db0
|
|
/* 027E3DB0 */ _t256 = cpu->r[30] + 0x00000000u;
|
|
/* 027E3DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t256);
|
|
/* 027E3DB4 */ _t257 = cpu->r[1] + 0x00000010u;
|
|
/* 027E3DB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t257);
|
|
/* 027E3DB8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E3DBC */ cpu->ctr = cpu->r[22];
|
|
/* 027E3DC0 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_027E3DC4: ; // 0x27e3dc4
|
|
/* 027E3DC4 */ _t258 = cpu->r[11] + 0x00000001u;
|
|
/* 027E3DC4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t258);
|
|
/* 027E3DC4 */ cpu->r[11] = _t258;
|
|
/* 027E3DC8 */ _t259 = cpu->r[9] + 0x00000001u;
|
|
/* 027E3DC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t259);
|
|
/* 027E3DC8 */ cpu->r[9] = _t259;
|
|
/* 027E3DCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 027E3DD0 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3DD0 */ _t261 = _t260 & 0x00000001u;
|
|
/* 027E3DD0 */ if (_t261) goto L_027E3DD4; else goto L_027E3DE0;
|
|
L_027E3DD4: ; // 0x27e3dd4
|
|
/* 027E3DD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027E3DD8 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3DD8 */ _t263 = _t262 & 0x00000001u;
|
|
/* 027E3DD8 */ if (_t263) goto L_027E3CF0; else goto L_027E3DDC;
|
|
L_027E3DDC: ; // 0x27e3ddc
|
|
/* 027E3DDC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E3DDC */ _t264 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E3DDC */ _t265 = _t264 >> (0x00000002u & 31u);
|
|
/* 027E3DDC */ _t266 = _t265 & 0x00000001u;
|
|
/* 027E3DDC */ if (_t266) goto L_027E3DC4; else goto L_027E3DE0;
|
|
L_027E3DE0: ; // 0x27e3de0
|
|
/* 027E3DE0 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
|
|
/* 027E3DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 027E3DE4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027E3DE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E3DEC */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3DEC */ _t268 = _t267 & 0x00000001u;
|
|
/* 027E3DEC */ if (_t268) goto L_027E3DF0; else goto L_027E3C54;
|
|
L_027E3DF0: ; // 0x27e3df0
|
|
/* 027E3DF0 */ _t269 = cpu->r[1] + 0x00000020u;
|
|
/* 027E3DF0 */ rbrew_write32(cpu->mem, _t269, cpu->r[24]);
|
|
L_027E3DF4: ; // 0x27e3df4
|
|
/* 027E3DF4 */ /* nop */
|
|
/* 027E3DF8 */ _t270 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E3DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t270);
|
|
/* 027E3DFC */ cpu->lr = cpu->r[0];
|
|
/* 027E3E00 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E3E04 */ return;
|
|
}
|
|
|
|
// fn_027E3E08 @ 0x27e3e08
|
|
void Gambit_fn_027E3E08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E3E08: ; // 0x27e3e08
|
|
/* 027E3E08 */ cpu->r[0] = cpu->lr;
|
|
/* 027E3E0C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E3E0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E3E10 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E3E10 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E3E10 */ cpu->r[1] = _t1;
|
|
/* 027E3E14 */ Gambit_fn_027E358C(cpu);
|
|
/* 027E3E18 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E3E1C */ cpu->lr = cpu->r[0];
|
|
/* 027E3E20 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E3E24 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3E28 */ return;
|
|
}
|
|
|
|
// fn_027E3E10 @ 0x27e3e10
|
|
void Gambit_fn_027E3E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027E3E10: ; // 0x27e3e10
|
|
/* 027E3E10 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E3E10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3E10 */ cpu->r[1] = _t0;
|
|
/* 027E3E14 */ Gambit_fn_027E358C(cpu);
|
|
/* 027E3E18 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E3E1C */ cpu->lr = cpu->r[0];
|
|
/* 027E3E20 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E3E24 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3E28 */ return;
|
|
}
|
|
|
|
// fn_027E3E2C @ 0x27e3e2c
|
|
void Gambit_fn_027E3E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E3E2C: ; // 0x27e3e2c
|
|
/* 027E3E2C */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3E30 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 027E3E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E3E34 */ _t1 = cpu->r[12] + 0x00000268u;
|
|
/* 027E3E34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E3E38 */ _t2 = cpu->r[12] + 0x00000320u;
|
|
/* 027E3E38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E3E3C */ return;
|
|
}
|
|
|
|
// fn_027E3E40 @ 0x27e3e40
|
|
void Gambit_fn_027E3E40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0261F55C: ; // 0x261f55c
|
|
/* 0261F55C */ _t0 = cpu->r[3] + 0x00000320u;
|
|
/* 0261F55C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0261F560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
|
|
/* 0261F564 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0261F564 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0261F564 */ if (_t2) goto L_0261F568; else goto L_0261F594;
|
|
L_0261F568: ; // 0x261f568
|
|
/* 0261F568 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0261F56C */ _t3 = cpu->r[12] + 0x00007228u;
|
|
/* 0261F56C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0261F570 */ cpu->r[10] = cpu->r[3] + cpu->r[12];
|
|
/* 0261F574 */ _t4 = cpu->r[10] + 0x00000104u;
|
|
/* 0261F574 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0261F578 */ _t5 = cpu->r[3] + 0x00000030u;
|
|
/* 0261F578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0261F57C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0261F580 */ _t6 = cpu->r[10] + cpu->r[0];
|
|
/* 0261F580 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0261F584 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 0261F584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0261F588 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0261F58C */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 0261F58C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0261F590 */ return;
|
|
L_0261F594: ; // 0x261f594
|
|
/* 0261F594 */ cpu->r[3] = 0x00000000u;
|
|
/* 0261F598 */ return;
|
|
L_027E3E40: ; // 0x27e3e40
|
|
/* 027E3E40 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3E44 */ _t9 = cpu->r[12] + 0x00006000u;
|
|
/* 027E3E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E3E48 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E3E4C */ _t10 = cpu->r[12] + 0x00000268u;
|
|
/* 027E3E4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3E50 */ goto L_0261F55C;
|
|
}
|
|
|
|
// fn_027E3E54 @ 0x27e3e54
|
|
void Gambit_fn_027E3E54(CPUState* cpu) {
|
|
uint32_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_027E3E54: ; // 0x27e3e54
|
|
/* 027E3E54 */ cpu->r[0] = cpu->lr;
|
|
/* 027E3E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3E58 */ cpu->r[1] = _t0;
|
|
/* 027E3E5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3E60 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E3E64 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E3E68 */ cpu->r[3] = cpu->r[4];
|
|
/* 027E3E6C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3E6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E3E70 */ Gambit_fn_027E3E40(cpu);
|
|
/* 027E3E74 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E3E78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E3E78 */ if (_t5) goto L_027E3EB8; else goto L_027E3E7C;
|
|
L_027E3E7C: ; // 0x27e3e7c
|
|
/* 027E3E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E3E80 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E3E84 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E84 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E3E84 */ if (_t7) goto L_027E3E88; else goto L_027E3E98;
|
|
L_027E3E88: ; // 0x27e3e88
|
|
/* 027E3E88 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3E8C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3E94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E3E94 */ if (_t9) goto L_027E3EDC; else goto L_027E3E98;
|
|
L_027E3E98: ; // 0x27e3e98
|
|
/* 027E3E98 */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3E9C */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3E9C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027E3EA0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E3EA4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3EA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E3EA8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3EAC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E3EB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3EB4 */ return;
|
|
L_027E3EB8: ; // 0x27e3eb8
|
|
/* 027E3EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E3EBC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E3EC0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3EC0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E3EC0 */ if (_t16) goto L_027E3EC4; else goto L_027E3ED4;
|
|
L_027E3EC4: ; // 0x27e3ec4
|
|
/* 027E3EC4 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3EC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3ED0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3ED0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E3ED0 */ if (_t18) goto L_027E3EDC; else goto L_027E3ED4;
|
|
L_027E3ED4: ; // 0x27e3ed4
|
|
/* 027E3ED4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E3ED8 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3ED8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027E3EDC: ; // 0x27e3edc
|
|
/* 027E3EDC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E3EE0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E3EE4 */ cpu->lr = cpu->r[0];
|
|
/* 027E3EE8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E3EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3EF0 */ return;
|
|
}
|
|
|
|
// fn_027E3E58 @ 0x27e3e58
|
|
void Gambit_fn_027E3E58(CPUState* cpu) {
|
|
uint32_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_027E3E58: ; // 0x27e3e58
|
|
/* 027E3E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3E58 */ cpu->r[1] = _t0;
|
|
/* 027E3E5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3E60 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E3E64 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E3E68 */ cpu->r[3] = cpu->r[4];
|
|
/* 027E3E6C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3E6C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E3E70 */ Gambit_fn_027E3E40(cpu);
|
|
/* 027E3E74 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E3E78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E3E78 */ if (_t5) goto L_027E3EB8; else goto L_027E3E7C;
|
|
L_027E3E7C: ; // 0x27e3e7c
|
|
/* 027E3E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E3E80 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E3E84 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E84 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E3E84 */ if (_t7) goto L_027E3E88; else goto L_027E3E98;
|
|
L_027E3E88: ; // 0x27e3e88
|
|
/* 027E3E88 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3E8C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3E94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3E94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E3E94 */ if (_t9) goto L_027E3EDC; else goto L_027E3E98;
|
|
L_027E3E98: ; // 0x27e3e98
|
|
/* 027E3E98 */ _t10 = cpu->r[30] + 0x0000002Cu;
|
|
/* 027E3E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3E9C */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3E9C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027E3EA0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E3EA4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3EA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E3EA8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3EAC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E3EB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3EB4 */ return;
|
|
L_027E3EB8: ; // 0x27e3eb8
|
|
/* 027E3EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E3EBC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E3EC0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3EC0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E3EC0 */ if (_t16) goto L_027E3EC4; else goto L_027E3ED4;
|
|
L_027E3EC4: ; // 0x27e3ec4
|
|
/* 027E3EC4 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3EC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3ED0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3ED0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E3ED0 */ if (_t18) goto L_027E3EDC; else goto L_027E3ED4;
|
|
L_027E3ED4: ; // 0x27e3ed4
|
|
/* 027E3ED4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E3ED8 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3ED8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
L_027E3EDC: ; // 0x27e3edc
|
|
/* 027E3EDC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E3EE0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E3EE4 */ cpu->lr = cpu->r[0];
|
|
/* 027E3EE8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E3EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3EF0 */ return;
|
|
}
|
|
|
|
// fn_027E3EF4 @ 0x27e3ef4
|
|
void Gambit_fn_027E3EF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E3EF4: ; // 0x27e3ef4
|
|
/* 027E3EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E3EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3EF8 */ cpu->r[1] = _t0;
|
|
/* 027E3EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3F00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E3F04 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027E3F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E3F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F0C */ cpu->r[31] = 0x00000001u - cpu->r[0];
|
|
/* 027E3F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E3F10 */ if (_t5) goto L_027E3F14; else goto L_027E3F24;
|
|
L_027E3F14: ; // 0x27e3f14
|
|
/* 027E3F14 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3F18 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E3F20 */ if (_t7) goto L_027E3F28; else goto L_027E3F24;
|
|
L_027E3F24: ; // 0x27e3f24
|
|
/* 027E3F24 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3F24 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
L_027E3F28: ; // 0x27e3f28
|
|
/* 027E3F28 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E3F2C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3F2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3F30 */ cpu->lr = cpu->r[0];
|
|
/* 027E3F34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3F38 */ return;
|
|
}
|
|
|
|
// fn_027E3EF8 @ 0x27e3ef8
|
|
void Gambit_fn_027E3EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E3EF8: ; // 0x27e3ef8
|
|
/* 027E3EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3EF8 */ cpu->r[1] = _t0;
|
|
/* 027E3EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3F00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E3F04 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027E3F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E3F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F0C */ cpu->r[31] = 0x00000001u - cpu->r[0];
|
|
/* 027E3F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E3F10 */ if (_t5) goto L_027E3F14; else goto L_027E3F24;
|
|
L_027E3F14: ; // 0x27e3f14
|
|
/* 027E3F14 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E3F18 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E3F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E3F20 */ if (_t7) goto L_027E3F28; else goto L_027E3F24;
|
|
L_027E3F24: ; // 0x27e3f24
|
|
/* 027E3F24 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 027E3F24 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
L_027E3F28: ; // 0x27e3f28
|
|
/* 027E3F28 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E3F2C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3F2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3F30 */ cpu->lr = cpu->r[0];
|
|
/* 027E3F34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3F38 */ return;
|
|
}
|
|
|
|
// fn_027E3F3C @ 0x27e3f3c
|
|
void Gambit_fn_027E3F3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E3F3C: ; // 0x27e3f3c
|
|
/* 027E3F3C */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3F40 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 027E3F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E3F44 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 027E3F44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E3F48 */ _t2 = cpu->r[12] + 0x000002CCu;
|
|
/* 027E3F48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E3F4C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027E3F50 */ /* nop */
|
|
/* 027E3F54 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3F58 */ return;
|
|
}
|
|
|
|
// fn_027E3F5C @ 0x27e3f5c
|
|
void Gambit_fn_027E3F5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027E3F5C: ; // 0x27e3f5c
|
|
/* 027E3F5C */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3F60 */ _t0 = cpu->r[12] + 0x00001358u;
|
|
/* 027E3F60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E3F64 */ _t1 = cpu->r[12] + 0x0000027Cu;
|
|
/* 027E3F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E3F68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E3F6C */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027E3F70 */ return;
|
|
}
|
|
|
|
// fn_027E3F74 @ 0x27e3f74
|
|
void Gambit_fn_027E3F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E3F74: ; // 0x27e3f74
|
|
/* 027E3F74 */ cpu->r[0] = cpu->lr;
|
|
/* 027E3F78 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E3F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E3F7C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E3F7C */ cpu->r[1] = _t1;
|
|
/* 027E3F80 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 027E3F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E3F88 */ if (_t3) goto L_027E3FC4; else goto L_027E3F8C;
|
|
L_027E3F8C: ; // 0x27e3f8c
|
|
/* 027E3F8C */ cpu->r[11] = 0x101C0000u;
|
|
/* 027E3F90 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3F94 */ _t4 = cpu->r[11] + 0x00001358u;
|
|
/* 027E3F94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E3F98 */ _t5 = cpu->r[12] + 0x00001344u;
|
|
/* 027E3F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E3F9C */ _t6 = cpu->r[11] + 0x00000274u;
|
|
/* 027E3F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E3FA0 */ _t7 = cpu->r[12] + 0x00000044u;
|
|
/* 027E3FA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E3FA4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3FA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E3FA8 */ _t9 = cpu->r[11] + 0x0000027Cu;
|
|
/* 027E3FA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E3FAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E3FB0 */ Gambit_fn_020298E4(cpu);
|
|
/* 027E3FB4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3FB8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3FBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3FC0 */ return;
|
|
L_027E3FC4: ; // 0x27e3fc4
|
|
/* 027E3FC4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E3FC8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3FD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3FD4 */ return;
|
|
}
|
|
|
|
// fn_027E3F7C @ 0x27e3f7c
|
|
void Gambit_fn_027E3F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E3F7C: ; // 0x27e3f7c
|
|
/* 027E3F7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3F7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3F7C */ cpu->r[1] = _t0;
|
|
/* 027E3F80 */ Gambit_fn_027E3F5C(cpu);
|
|
/* 027E3F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3F88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3F88 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E3F88 */ if (_t2) goto L_027E3FC4; else goto L_027E3F8C;
|
|
L_027E3F8C: ; // 0x27e3f8c
|
|
/* 027E3F8C */ cpu->r[11] = 0x101C0000u;
|
|
/* 027E3F90 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027E3F94 */ _t3 = cpu->r[11] + 0x00001358u;
|
|
/* 027E3F94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E3F98 */ _t4 = cpu->r[12] + 0x00001344u;
|
|
/* 027E3F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E3F9C */ _t5 = cpu->r[11] + 0x00000274u;
|
|
/* 027E3F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E3FA0 */ _t6 = cpu->r[12] + 0x00000044u;
|
|
/* 027E3FA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E3FA4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E3FA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E3FA8 */ _t8 = cpu->r[11] + 0x0000027Cu;
|
|
/* 027E3FA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E3FAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E3FB0 */ Gambit_fn_020298E4(cpu);
|
|
/* 027E3FB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E3FB8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3FBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3FC0 */ return;
|
|
L_027E3FC4: ; // 0x27e3fc4
|
|
/* 027E3FC4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E3FC8 */ cpu->lr = cpu->r[0];
|
|
/* 027E3FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E3FD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E3FD4 */ return;
|
|
}
|
|
|
|
// fn_027E3FD8 @ 0x27e3fd8
|
|
void Gambit_fn_027E3FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027E3FD8: ; // 0x27e3fd8
|
|
/* 027E3FD8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E3FDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3FDC */ cpu->r[1] = _t0;
|
|
/* 027E3FE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3FE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E3FE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E3FEC */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E3FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3FF4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3FF4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E3FF4 */ if (_t4) goto L_027E4000; else goto L_027E3FF8;
|
|
L_027E3FF8: ; // 0x27e3ff8
|
|
/* 027E3FF8 */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E3FFC */ _t5 = cpu->r[3] + 0x00000131u;
|
|
/* 027E3FFC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
L_027E4000: ; // 0x27e4000
|
|
/* 027E4000 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4004 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E4008 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E400C */ cpu->lr = cpu->r[0];
|
|
/* 027E4010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E4014 */ return;
|
|
}
|
|
|
|
// fn_027E3FDC @ 0x27e3fdc
|
|
void Gambit_fn_027E3FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027E3FDC: ; // 0x27e3fdc
|
|
/* 027E3FDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E3FDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E3FDC */ cpu->r[1] = _t0;
|
|
/* 027E3FE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E3FE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E3FE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E3FE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E3FE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E3FEC */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E3FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E3FF4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E3FF4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E3FF4 */ if (_t4) goto L_027E4000; else goto L_027E3FF8;
|
|
L_027E3FF8: ; // 0x27e3ff8
|
|
/* 027E3FF8 */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E3FFC */ _t5 = cpu->r[3] + 0x00000131u;
|
|
/* 027E3FFC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
L_027E4000: ; // 0x27e4000
|
|
/* 027E4000 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4004 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E4008 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4008 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E400C */ cpu->lr = cpu->r[0];
|
|
/* 027E4010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E4014 */ return;
|
|
}
|
|
|
|
// fn_027E4018 @ 0x27e4018
|
|
void Gambit_fn_027E4018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027E4018: ; // 0x27e4018
|
|
/* 027E4018 */ cpu->r[0] = cpu->lr;
|
|
/* 027E401C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E401C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E401C */ cpu->r[1] = _t0;
|
|
/* 027E4020 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4020 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E4024 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E4028 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4028 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E402C */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E4030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E4034 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4034 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E4034 */ if (_t4) goto L_027E4040; else goto L_027E4038;
|
|
L_027E4038: ; // 0x27e4038
|
|
/* 027E4038 */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E403C */ _t5 = cpu->r[3] + 0x00000130u;
|
|
/* 027E403C */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
L_027E4040: ; // 0x27e4040
|
|
/* 027E4040 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4044 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E4048 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E404C */ cpu->lr = cpu->r[0];
|
|
/* 027E4050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E4054 */ return;
|
|
}
|
|
|
|
// fn_027E401C @ 0x27e401c
|
|
void Gambit_fn_027E401C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027E401C: ; // 0x27e401c
|
|
/* 027E401C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E401C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E401C */ cpu->r[1] = _t0;
|
|
/* 027E4020 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4020 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E4024 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E4028 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4028 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E402C */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E4030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E4034 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4034 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E4034 */ if (_t4) goto L_027E4040; else goto L_027E4038;
|
|
L_027E4038: ; // 0x27e4038
|
|
/* 027E4038 */ Gambit_fn_027E3F74(cpu);
|
|
/* 027E403C */ _t5 = cpu->r[3] + 0x00000130u;
|
|
/* 027E403C */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
L_027E4040: ; // 0x27e4040
|
|
/* 027E4040 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4044 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E4048 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E404C */ cpu->lr = cpu->r[0];
|
|
/* 027E4050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E4054 */ return;
|
|
}
|
|
|
|
// fn_027E4058 @ 0x27e4058
|
|
void Gambit_fn_027E4058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E4058: ; // 0x27e4058
|
|
/* 027E4058 */ _t0 = cpu->r[1] + 0xFFFFFC68u;
|
|
/* 027E4058 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4058 */ cpu->r[1] = _t0;
|
|
/* 027E405C */ /* nop */
|
|
/* 027E4060 */ cpu->r[0] = cpu->lr;
|
|
/* 027E4064 */ _t1 = cpu->r[1] + 0x0000039Cu;
|
|
/* 027E4064 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E4068 */ cpu->r[0] = cpu->r[1] + 0x00000158u;
|
|
/* 027E406C */ _t2 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E406C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E4070 */ cpu->r[10] = 0x00000100u;
|
|
/* 027E4074 */ cpu->r[25] = 0x10110000u;
|
|
/* 027E4078 */ _t3 = cpu->r[1] + 0x00000154u;
|
|
/* 027E4078 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 027E407C */ cpu->r[25] = cpu->r[25] + 0xFFFFF870u;
|
|
/* 027E4080 */ _t4 = cpu->r[1] + 0x00000150u;
|
|
/* 027E4080 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]);
|
|
/* 027E4084 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E4088 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027E4088 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027E408C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 027E408C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4090 */ _t7 = cpu->r[1] + 0x00000158u;
|
|
/* 027E4090 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 027E4094 */ _t8 = cpu->r[1] + 0x00000257u;
|
|
/* 027E4094 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 027E4098 */ _t9 = cpu->r[11] + 0x00000014u;
|
|
/* 027E4098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E409C */ cpu->r[24] = 0x10110000u;
|
|
/* 027E40A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027E40A4 */ cpu->r[24] = cpu->r[24] + 0xFFFFF828u;
|
|
/* 027E40A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E40AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E40B0 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E40B4 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 027E40B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E40B8 */ cpu->r[3] = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E40BC */ cpu->r[4] = cpu->r[4] + 0xFFFFF8D8u;
|
|
/* 027E40C0 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E40C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E40C0 */ if (_t12) goto L_027E40C4; // else: addr-0 trap, fall-through
|
|
L_027E40C4: ; // 0x27e40c4
|
|
/* 027E40C4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E40C8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E40CC */ cpu->r[5] = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E40D0 */ _t13 = cpu->r[3] + 0xFFFF94D4u;
|
|
/* 027E40D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E40D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E40D8 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
/* 027E40DC */ Gambit_fn_027CE134(cpu);
|
|
/* 027E40E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E40E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E40E4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E40E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E40E4 */ if (_t15) goto L_027E43C8; else goto L_027E40E8;
|
|
L_027E40E8: ; // 0x27e40e8
|
|
/* 027E40E8 */ _t16 = cpu->r[1] + 0x0000025Cu;
|
|
/* 027E40E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[25]);
|
|
/* 027E40EC */ cpu->r[4] = 0x00000100u;
|
|
/* 027E40F0 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 027E40F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E40F4 */ cpu->r[0] = cpu->r[1] + 0x00000264u;
|
|
/* 027E40F8 */ _t18 = cpu->r[1] + 0x00000363u;
|
|
/* 027E40F8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[31]);
|
|
/* 027E40FC */ _t19 = cpu->r[1] + 0x00000260u;
|
|
/* 027E40FC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 027E4100 */ _t20 = cpu->r[1] + 0x00000258u;
|
|
/* 027E4100 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 027E4104 */ _t21 = cpu->r[1] + 0x00000264u;
|
|
/* 027E4104 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 027E4108 */ _t22 = cpu->r[5] + 0x00000014u;
|
|
/* 027E4108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E410C */ cpu->ctr = cpu->r[6];
|
|
/* 027E4110 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E4114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E4118 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E411C */ cpu->r[3] = cpu->r[1] + 0x00000258u;
|
|
/* 027E4120 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027E4120 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E4124 */ cpu->r[4] = cpu->r[4] + 0xFFFFF8E4u;
|
|
/* 027E4128 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E4128 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E4128 */ if (_t25) goto L_027E412C; // else: addr-0 trap, fall-through
|
|
L_027E412C: ; // 0x27e412c
|
|
/* 027E412C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E4130 */ _t26 = cpu->r[29] + 0x00000134u;
|
|
/* 027E4130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E4134 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E4138 */ cpu->r[4] = cpu->r[1] + 0x00000258u;
|
|
/* 027E413C */ Gambit_fn_027E2C10(cpu);
|
|
/* 027E4140 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E4140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E4144 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4144 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E4144 */ if (_t28) goto L_027E43C8; else goto L_027E4148;
|
|
L_027E4148: ; // 0x27e4148
|
|
/* 027E4148 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E414C */ Gambit_fn_027DB54C(cpu);
|
|
/* 027E4150 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4154 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027E4158 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E415C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4160 */ cpu->r[5] = cpu->r[5] + 0xFFFFF8C8u;
|
|
/* 027E4164 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E4168 */ Gambit_fn_027DB980(cpu);
|
|
/* 027E416C */ cpu->r[22] = 0x00000000u;
|
|
/* 027E4170 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4174 */ Gambit_fn_027DC280(cpu);
|
|
/* 027E4178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[3]);
|
|
/* 027E417C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E417C */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E417C */ if (_t30) goto L_027E4180; else goto L_027E43C8;
|
|
L_027E4180: ; // 0x27e4180
|
|
/* 027E4180 */ cpu->r[27] = 0x10110000u;
|
|
/* 027E4184 */ cpu->r[23] = 0x00000100u;
|
|
/* 027E4188 */ cpu->r[30] = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E418C */ cpu->r[27] = cpu->r[27] + 0xFFFFF8C4u;
|
|
/* 027E4190 */ cpu->r[26] = 0x10110000u;
|
|
L_027E4194: ; // 0x27e4194
|
|
/* 027E4194 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 027E4198 */ Gambit_fn_027DB50C(cpu);
|
|
/* 027E419C */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 027E41A0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E41A4 */ cpu->r[5] = cpu->r[22];
|
|
/* 027E41A8 */ Gambit_fn_027DBF74(cpu);
|
|
/* 027E41AC */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027E41B0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 027E41B4 */ cpu->r[5] = cpu->r[26] + 0xFFFFF8F0u;
|
|
/* 027E41B8 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 027E41B8 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
|
|
/* 027E41BC */ Gambit_fn_027DBA48(cpu);
|
|
/* 027E41C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E41C4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E41C4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E41C4 */ if (_t33) goto L_027E43B4; else goto L_027E41C8;
|
|
L_027E41C8: ; // 0x27e41c8
|
|
/* 027E41C8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E41CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 027E41CC */ rbrew_write32(cpu->mem, _t34, cpu->r[24]);
|
|
/* 027E41D0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF8D0u;
|
|
/* 027E41D4 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027E41D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E41D8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E41DC */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027E41DC */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 027E41E0 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E41E0 */ rbrew_write32(cpu->mem, _t37, cpu->r[24]);
|
|
/* 027E41E4 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 027E41E4 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 027E41E8 */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E41EC */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 027E41EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E41F0 */ _t40 = cpu->r[5] + 0x00000000u;
|
|
/* 027E41F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t40);
|
|
/* 027E41F4 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E41F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027E41FC */ cpu->r[10] = 0x00080000u;
|
|
/* 027E4200 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4200 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E4200 */ if (_t42) goto L_027E4228; else goto L_027E4204;
|
|
L_027E4204: ; // 0x27e4204
|
|
/* 027E4204 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027E4208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 027E420C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027E4210 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4210 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E4210 */ if (_t44) goto L_027E4224; else goto L_027E4214;
|
|
L_027E4214: ; // 0x27e4214
|
|
/* 027E4214 */ _t45 = cpu->r[5] + 0x00000000u;
|
|
/* 027E4214 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E4218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E421C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E421C */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E421C */ if (_t47) goto L_027E4220; else goto L_027E4204;
|
|
L_027E4220: ; // 0x27e4220
|
|
/* 027E4220 */ goto L_027E4228;
|
|
L_027E4224: ; // 0x27e4224
|
|
/* 027E4224 */ cpu->r[28] = 0x00000000u;
|
|
L_027E4228: ; // 0x27e4228
|
|
/* 027E4228 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4228 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027E422C */ _t49 = cpu->r[4] + 0x00000014u;
|
|
/* 027E422C */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E4230 */ cpu->ctr = cpu->r[5];
|
|
/* 027E4234 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E4238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E423C */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E423C */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027E4240 */ _t51 = cpu->r[9] + 0x00000000u;
|
|
/* 027E4240 */ cpu->r[6] = rbrew_read8(cpu->mem, _t51);
|
|
/* 027E4244 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E4248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027E424C */ cpu->r[29] = 0x00000000u;
|
|
/* 027E4250 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4250 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E4250 */ if (_t53) goto L_027E4278; else goto L_027E4254;
|
|
L_027E4254: ; // 0x27e4254
|
|
/* 027E4254 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E4258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 027E425C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E4260 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4260 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027E4260 */ if (_t55) goto L_027E4274; else goto L_027E4264;
|
|
L_027E4264: ; // 0x27e4264
|
|
/* 027E4264 */ _t56 = cpu->r[9] + 0x00000000u;
|
|
/* 027E4264 */ cpu->r[7] = rbrew_read8(cpu->mem, _t56);
|
|
/* 027E4268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E426C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E426C */ _t58 = _t57 & 0x00000001u;
|
|
/* 027E426C */ if (_t58) goto L_027E4270; else goto L_027E4254;
|
|
L_027E4270: ; // 0x27e4270
|
|
/* 027E4270 */ goto L_027E4278;
|
|
L_027E4274: ; // 0x27e4274
|
|
/* 027E4274 */ cpu->r[29] = 0x00000000u;
|
|
L_027E4278: ; // 0x27e4278
|
|
/* 027E4278 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 027E4278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E427C */ cpu->r[21] = 0x00000000u;
|
|
/* 027E4280 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4280 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027E4280 */ if (_t60) goto L_027E4348; else goto L_027E4284;
|
|
L_027E4284: ; // 0x27e4284
|
|
/* 027E4284 */ cpu->r[20] = cpu->r[31];
|
|
L_027E4288: ; // 0x27e4288
|
|
/* 027E4288 */ _t61 = cpu->r[1] + 0x00000018u;
|
|
/* 027E4288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027E428C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E428C */ rbrew_write32(cpu->mem, _t62, cpu->r[24]);
|
|
/* 027E4290 */ cpu->r[8] = cpu->r[10] + cpu->r[21];
|
|
/* 027E4294 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E4298 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4298 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 027E429C */ Gambit_fn_027E44AC(cpu);
|
|
/* 027E42A0 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E42A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E42A4 */ _t65 = cpu->r[12] + 0x00000014u;
|
|
/* 027E42A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E42A8 */ cpu->ctr = cpu->r[4];
|
|
/* 027E42AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E42B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E42B4 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 027E42B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E42B8 */ _t67 = cpu->r[7] + 0x00000014u;
|
|
/* 027E42B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 027E42BC */ cpu->ctr = cpu->r[9];
|
|
/* 027E42C0 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 027E42C0 */ cpu->r[19] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E42C4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E42C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E42CC */ _t69 = cpu->r[1] + 0x00000010u;
|
|
/* 027E42CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E42D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[11]);
|
|
/* 027E42D4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E42D4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 027E42D4 */ if (_t71) goto L_027E4328; else goto L_027E42D8;
|
|
L_027E42D8: ; // 0x27e42d8
|
|
/* 027E42D8 */ cpu->r[0] = cpu->r[29];
|
|
/* 027E42D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E42DC */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E42DC */ _t73 = _t72 & 0x00000001u;
|
|
/* 027E42DC */ if (_t73) goto L_027E42E0; else goto L_027E4328;
|
|
L_027E42E0: ; // 0x27e42e0
|
|
/* 027E42E0 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 027E42E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E42E4 */ cpu->ctr = cpu->r[0];
|
|
/* 027E42E8 */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 027E42E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
L_027E42EC: ; // 0x27e42ec
|
|
/* 027E42EC */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 027E42EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t76);
|
|
/* 027E42F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[20]);
|
|
/* 027E42F4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E42F4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027E42F4 */ if (_t78) goto L_027E42F8; else goto L_027E4308;
|
|
L_027E42F8: ; // 0x27e42f8
|
|
/* 027E42F8 */ _t79 = cpu->r[10] + 0x00000000u;
|
|
/* 027E42F8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t79);
|
|
/* 027E42FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[20]);
|
|
/* 027E4300 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4300 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027E4300 */ if (_t81) goto L_027E4328; else goto L_027E4304;
|
|
L_027E4304: ; // 0x27e4304
|
|
/* 027E4304 */ goto L_027E433C;
|
|
L_027E4308: ; // 0x27e4308
|
|
/* 027E4308 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 027E4308 */ cpu->r[7] = rbrew_read8(cpu->mem, _t82);
|
|
/* 027E430C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[20]);
|
|
/* 027E4310 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4310 */ _t84 = _t83 & 0x00000001u;
|
|
/* 027E4310 */ if (_t84) goto L_027E433C; else goto L_027E4314;
|
|
L_027E4314: ; // 0x27e4314
|
|
/* 027E4314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027E4318 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4318 */ _t86 = _t85 & 0x00000001u;
|
|
/* 027E4318 */ if (_t86) goto L_027E431C; else goto L_027E433C;
|
|
L_027E431C: ; // 0x27e431c
|
|
/* 027E431C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E4320 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E4324 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E4324 */ _t87 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E4324 */ _t88 = _t87 >> (0x00000002u & 31u);
|
|
/* 027E4324 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027E4324 */ if (_t89) goto L_027E42EC; else goto L_027E4328;
|
|
L_027E4328: ; // 0x27e4328
|
|
/* 027E4328 */ _t90 = cpu->r[21] | cpu->r[21];
|
|
/* 027E4328 */ cpu->r[4] = ~_t90;
|
|
/* 027E432C */ cpu->r[6] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027E4330 */ cpu->r[8] = cpu->r[4] - cpu->r[6];
|
|
/* 027E4330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E4334 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4334 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027E4334 */ if (_t92) goto L_027E43B4; else goto L_027E4338;
|
|
L_027E4338: ; // 0x27e4338
|
|
/* 027E4338 */ goto L_027E4358;
|
|
L_027E433C: ; // 0x27e433c
|
|
/* 027E433C */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 027E4340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[28]);
|
|
/* 027E4344 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4344 */ _t94 = _t93 & 0x00000001u;
|
|
/* 027E4344 */ if (_t94) goto L_027E4348; else goto L_027E4288;
|
|
L_027E4348: ; // 0x27e4348
|
|
/* 027E4348 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E434C */ cpu->r[6] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 027E4350 */ cpu->r[8] = ~cpu->r[6];
|
|
/* 027E4350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E4354 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4354 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027E4354 */ if (_t96) goto L_027E43B4; else goto L_027E4358;
|
|
L_027E4358: ; // 0x27e4358
|
|
/* 027E4358 */ _t97 = cpu->r[1] + 0x00000044u;
|
|
/* 027E4358 */ rbrew_write32(cpu->mem, _t97, cpu->r[25]);
|
|
/* 027E435C */ cpu->r[4] = 0x10110000u;
|
|
/* 027E4360 */ _t98 = cpu->r[1] + 0x00000048u;
|
|
/* 027E4360 */ rbrew_write32(cpu->mem, _t98, cpu->r[23]);
|
|
/* 027E4364 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 027E4368 */ _t99 = cpu->r[1] + 0x00000020u;
|
|
/* 027E4368 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027E436C */ _t100 = cpu->r[1] + 0x00000040u;
|
|
/* 027E436C */ rbrew_write32(cpu->mem, _t100, cpu->r[30]);
|
|
/* 027E4370 */ _t101 = cpu->r[30] + 0x000000FFu;
|
|
/* 027E4370 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[31]);
|
|
/* 027E4374 */ cpu->r[4] = cpu->r[4] + 0xFFFFF900u;
|
|
/* 027E4378 */ _t102 = cpu->r[30] + 0x00000000u;
|
|
/* 027E4378 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[31]);
|
|
/* 027E437C */ _t103 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E437C */ _t104 = _t103 & 0x00000001u;
|
|
/* 027E437C */ if (_t104) goto L_027E4380; // else: addr-0 trap, fall-through
|
|
L_027E4380: ; // 0x27e4380
|
|
/* 027E4380 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E4384 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E4388 */ cpu->r[6] = 0x00000002u;
|
|
/* 027E438C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027E4390 */ cpu->r[7] = cpu->r[5];
|
|
/* 027E4394 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 027E4398 */ Gambit_fn_027E297C(cpu);
|
|
/* 027E439C */ /* nop */
|
|
/* 027E43A0 */ _t105 = cpu->r[1] + 0x0000039Cu;
|
|
/* 027E43A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027E43A4 */ cpu->lr = cpu->r[0];
|
|
/* 027E43A8 */ cpu->r[1] = cpu->r[1] + 0x00000398u;
|
|
/* 027E43AC */ cpu->r[3] = 0x00000001u;
|
|
/* 027E43B0 */ return;
|
|
L_027E43B4: ; // 0x27e43b4
|
|
/* 027E43B4 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027E43B8 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E43BC */ Gambit_fn_027DC280(cpu);
|
|
/* 027E43C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[3]);
|
|
/* 027E43C4 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E43C4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 027E43C4 */ if (_t107) goto L_027E4194; else goto L_027E43C8;
|
|
L_027E43C8: ; // 0x27e43c8
|
|
/* 027E43C8 */ /* nop */
|
|
/* 027E43CC */ _t108 = cpu->r[1] + 0x0000039Cu;
|
|
/* 027E43CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027E43D0 */ cpu->lr = cpu->r[0];
|
|
/* 027E43D4 */ cpu->r[1] = cpu->r[1] + 0x00000398u;
|
|
/* 027E43D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E43DC */ return;
|
|
}
|
|
|
|
// fn_027E43E0 @ 0x27e43e0
|
|
void Gambit_fn_027E43E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027E43E0: ; // 0x27e43e0
|
|
/* 027E43E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E43E4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E43E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E43E4 */ if (_t1) goto L_027E43F0; else goto L_027E43E8;
|
|
L_027E43E8: ; // 0x27e43e8
|
|
/* 027E43E8 */ cpu->r[3] = cpu->r[3] + 0x00000002u;
|
|
/* 027E43EC */ return;
|
|
L_027E43F0: ; // 0x27e43f0
|
|
/* 027E43F0 */ cpu->r[0] = 0x00000003u;
|
|
/* 027E43F4 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E43F8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E43FC */ cpu->ctr = cpu->r[0];
|
|
/* 027E4400 */ cpu->r[8] = 0x00000000u;
|
|
/* 027E4404 */ cpu->r[12] = cpu->r[12] + 0xFFFFF884u;
|
|
/* 027E4408 */ cpu->r[7] = cpu->r[7] + 0xFFFFF890u;
|
|
L_027E440C: ; // 0x27e440c
|
|
/* 027E440C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 027E440C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E440C */ cpu->r[12] = _t2;
|
|
/* 027E4410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[9]);
|
|
/* 027E4414 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4414 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E4414 */ if (_t4) goto L_027E4418; else goto L_027E4424;
|
|
L_027E4418: ; // 0x27e4418
|
|
/* 027E4418 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 027E4418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E4418 */ cpu->r[7] = _t5;
|
|
/* 027E441C */ cpu->r[8] = cpu->r[8] + cpu->r[10];
|
|
/* 027E4420 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E4420 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E4420 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 027E4420 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E4420 */ if (_t8) goto L_027E440C; else goto L_027E4424;
|
|
L_027E4424: ; // 0x27e4424
|
|
/* 027E4424 */ cpu->r[3] = cpu->r[3] + cpu->r[8];
|
|
/* 027E4428 */ return;
|
|
}
|
|
|
|
// fn_027E442C @ 0x27e442c
|
|
void Gambit_fn_027E442C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E442C: ; // 0x27e442c
|
|
/* 027E442C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 027E4430 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E4430 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4430 */ cpu->r[1] = _t0;
|
|
/* 027E4434 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E4438 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027E443C */ _t1 = cpu->r[10] + 0x00003670u;
|
|
/* 027E443C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027E443C */ cpu->r[10] = _t1;
|
|
/* 027E4440 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E4444 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 027E4444 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E4448 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 027E444C */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E4450 */ _t3 = cpu->r[7] + 0x00003680u;
|
|
/* 027E4450 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027E4450 */ cpu->r[7] = _t3;
|
|
/* 027E4454 */ _t4 = cpu->r[8] + 0x00003678u;
|
|
/* 027E4454 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E4454 */ cpu->r[8] = _t4;
|
|
/* 027E4458 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E445C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 027E445C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027E4460 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E4464 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4464 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E4468 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E446C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027E446C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027E4470 */ _t8 = cpu->r[8] + 0x00003690u;
|
|
/* 027E4470 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027E4470 */ cpu->r[8] = _t8;
|
|
/* 027E4474 */ _t9 = cpu->r[12] + 0x00003688u;
|
|
/* 027E4474 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027E4474 */ cpu->r[12] = _t9;
|
|
/* 027E4478 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4478 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027E447C */ cpu->r[0] = 0x00000004u;
|
|
/* 027E4480 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 027E4480 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027E4484 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E4488 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E448C */ _t13 = cpu->r[11] + 0x00003698u;
|
|
/* 027E448C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E4490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E4494 */ return;
|
|
}
|
|
|
|
// fn_027E4430 @ 0x27e4430
|
|
void Gambit_fn_027E4430(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E4430: ; // 0x27e4430
|
|
/* 027E4430 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E4430 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4430 */ cpu->r[1] = _t0;
|
|
/* 027E4434 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E4438 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027E443C */ _t1 = cpu->r[10] + 0x00003670u;
|
|
/* 027E443C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027E443C */ cpu->r[10] = _t1;
|
|
/* 027E4440 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E4444 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 027E4444 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E4448 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 027E444C */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E4450 */ _t3 = cpu->r[7] + 0x00003680u;
|
|
/* 027E4450 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027E4450 */ cpu->r[7] = _t3;
|
|
/* 027E4454 */ _t4 = cpu->r[8] + 0x00003678u;
|
|
/* 027E4454 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E4454 */ cpu->r[8] = _t4;
|
|
/* 027E4458 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E445C */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 027E445C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 027E4460 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E4464 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4464 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E4468 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E446C */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 027E446C */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027E4470 */ _t8 = cpu->r[8] + 0x00003690u;
|
|
/* 027E4470 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027E4470 */ cpu->r[8] = _t8;
|
|
/* 027E4474 */ _t9 = cpu->r[12] + 0x00003688u;
|
|
/* 027E4474 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 027E4474 */ cpu->r[12] = _t9;
|
|
/* 027E4478 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4478 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027E447C */ cpu->r[0] = 0x00000004u;
|
|
/* 027E4480 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 027E4480 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027E4484 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E4488 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E448C */ _t13 = cpu->r[11] + 0x00003698u;
|
|
/* 027E448C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E4490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E4494 */ return;
|
|
}
|
|
|
|
// fn_027E4498 @ 0x27e4498
|
|
void Gambit_fn_027E4498(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_027E4498: ; // 0x27e4498
|
|
/* 027E4498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E449C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E449C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E449C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E449C */ goto L_027E44A0;
|
|
L_027E44A0: ; // 0x27e44a0
|
|
/* 027E44A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E44A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E44A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E44A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44A4 */ goto L_027E44A8;
|
|
L_027E44A8: ; // 0x27e44a8
|
|
/* 027E44A8 */ 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_027E44AC @ 0x27e44ac
|
|
void Gambit_fn_027E44AC(CPUState* cpu) {
|
|
L_027E44AC: ; // 0x27e44ac
|
|
/* 027E44AC */ return;
|
|
}
|
|
|
|
// fn_027E44B0 @ 0x27e44b0
|
|
void Gambit_fn_027E44B0(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_027E44B0: ; // 0x27e44b0
|
|
/* 027E44B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E44B4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44B4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E44B4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44B4 */ goto L_027E44B8;
|
|
L_027E44B8: ; // 0x27e44b8
|
|
/* 027E44B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E44B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E44BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44BC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E44BC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44BC */ goto L_027E44C0;
|
|
L_027E44C0: ; // 0x27e44c0
|
|
/* 027E44C0 */ 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_027E44C4 @ 0x27e44c4
|
|
void Gambit_fn_027E44C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E44C4: ; // 0x27e44c4
|
|
/* 027E44C4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E44C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E44C8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E44C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E44CC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E44D0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E44D4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E44D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E44D8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E44D8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E44DC */ return;
|
|
}
|
|
|
|
// fn_027E44E0 @ 0x27e44e0
|
|
void Gambit_fn_027E44E0(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_027E44E0: ; // 0x27e44e0
|
|
/* 027E44E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E44E4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44E4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E44E4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44E4 */ goto L_027E44E8;
|
|
L_027E44E8: ; // 0x27e44e8
|
|
/* 027E44E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E44E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E44EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E44EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44EC */ goto L_027E44F0;
|
|
L_027E44F0: ; // 0x27e44f0
|
|
/* 027E44F0 */ 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_027E44F4 @ 0x27e44f4
|
|
void Gambit_fn_027E44F4(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_027E44F4: ; // 0x27e44f4
|
|
/* 027E44F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E44F8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E44F8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E44F8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E44F8 */ goto L_027E44FC;
|
|
L_027E44FC: ; // 0x27e44fc
|
|
/* 027E44FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E44FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4500 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4500 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E4500 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E4500 */ goto L_027E4504;
|
|
L_027E4504: ; // 0x27e4504
|
|
/* 027E4504 */ 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_027E4508 @ 0x27e4508
|
|
void Gambit_fn_027E4508(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194;
|
|
|
|
L_027E4508: ; // 0x27e4508
|
|
/* 027E4508 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 027E4508 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4508 */ cpu->r[1] = _t0;
|
|
/* 027E450C */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 027E450C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027E4510 */ cpu->r[0] = cpu->lr;
|
|
/* 027E4514 */ _t2 = cpu->r[1] + 0x00000068u;
|
|
/* 027E4514 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E4518 */ /* nop */
|
|
/* 027E451C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E4520 */ _t3 = cpu->r[1] + 0x00000064u;
|
|
/* 027E4520 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027E4524 */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 027E4524 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E4528 */ cpu->f[4] = cpu->f[3];
|
|
/* 027E452C */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027E452C */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 027E4530 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E4534 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 027E4534 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 027E4538 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E453C */ cpu->r[31] = cpu->r[6];
|
|
/* 027E4540 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E4540 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E4544 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E4548 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E454C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E454C */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E454C */ if (_t9) goto L_027E4554; else goto L_027E4550;
|
|
L_027E4550: ; // 0x27e4550
|
|
/* 027E4550 */ cpu->r[0] = 0x00000101u;
|
|
L_027E4554: ; // 0x27e4554
|
|
/* 027E4554 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E4558 */ cpu->r[7] = 0x101E0000u;
|
|
/* 027E455C */ _t10 = cpu->r[10] + 0xFFFFF910u;
|
|
/* 027E455C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E4560 */ _t11 = cpu->r[7] + 0xFFFF958Cu;
|
|
/* 027E4560 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E4564 */ cpu->r[7] = 0x101C0000u;
|
|
/* 027E4568 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 027E456C */ _t12 = cpu->r[7] + 0x00001EF8u;
|
|
/* 027E456C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E4570 */ cpu->r[8] = cpu->r[8] | 0x000000FFu;
|
|
/* 027E4574 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E4578 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4578 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E4578 */ if (_t14) goto L_027E45B0; else goto L_027E457C;
|
|
L_027E457C: ; // 0x27e457c
|
|
/* 027E457C */ cpu->f[1] = cpu->f[2];
|
|
/* 027E4580 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E4584 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 027E4584 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E4588 */ cpu->f[2] = cpu->f[3];
|
|
/* 027E458C */ cpu->r[6] = cpu->r[5];
|
|
/* 027E4590 */ cpu->r[7] = cpu->r[0];
|
|
/* 027E4594 */ cpu->r[10] = cpu->r[5];
|
|
/* 027E4598 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4598 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 027E459C */ Gambit_fn_0204A4DC(cpu);
|
|
/* 027E45A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E45A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E45A4 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 027E45A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 027E45A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E45A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E45A8 */ if (_t19) goto L_027E45D4; else goto L_027E45AC;
|
|
L_027E45AC: ; // 0x27e45ac
|
|
/* 027E45AC */ goto L_027E4604;
|
|
L_027E45B0: ; // 0x27e45b0
|
|
/* 027E45B0 */ cpu->r[7] = cpu->r[8];
|
|
/* 027E45B4 */ _t20 = cpu->r[28] + 0x00000004u;
|
|
/* 027E45B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E45B8 */ cpu->r[9] = cpu->r[28];
|
|
/* 027E45BC */ cpu->r[6] = cpu->r[0];
|
|
/* 027E45C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E45C4 */ Gambit_fn_0204A864(cpu);
|
|
/* 027E45C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E45C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E45CC */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 027E45CC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 027E45D0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E45D0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E45D0 */ if (_t23) goto L_027E45D4; else goto L_027E4604;
|
|
L_027E45D4: ; // 0x27e45d4
|
|
/* 027E45D4 */ _t24 = cpu->r[1] + 0x00000058u;
|
|
/* 027E45D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E45D8 */ _t25 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027E45D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E45DC */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 027E45DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027E45E0 */ _t27 = cpu->r[1] + 0x00000060u;
|
|
/* 027E45E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E45E4 */ _t28 = cpu->r[1] + 0x00000068u;
|
|
/* 027E45E4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 027E45E8 */ _t29 = cpu->r[1] + 0x00000064u;
|
|
/* 027E45E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E45EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E45F0 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E45F0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E45F0 */ if (_t31) goto L_027E45F4; // else: addr-0 trap, fall-through
|
|
L_027E45F4: ; // 0x27e45f4
|
|
/* 027E45F4 */ _t32 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E45F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E45F8 */ cpu->lr = cpu->r[0];
|
|
/* 027E45FC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 027E4600 */ return;
|
|
L_027E4604: ; // 0x27e4604
|
|
/* 027E4604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E4608 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4608 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027E4608 */ if (_t34) goto L_027E496C; else goto L_027E460C;
|
|
L_027E460C: ; // 0x27e460c
|
|
/* 027E460C */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 027E460C */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E4610 */ _t36 = cpu->r[7] + 0x00000168u;
|
|
/* 027E4610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E4614 */ /* nop */
|
|
/* 027E4618 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000004u, 0x00000004u);
|
|
/* 027E4618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E461C */ _t37 = cpu->r[30] + 0x00000008u;
|
|
/* 027E461C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 027E4620 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4620 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E4620 */ if (_t39) goto L_027E4698; else goto L_027E4624;
|
|
L_027E4624: ; // 0x27e4624
|
|
/* 027E4624 */ _t40 = cpu->r[7] + 0x00000044u;
|
|
/* 027E4624 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027E4628 */ /* nop */
|
|
/* 027E462C */ /* nop */
|
|
/* 027E4630 */ /* nop */
|
|
/* 027E4634 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E4638 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027E4638 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E463C */ cpu->f[13] = cpu->f[0] * cpu->f[13];
|
|
/* 027E4640 */ _t43 = cpu->r[1] + 0x00000048u;
|
|
/* 027E4640 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 027E4644 */ _t44 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E4644 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 027E4648 */ /* nop */
|
|
/* 027E464C */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 027E464C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 027E4650 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E4654 */ /* nop */
|
|
/* 027E4658 */ _t47 = cpu->r[29] + 0x00000008u;
|
|
/* 027E4658 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 027E465C */ _t48 = cpu->r[1] + 0x00000050u;
|
|
/* 027E465C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 027E4660 */ _t49 = cpu->r[1] + 0x00000050u;
|
|
/* 027E4660 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027E4664 */ /* nop */
|
|
/* 027E4668 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 027E4668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027E466C */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 027E4670 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4670 */ cpu->r[5] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E4674 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E4674 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 027E4678 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 027E4678 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 027E467C */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 027E467C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E4680 */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 027E4680 */ rbrew_write32(cpu->mem, _t55, cpu->r[5]);
|
|
/* 027E4684 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 027E4684 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 027E4688 */ _t57 = cpu->r[7] + 0x00000040u;
|
|
/* 027E4688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027E468C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 027E4690 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4690 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027E4690 */ if (_t59) goto L_027E4728; else goto L_027E4694;
|
|
L_027E4694: ; // 0x27e4694
|
|
/* 027E4694 */ goto L_027E4704;
|
|
L_027E4698: ; // 0x27e4698
|
|
/* 027E4698 */ /* nop */
|
|
/* 027E469C */ /* nop */
|
|
/* 027E46A0 */ /* nop */
|
|
/* 027E46A4 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E46A8 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 027E46A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027E46AC */ cpu->f[13] = cpu->f[0] * cpu->f[31];
|
|
/* 027E46B0 */ _t62 = cpu->r[1] + 0x00000048u;
|
|
/* 027E46B0 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 027E46B4 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E46B4 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 027E46B8 */ /* nop */
|
|
/* 027E46BC */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 027E46BC */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 027E46C0 */ _t65 = cpu->r[1] + 0x00000014u;
|
|
/* 027E46C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E46C4 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 027E46C4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027E46C8 */ /* nop */
|
|
/* 027E46CC */ _t67 = cpu->r[1] + 0x00000050u;
|
|
/* 027E46CC */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 027E46D0 */ _t68 = cpu->r[1] + 0x00000050u;
|
|
/* 027E46D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 027E46D4 */ /* nop */
|
|
/* 027E46D8 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 027E46D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E46DC */ cpu->f[11] = cpu->f[12] + cpu->f[13];
|
|
/* 027E46E0 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E46E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E46E4 */ _t71 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E46E4 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 027E46E8 */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 027E46E8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[11]);
|
|
/* 027E46EC */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 027E46EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E46F0 */ _t74 = cpu->r[1] + 0x00000040u;
|
|
/* 027E46F0 */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
|
|
/* 027E46F4 */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 027E46F4 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 027E46F8 */ _t76 = cpu->r[7] + 0x00000040u;
|
|
/* 027E46F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027E46FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 027E4700 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4700 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027E4700 */ if (_t78) goto L_027E4728; else goto L_027E4704;
|
|
L_027E4704: ; // 0x27e4704
|
|
/* 027E4704 */ _t79 = cpu->r[7] + 0x00000000u;
|
|
/* 027E4704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027E4708 */ _t80 = cpu->r[7] + 0x00000034u;
|
|
/* 027E4708 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[31]);
|
|
/* 027E470C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 027E470C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4710 */ _t81 = cpu->r[7] + 0x0000003Cu;
|
|
/* 027E4710 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[31]);
|
|
/* 027E4714 */ _t82 = cpu->r[7] + 0x00000040u;
|
|
/* 027E4714 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[31]);
|
|
/* 027E4718 */ cpu->r[12] = cpu->r[7] + 0x00000034u;
|
|
/* 027E471C */ _t83 = cpu->r[7] + 0x00000038u;
|
|
/* 027E471C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[31]);
|
|
/* 027E4720 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4720 */ _t85 = _t84 & 0x00000001u;
|
|
/* 027E4720 */ if (_t85) goto L_027E4724; else goto L_027E47A4;
|
|
L_027E4724: ; // 0x27e4724
|
|
/* 027E4724 */ goto L_027E47C8;
|
|
L_027E4728: ; // 0x27e4728
|
|
/* 027E4728 */ _t86 = cpu->r[7] + 0x00000000u;
|
|
/* 027E4728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027E472C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Cu);
|
|
/* 027E472C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4730 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4730 */ _t88 = _t87 & 0x00000001u;
|
|
/* 027E4730 */ if (_t88) goto L_027E4734; else goto L_027E4788;
|
|
L_027E4734: ; // 0x27e4734
|
|
/* 027E4734 */ /* nop */
|
|
/* 027E4738 */ /* nop */
|
|
/* 027E473C */ _t89 = cpu->r[1] + 0x00000044u;
|
|
/* 027E473C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027E4740 */ /* nop */
|
|
/* 027E4744 */ /* nop */
|
|
/* 027E4748 */ _t90 = cpu->r[7] + 0x0000003Cu;
|
|
/* 027E4748 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 027E474C */ _t91 = cpu->r[1] + 0x00000024u;
|
|
/* 027E474C */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027E4750 */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E4754 */ cpu->f[13] = cpu->f[7] + cpu->f[9];
|
|
/* 027E4758 */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 027E4758 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 027E475C */ _t94 = cpu->r[1] + 0x00000030u;
|
|
/* 027E475C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027E4760 */ _t95 = cpu->r[1] + 0x00000034u;
|
|
/* 027E4760 */ rbrew_write32(cpu->mem, _t95, cpu->r[6]);
|
|
/* 027E4764 */ _t96 = cpu->r[1] + 0x00000034u;
|
|
/* 027E4764 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027E4768 */ _t97 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4768 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[13]);
|
|
/* 027E476C */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E476C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027E4770 */ _t99 = cpu->r[31] + 0x00000000u;
|
|
/* 027E4770 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]);
|
|
/* 027E4774 */ _t100 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4774 */ rbrew_write32(cpu->mem, _t100, cpu->r[11]);
|
|
/* 027E4778 */ _t101 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4778 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027E477C */ _t102 = cpu->r[31] + 0x00000004u;
|
|
/* 027E477C */ rbrew_write_f32(cpu->mem, _t102, cpu->f[8]);
|
|
/* 027E4780 */ _t103 = cpu->r[31] + 0x00000008u;
|
|
/* 027E4780 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]);
|
|
/* 027E4784 */ goto L_027E496C;
|
|
L_027E4788: ; // 0x27e4788
|
|
/* 027E4788 */ _t104 = cpu->r[7] + 0x00000000u;
|
|
/* 027E4788 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027E478C */ _t105 = cpu->r[7] + 0x00000038u;
|
|
/* 027E478C */ rbrew_write_f32(cpu->mem, _t105, cpu->f[31]);
|
|
/* 027E4790 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 027E4790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4794 */ _t106 = cpu->r[7] + 0x00000034u;
|
|
/* 027E4794 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[31]);
|
|
/* 027E4798 */ cpu->r[12] = cpu->r[7] + 0x00000034u;
|
|
/* 027E479C */ _t107 = cpu->r[7] + 0x0000003Cu;
|
|
/* 027E479C */ rbrew_write_f32(cpu->mem, _t107, cpu->f[31]);
|
|
/* 027E47A0 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E47A0 */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E47A0 */ if (_t109) goto L_027E47C8; else goto L_027E47A4;
|
|
L_027E47A4: ; // 0x27e47a4
|
|
/* 027E47A4 */ /* nop */
|
|
/* 027E47A8 */ /* nop */
|
|
/* 027E47AC */ /* nop */
|
|
/* 027E47B0 */ /* nop */
|
|
/* 027E47B4 */ _t110 = cpu->r[7] + 0x0000000Cu;
|
|
/* 027E47B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 027E47B8 */ _t111 = cpu->r[7] + 0x00000018u;
|
|
/* 027E47B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 027E47BC */ cpu->f[9] = cpu->f[10] + cpu->f[11];
|
|
/* 027E47C0 */ _t112 = cpu->r[12] + 0x00000008u;
|
|
/* 027E47C0 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[9]);
|
|
/* 027E47C4 */ _t113 = cpu->r[7] + 0x00000000u;
|
|
/* 027E47C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
L_027E47C8: ; // 0x27e47c8
|
|
/* 027E47C8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 027E47C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027E47CC */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E47CC */ _t115 = _t114 & 0x00000001u;
|
|
/* 027E47CC */ if (_t115) goto L_027E4914; else goto L_027E47D0;
|
|
L_027E47D0: ; // 0x27e47d0
|
|
/* 027E47D0 */ _t116 = cpu->r[12] + 0x00000000u;
|
|
/* 027E47D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 027E47D4 */ _t117 = cpu->r[7] + 0x00000040u;
|
|
/* 027E47D4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 027E47D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 027E47DC */ _t118 = cpu->r[7] + 0x0000001Cu;
|
|
/* 027E47DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 027E47E0 */ _t119 = cpu->r[7] + 0x00000028u;
|
|
/* 027E47E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 027E47E4 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E47E4 */ _t121 = _t120 & 0x00000001u;
|
|
/* 027E47E4 */ if (_t121) goto L_027E47E8; else goto L_027E480C;
|
|
L_027E47E8: ; // 0x27e47e8
|
|
/* 027E47E8 */ cpu->f[12] = cpu->f[7] - cpu->f[11];
|
|
/* 027E47EC */ /* nop */
|
|
/* 027E47F0 */ _t122 = cpu->r[12] + 0x00000004u;
|
|
/* 027E47F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 027E47F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027E47F8 */ _t123 = cpu->r[7] + 0x00000020u;
|
|
/* 027E47F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 027E47FC */ cpu->f[0] = fma(cpu->f[10], cpu->f[6], cpu->f[13]);
|
|
/* 027E4800 */ _t124 = cpu->r[7] + 0x0000002Cu;
|
|
/* 027E4800 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 027E4804 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4804 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027E4804 */ if (_t126) goto L_027E4808; else goto L_027E4874;
|
|
L_027E4808: ; // 0x27e4808
|
|
/* 027E4808 */ goto L_027E4850;
|
|
L_027E480C: ; // 0x27e480c
|
|
/* 027E480C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 027E4810 */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4810 */ _t128 = _t127 & 0x00000001u;
|
|
/* 027E4810 */ if (_t128) goto L_027E4814; else goto L_027E4838;
|
|
L_027E4814: ; // 0x27e4814
|
|
/* 027E4814 */ cpu->f[0] = cpu->f[10] - cpu->f[11];
|
|
/* 027E4818 */ /* nop */
|
|
/* 027E481C */ cpu->f[0] = fma(cpu->f[7], cpu->f[6], cpu->f[9]);
|
|
/* 027E4820 */ _t129 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4820 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 027E4824 */ _t130 = cpu->r[7] + 0x00000020u;
|
|
/* 027E4824 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 027E4828 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027E482C */ _t131 = cpu->r[7] + 0x0000002Cu;
|
|
/* 027E482C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 027E4830 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4830 */ _t133 = _t132 & 0x00000001u;
|
|
/* 027E4830 */ if (_t133) goto L_027E4834; else goto L_027E4874;
|
|
L_027E4834: ; // 0x27e4834
|
|
/* 027E4834 */ goto L_027E4850;
|
|
L_027E4838: ; // 0x27e4838
|
|
/* 027E4838 */ cpu->f[0] = cpu->f[10] + cpu->f[7];
|
|
/* 027E483C */ _t134 = cpu->r[12] + 0x00000004u;
|
|
/* 027E483C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 027E4840 */ _t135 = cpu->r[7] + 0x00000020u;
|
|
/* 027E4840 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 027E4844 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027E4848 */ _t136 = cpu->r[7] + 0x0000002Cu;
|
|
/* 027E4848 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 027E484C */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E484C */ _t138 = _t137 & 0x00000001u;
|
|
/* 027E484C */ if (_t138) goto L_027E4850; else goto L_027E4874;
|
|
L_027E4850: ; // 0x27e4850
|
|
/* 027E4850 */ cpu->f[8] = cpu->f[10] - cpu->f[7];
|
|
/* 027E4854 */ /* nop */
|
|
/* 027E4858 */ cpu->f[10] = fma(cpu->f[9], cpu->f[6], cpu->f[10]);
|
|
/* 027E485C */ _t139 = cpu->r[12] + 0x00000008u;
|
|
/* 027E485C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 027E4860 */ _t140 = cpu->r[7] + 0x00000024u;
|
|
/* 027E4860 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 027E4864 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 027E4868 */ _t141 = cpu->r[7] + 0x00000030u;
|
|
/* 027E4868 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 027E486C */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E486C */ _t143 = _t142 & 0x00000001u;
|
|
/* 027E486C */ if (_t143) goto L_027E4870; else goto L_027E48D8;
|
|
L_027E4870: ; // 0x27e4870
|
|
/* 027E4870 */ goto L_027E48B8;
|
|
L_027E4874: ; // 0x27e4874
|
|
/* 027E4874 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027E4878 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4878 */ _t145 = _t144 & 0x00000001u;
|
|
/* 027E4878 */ if (_t145) goto L_027E487C; else goto L_027E48A0;
|
|
L_027E487C: ; // 0x27e487c
|
|
/* 027E487C */ cpu->f[11] = cpu->f[9] - cpu->f[7];
|
|
/* 027E4880 */ /* nop */
|
|
/* 027E4884 */ _t146 = cpu->r[12] + 0x00000008u;
|
|
/* 027E4884 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 027E4888 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 027E488C */ _t147 = cpu->r[7] + 0x00000030u;
|
|
/* 027E488C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 027E4890 */ cpu->f[10] = fma(cpu->f[10], cpu->f[6], cpu->f[12]);
|
|
/* 027E4894 */ _t148 = cpu->r[7] + 0x00000024u;
|
|
/* 027E4894 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 027E4898 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E4898 */ _t150 = _t149 & 0x00000001u;
|
|
/* 027E4898 */ if (_t150) goto L_027E489C; else goto L_027E48D8;
|
|
L_027E489C: ; // 0x27e489c
|
|
/* 027E489C */ goto L_027E48B8;
|
|
L_027E48A0: ; // 0x27e48a0
|
|
/* 027E48A0 */ cpu->f[10] = cpu->f[9] + cpu->f[10];
|
|
/* 027E48A4 */ _t151 = cpu->r[12] + 0x00000008u;
|
|
/* 027E48A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t151);
|
|
/* 027E48A8 */ _t152 = cpu->r[7] + 0x00000024u;
|
|
/* 027E48A8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 027E48AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 027E48B0 */ _t153 = cpu->r[7] + 0x00000030u;
|
|
/* 027E48B0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 027E48B4 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E48B4 */ _t155 = _t154 & 0x00000001u;
|
|
/* 027E48B4 */ if (_t155) goto L_027E48B8; else goto L_027E48D8;
|
|
L_027E48B8: ; // 0x27e48b8
|
|
/* 027E48B8 */ cpu->f[11] = cpu->f[8] - cpu->f[9];
|
|
/* 027E48BC */ /* nop */
|
|
/* 027E48C0 */ _t156 = cpu->r[12] + 0x00000004u;
|
|
/* 027E48C0 */ rbrew_write_f32(cpu->mem, _t156, cpu->f[10]);
|
|
/* 027E48C4 */ cpu->f[12] = fma(cpu->f[7], cpu->f[6], cpu->f[12]);
|
|
/* 027E48C8 */ _t157 = cpu->r[12] + 0x00000000u;
|
|
/* 027E48C8 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[0]);
|
|
/* 027E48CC */ _t158 = cpu->r[12] + 0x00000008u;
|
|
/* 027E48CC */ rbrew_write_f32(cpu->mem, _t158, cpu->f[12]);
|
|
/* 027E48D0 */ _t159 = cpu->r[7] + 0x00000000u;
|
|
/* 027E48D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t159);
|
|
/* 027E48D4 */ goto L_027E4914;
|
|
L_027E48D8: ; // 0x27e48d8
|
|
/* 027E48D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[31]);
|
|
/* 027E48DC */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E48DC */ _t161 = _t160 & 0x00000001u;
|
|
/* 027E48DC */ if (_t161) goto L_027E48E0; else goto L_027E4900;
|
|
L_027E48E0: ; // 0x27e48e0
|
|
/* 027E48E0 */ cpu->f[13] = cpu->f[7] - cpu->f[9];
|
|
/* 027E48E4 */ /* nop */
|
|
/* 027E48E8 */ _t162 = cpu->r[12] + 0x00000004u;
|
|
/* 027E48E8 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[10]);
|
|
/* 027E48EC */ cpu->f[12] = fma(cpu->f[8], cpu->f[6], cpu->f[9]);
|
|
/* 027E48F0 */ _t163 = cpu->r[12] + 0x00000000u;
|
|
/* 027E48F0 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[0]);
|
|
/* 027E48F4 */ _t164 = cpu->r[12] + 0x00000008u;
|
|
/* 027E48F4 */ rbrew_write_f32(cpu->mem, _t164, cpu->f[12]);
|
|
/* 027E48F8 */ _t165 = cpu->r[7] + 0x00000000u;
|
|
/* 027E48F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t165);
|
|
/* 027E48FC */ goto L_027E4914;
|
|
L_027E4900: ; // 0x27e4900
|
|
/* 027E4900 */ cpu->f[12] = cpu->f[7] + cpu->f[8];
|
|
/* 027E4904 */ _t166 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4904 */ rbrew_write_f32(cpu->mem, _t166, cpu->f[10]);
|
|
/* 027E4908 */ _t167 = cpu->r[12] + 0x00000000u;
|
|
/* 027E4908 */ rbrew_write_f32(cpu->mem, _t167, cpu->f[0]);
|
|
/* 027E490C */ _t168 = cpu->r[12] + 0x00000008u;
|
|
/* 027E490C */ rbrew_write_f32(cpu->mem, _t168, cpu->f[12]);
|
|
/* 027E4910 */ _t169 = cpu->r[7] + 0x00000000u;
|
|
/* 027E4910 */ cpu->r[10] = rbrew_read32(cpu->mem, _t169);
|
|
L_027E4914: ; // 0x27e4914
|
|
/* 027E4914 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Du, 0x0000001Au);
|
|
/* 027E4918 */ _t170 = cpu->r[7] + 0x00000000u;
|
|
/* 027E4918 */ rbrew_write32(cpu->mem, _t170, cpu->r[9]);
|
|
/* 027E491C */ /* nop */
|
|
/* 027E4920 */ /* nop */
|
|
/* 027E4924 */ _t171 = cpu->r[1] + 0x00000044u;
|
|
/* 027E4924 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 027E4928 */ /* nop */
|
|
/* 027E492C */ /* nop */
|
|
/* 027E4930 */ _t172 = cpu->r[12] + 0x00000008u;
|
|
/* 027E4930 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 027E4934 */ _t173 = cpu->r[1] + 0x00000024u;
|
|
/* 027E4934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
|
|
/* 027E4938 */ _t174 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4938 */ cpu->r[6] = rbrew_read32(cpu->mem, _t174);
|
|
/* 027E493C */ cpu->f[13] = cpu->f[7] + cpu->f[9];
|
|
/* 027E4940 */ _t175 = cpu->r[1] + 0x00000030u;
|
|
/* 027E4940 */ rbrew_write32(cpu->mem, _t175, cpu->r[0]);
|
|
/* 027E4944 */ _t176 = cpu->r[1] + 0x00000030u;
|
|
/* 027E4944 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 027E4948 */ _t177 = cpu->r[1] + 0x00000034u;
|
|
/* 027E4948 */ rbrew_write32(cpu->mem, _t177, cpu->r[6]);
|
|
/* 027E494C */ _t178 = cpu->r[1] + 0x00000034u;
|
|
/* 027E494C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t178);
|
|
/* 027E4950 */ _t179 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4950 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[13]);
|
|
/* 027E4954 */ _t180 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4954 */ cpu->r[11] = rbrew_read32(cpu->mem, _t180);
|
|
/* 027E4958 */ _t181 = cpu->r[31] + 0x00000000u;
|
|
/* 027E4958 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[0]);
|
|
/* 027E495C */ _t182 = cpu->r[1] + 0x00000038u;
|
|
/* 027E495C */ rbrew_write32(cpu->mem, _t182, cpu->r[11]);
|
|
/* 027E4960 */ _t183 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4960 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t183);
|
|
/* 027E4964 */ _t184 = cpu->r[31] + 0x00000004u;
|
|
/* 027E4964 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[8]);
|
|
/* 027E4968 */ _t185 = cpu->r[31] + 0x00000008u;
|
|
/* 027E4968 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[10]);
|
|
L_027E496C: ; // 0x27e496c
|
|
/* 027E496C */ _t186 = cpu->r[1] + 0x00000058u;
|
|
/* 027E496C */ cpu->r[28] = rbrew_read32(cpu->mem, _t186);
|
|
/* 027E4970 */ _t187 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027E4970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t187);
|
|
/* 027E4974 */ _t188 = cpu->r[1] + 0x00000070u;
|
|
/* 027E4974 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t188);
|
|
/* 027E4978 */ _t189 = cpu->r[1] + 0x00000060u;
|
|
/* 027E4978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027E497C */ _t190 = cpu->r[1] + 0x00000068u;
|
|
/* 027E497C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t190);
|
|
/* 027E4980 */ _t191 = cpu->r[1] + 0x00000064u;
|
|
/* 027E4980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t191);
|
|
/* 027E4984 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E4988 */ _t192 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4988 */ _t193 = _t192 & 0x00000001u;
|
|
/* 027E4988 */ if (_t193) goto L_027E498C; // else: addr-0 trap, fall-through
|
|
L_027E498C: ; // 0x27e498c
|
|
/* 027E498C */ _t194 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t194);
|
|
/* 027E4990 */ cpu->lr = cpu->r[0];
|
|
/* 027E4994 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 027E4998 */ return;
|
|
}
|
|
|
|
// fn_027E499C @ 0x27e499c
|
|
void Gambit_fn_027E499C(CPUState* cpu) {
|
|
uint32_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_027E499C: ; // 0x27e499c
|
|
/* 027E499C */ cpu->r[0] = cpu->lr;
|
|
/* 027E49A0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E49A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E49A4 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E49A8 */ _t1 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E49A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E49A8 */ cpu->r[1] = _t1;
|
|
/* 027E49AC */ _t2 = cpu->r[7] + 0x00006350u;
|
|
/* 027E49AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E49AC */ cpu->r[7] = _t2;
|
|
/* 027E49B0 */ _t3 = cpu->r[7] + 0x00000004u;
|
|
/* 027E49B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E49B4 */ cpu->f[11] = -cpu->f[11];
|
|
/* 027E49B8 */ _t4 = cpu->r[7] + 0x00000008u;
|
|
/* 027E49B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E49BC */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 027E49BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E49C0 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E49C4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E49C4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 027E49C8 */ cpu->f[11] = -cpu->f[12];
|
|
/* 027E49CC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027E49CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E49D0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E49D4 */ _t8 = cpu->r[7] + 0xFFFFF91Cu;
|
|
/* 027E49D4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E49D8 */ cpu->f[9] = -cpu->f[10];
|
|
/* 027E49DC */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 027E49DC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 027E49E0 */ cpu->r[8] = cpu->r[6];
|
|
/* 027E49E4 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 027E49E4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E49E8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E49EC */ _t11 = cpu->r[12] + 0xFFFFF914u;
|
|
/* 027E49EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E49F0 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 027E49F4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027E49F4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[8]);
|
|
/* 027E49F8 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E49FC */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027E49FC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 027E4A00 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 027E4A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E4A04 */ cpu->f[3] = cpu->f[1];
|
|
/* 027E4A08 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4A08 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
|
|
/* 027E4A0C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E4A10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E4A14 */ _t17 = cpu->r[10] + 0xFFFFF918u;
|
|
/* 027E4A14 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E4A18 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E4A1C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4A1C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 027E4A20 */ cpu->r[5] = cpu->r[9];
|
|
/* 027E4A24 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 027E4A24 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 027E4A28 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4A28 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027E4A2C */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4A2C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027E4A30 */ Gambit_fn_027E4508(cpu);
|
|
/* 027E4A34 */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 027E4A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E4A38 */ cpu->lr = cpu->r[0];
|
|
/* 027E4A3C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E4A40 */ return;
|
|
}
|
|
|
|
// fn_027E49A8 @ 0x27e49a8
|
|
void Gambit_fn_027E49A8(CPUState* cpu) {
|
|
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_027E49A8: ; // 0x27e49a8
|
|
/* 027E49A8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E49A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E49A8 */ cpu->r[1] = _t0;
|
|
/* 027E49AC */ _t1 = cpu->r[7] + 0x00006350u;
|
|
/* 027E49AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E49AC */ cpu->r[7] = _t1;
|
|
/* 027E49B0 */ _t2 = cpu->r[7] + 0x00000004u;
|
|
/* 027E49B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E49B4 */ cpu->f[11] = -cpu->f[11];
|
|
/* 027E49B8 */ _t3 = cpu->r[7] + 0x00000008u;
|
|
/* 027E49B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E49BC */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 027E49BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E49C0 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E49C4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027E49C4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 027E49C8 */ cpu->f[11] = -cpu->f[12];
|
|
/* 027E49CC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027E49CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E49D0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E49D4 */ _t7 = cpu->r[7] + 0xFFFFF91Cu;
|
|
/* 027E49D4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027E49D8 */ cpu->f[9] = -cpu->f[10];
|
|
/* 027E49DC */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 027E49DC */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 027E49E0 */ cpu->r[8] = cpu->r[6];
|
|
/* 027E49E4 */ _t9 = cpu->r[4] + 0x00000008u;
|
|
/* 027E49E4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027E49E8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E49EC */ _t10 = cpu->r[12] + 0xFFFFF914u;
|
|
/* 027E49EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E49F0 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 027E49F4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E49F4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[8]);
|
|
/* 027E49F8 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E49FC */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027E49FC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[9]);
|
|
/* 027E4A00 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027E4A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E4A04 */ cpu->f[3] = cpu->f[1];
|
|
/* 027E4A08 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4A08 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 027E4A0C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E4A10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E4A14 */ _t16 = cpu->r[10] + 0xFFFFF918u;
|
|
/* 027E4A14 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027E4A18 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E4A1C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4A1C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 027E4A20 */ cpu->r[5] = cpu->r[9];
|
|
/* 027E4A24 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 027E4A24 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 027E4A28 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4A28 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027E4A2C */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4A2C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 027E4A30 */ Gambit_fn_027E4508(cpu);
|
|
/* 027E4A34 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 027E4A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E4A38 */ cpu->lr = cpu->r[0];
|
|
/* 027E4A3C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E4A40 */ return;
|
|
}
|
|
|
|
// fn_027E4A44 @ 0x27e4a44
|
|
void Gambit_fn_027E4A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027E4A44: ; // 0x27e4a44
|
|
/* 027E4A44 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 027E4A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4A44 */ cpu->r[1] = _t0;
|
|
/* 027E4A48 */ /* nop */
|
|
/* 027E4A4C */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4A4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E4A50 */ cpu->r[0] = cpu->lr;
|
|
/* 027E4A54 */ _t2 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E4A54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E4A58 */ /* nop */
|
|
/* 027E4A5C */ cpu->r[27] = cpu->r[3];
|
|
/* 027E4A60 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 027E4A60 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E4A64 */ cpu->r[3] = 0x101C0000u;
|
|
/* 027E4A68 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 027E4A68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E4A6C */ cpu->r[29] = cpu->r[5];
|
|
/* 027E4A70 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027E4A70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E4A74 */ cpu->r[30] = cpu->r[6];
|
|
/* 027E4A78 */ _t6 = cpu->r[12] + 0x00000134u;
|
|
/* 027E4A78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4A7C */ cpu->ctr = cpu->r[6];
|
|
/* 027E4A80 */ cpu->f[31] = cpu->f[1];
|
|
/* 027E4A84 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E4A88 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E4A8C */ cpu->r[25] = cpu->r[8];
|
|
/* 027E4A90 */ cpu->r[23] = cpu->r[9];
|
|
/* 027E4A94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E4A98 */ cpu->r[26] = 0x101C0000u;
|
|
/* 027E4A9C */ _t7 = cpu->r[26] + 0x00005BA0u;
|
|
/* 027E4A9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E4A9C */ cpu->r[26] = _t7;
|
|
/* 027E4AA0 */ _t8 = cpu->r[5] + 0x00000078u;
|
|
/* 027E4AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E4AA4 */ cpu->r[24] = cpu->r[3];
|
|
/* 027E4AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 027E4AAC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E4AB0 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4AB0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E4AB0 */ if (_t10) goto L_027E4AB4; else goto L_027E4AC0;
|
|
L_027E4AB4: ; // 0x27e4ab4
|
|
/* 027E4AB4 */ _t11 = cpu->r[5] + 0x00000080u;
|
|
/* 027E4AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E4AB8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E4ABC */ _t12 = cpu->r[8] + cpu->r[0];
|
|
/* 027E4ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
L_027E4AC0: ; // 0x27e4ac0
|
|
/* 027E4AC0 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 027E4AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E4AC4 */ cpu->r[4] = cpu->r[24];
|
|
/* 027E4AC8 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E4ACC */ cpu->f[1] = cpu->f[31];
|
|
/* 027E4AD0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4AD0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E4AD4 */ cpu->r[10] = cpu->r[23];
|
|
/* 027E4AD8 */ cpu->r[9] = cpu->r[25];
|
|
/* 027E4ADC */ cpu->r[8] = cpu->r[31];
|
|
/* 027E4AE0 */ cpu->r[6] = cpu->r[29];
|
|
/* 027E4AE4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027E4AE8 */ Gambit_fn_025E1050(cpu);
|
|
/* 027E4AEC */ _t15 = cpu->r[26] + 0x00000000u;
|
|
/* 027E4AEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E4AF0 */ _t16 = cpu->r[11] + 0x00000044u;
|
|
/* 027E4AF0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027E4AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E4AF8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4AF8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E4AF8 */ if (_t18) goto L_027E4B3C; else goto L_027E4AFC;
|
|
L_027E4AFC: ; // 0x27e4afc
|
|
/* 027E4AFC */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 027E4AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E4B00 */ cpu->r[10] = 0x00000006u;
|
|
/* 027E4B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027E4B08 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4B08 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 027E4B0C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4B0C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027E4B0C */ if (_t22) goto L_027E4B14; else goto L_027E4B10;
|
|
L_027E4B10: ; // 0x27e4b10
|
|
/* 027E4B10 */ cpu->r[10] = 0x00000007u;
|
|
L_027E4B14: ; // 0x27e4b14
|
|
/* 027E4B14 */ cpu->r[3] = 0x101C0000u;
|
|
/* 027E4B18 */ cpu->r[4] = cpu->r[24];
|
|
/* 027E4B1C */ cpu->r[5] = cpu->r[28];
|
|
/* 027E4B20 */ _t23 = cpu->r[3] + 0x000060F4u;
|
|
/* 027E4B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E4B24 */ cpu->f[1] = cpu->f[31];
|
|
/* 027E4B28 */ cpu->r[6] = cpu->r[29];
|
|
/* 027E4B2C */ cpu->r[8] = cpu->r[31];
|
|
/* 027E4B30 */ cpu->r[9] = cpu->r[25];
|
|
/* 027E4B34 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4B38 */ Gambit_fn_023EEED4(cpu);
|
|
L_027E4B3C: ; // 0x27e4b3c
|
|
/* 027E4B3C */ /* nop */
|
|
/* 027E4B40 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 027E4B40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027E4B44 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4B44 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 027E4B48 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4B48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E4B48 */ if (_t27) goto L_027E4B4C; // else: addr-0 trap, fall-through
|
|
L_027E4B4C: ; // 0x27e4b4c
|
|
/* 027E4B4C */ _t28 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E4B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E4B50 */ cpu->lr = cpu->r[0];
|
|
/* 027E4B54 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027E4B58 */ return;
|
|
}
|
|
|
|
// fn_027E4B5C @ 0x27e4b5c
|
|
void Gambit_fn_027E4B5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027E4B5C: ; // 0x27e4b5c
|
|
/* 027E4B5C */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 027E4B5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4B5C */ cpu->r[1] = _t0;
|
|
/* 027E4B60 */ /* nop */
|
|
/* 027E4B64 */ cpu->r[0] = cpu->lr;
|
|
/* 027E4B68 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 027E4B68 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E4B6C */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E4B6C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E4B70 */ /* nop */
|
|
/* 027E4B74 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E4B78 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 027E4B78 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E4B7C */ cpu->r[3] = 0x101C0000u;
|
|
/* 027E4B80 */ _t4 = cpu->r[3] + 0x00006000u;
|
|
/* 027E4B80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E4B84 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E4B88 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027E4B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E4B8C */ _t6 = cpu->r[12] + 0x00000134u;
|
|
/* 027E4B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E4B90 */ cpu->ctr = cpu->r[0];
|
|
/* 027E4B94 */ cpu->f[31] = cpu->f[1];
|
|
/* 027E4B98 */ cpu->r[26] = cpu->r[9];
|
|
/* 027E4B9C */ cpu->r[25] = cpu->r[8];
|
|
/* 027E4BA0 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E4BA4 */ cpu->r[30] = cpu->r[6];
|
|
/* 027E4BA8 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E4BAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E4BB0 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 027E4BB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E4BB4 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 027E4BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E4BB8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4BB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 027E4BBC */ _t10 = cpu->r[25] + 0x00000000u;
|
|
/* 027E4BBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E4BC0 */ _t11 = cpu->r[28] + 0x00000008u;
|
|
/* 027E4BC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E4BC4 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 027E4BC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E4BC8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 027E4BC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E4BCC */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 027E4BCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E4BD0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027E4BD4 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 027E4BD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E4BD8 */ cpu->r[12] = cpu->r[1] + 0x00000024u;
|
|
/* 027E4BDC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027E4BDC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027E4BE0 */ cpu->r[9] = cpu->r[31];
|
|
/* 027E4BE4 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4BE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 027E4BE8 */ cpu->f[1] = cpu->f[31];
|
|
/* 027E4BEC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 027E4BEC */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 027E4BF0 */ cpu->r[6] = cpu->r[12];
|
|
/* 027E4BF4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4BF4 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027E4BF8 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 027E4BFC */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E4BFC */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027E4C00 */ cpu->r[8] = cpu->r[1] + 0x00000014u;
|
|
/* 027E4C04 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E4C08 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4C08 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 027E4C0C */ cpu->r[4] = cpu->r[27];
|
|
/* 027E4C10 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 027E4C14 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027E4C14 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 027E4C18 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4C1C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E4C1C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027E4C20 */ Gambit_fn_023F6240(cpu);
|
|
/* 027E4C24 */ cpu->r[31] = 0x101C0000u;
|
|
/* 027E4C28 */ _t24 = cpu->r[31] + 0x00005BA0u;
|
|
/* 027E4C28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E4C28 */ cpu->r[31] = _t24;
|
|
/* 027E4C2C */ _t25 = cpu->r[8] + 0x00000078u;
|
|
/* 027E4C2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E4C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[9]);
|
|
/* 027E4C34 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E4C38 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4C38 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E4C38 */ if (_t27) goto L_027E4C3C; else goto L_027E4C48;
|
|
L_027E4C3C: ; // 0x27e4c3c
|
|
/* 027E4C3C */ _t28 = cpu->r[8] + 0x00000080u;
|
|
/* 027E4C3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E4C40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E4C44 */ _t29 = cpu->r[10] + cpu->r[11];
|
|
/* 027E4C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
L_027E4C48: ; // 0x27e4c48
|
|
/* 027E4C48 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E4C4C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 027E4C50 */ Gambit_fn_025E0DF0(cpu);
|
|
/* 027E4C54 */ _t30 = cpu->r[31] + 0x00000000u;
|
|
/* 027E4C54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E4C58 */ _t31 = cpu->r[5] + 0x00000044u;
|
|
/* 027E4C58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027E4C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4C60 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4C60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E4C60 */ if (_t33) goto L_027E4C74; else goto L_027E4C64;
|
|
L_027E4C64: ; // 0x27e4c64
|
|
/* 027E4C64 */ cpu->r[3] = 0x101C0000u;
|
|
/* 027E4C68 */ _t34 = cpu->r[3] + 0x000060F4u;
|
|
/* 027E4C68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E4C6C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 027E4C70 */ Gambit_fn_023EED38(cpu);
|
|
L_027E4C74: ; // 0x27e4c74
|
|
/* 027E4C74 */ /* nop */
|
|
/* 027E4C78 */ _t35 = cpu->r[1] + 0x00000090u;
|
|
/* 027E4C78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027E4C7C */ _t36 = cpu->r[1] + 0x00000088u;
|
|
/* 027E4C7C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027E4C80 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4C80 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E4C80 */ if (_t38) goto L_027E4C84; // else: addr-0 trap, fall-through
|
|
L_027E4C84: ; // 0x27e4c84
|
|
/* 027E4C84 */ _t39 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E4C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E4C88 */ cpu->lr = cpu->r[0];
|
|
/* 027E4C8C */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 027E4C90 */ return;
|
|
}
|
|
|
|
// fn_027E4C94 @ 0x27e4c94
|
|
void Gambit_fn_027E4C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E4C94: ; // 0x27e4c94
|
|
/* 027E4C94 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 027E4C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4C94 */ cpu->r[1] = _t0;
|
|
/* 027E4C98 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4C98 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 027E4C9C */ /* nop */
|
|
/* 027E4CA0 */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 027E4CA0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E4CA4 */ /* nop */
|
|
/* 027E4CA8 */ /* nop */
|
|
/* 027E4CAC */ cpu->r[0] = cpu->lr;
|
|
/* 027E4CB0 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 027E4CB0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027E4CB4 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027E4CB4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 027E4CB8 */ /* nop */
|
|
/* 027E4CBC */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4CBC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 027E4CC0 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 027E4CC0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 027E4CC4 */ /* nop */
|
|
/* 027E4CC8 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 027E4CC8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 027E4CCC */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 027E4CD0 */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 027E4CD0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 027E4CD4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027E4CD8 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E4CDC */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E4CDC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E4CE0 */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 027E4CE4 */ _t10 = cpu->r[7] + 0x0000369Cu;
|
|
/* 027E4CE4 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027E4CE4 */ cpu->r[7] = _t10;
|
|
/* 027E4CE8 */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E4CEC */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E4CF0 */ _t11 = cpu->r[5] + 0x000036A4u;
|
|
/* 027E4CF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 027E4CF0 */ cpu->r[5] = _t11;
|
|
/* 027E4CF4 */ cpu->r[10] = cpu->r[10] + 0x000036B4u;
|
|
/* 027E4CF8 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 027E4CF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027E4CFC */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E4D00 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 027E4D00 */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 027E4D04 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 027E4D08 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 027E4D08 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 027E4D0C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E4D10 */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 027E4D10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E4D14 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027E4D18 */ _t16 = cpu->r[12] + 0x000036ACu;
|
|
/* 027E4D18 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 027E4D18 */ cpu->r[12] = _t16;
|
|
/* 027E4D1C */ cpu->r[11] = 0x00000002u;
|
|
/* 027E4D20 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 027E4D20 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E4D24 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 027E4D24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E4D28 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4D28 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 027E4D2C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E4D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E4D30 */ _t21 = cpu->r[31] + 0x000036C8u;
|
|
/* 027E4D30 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 027E4D30 */ cpu->r[31] = _t21;
|
|
/* 027E4D34 */ cpu->r[0] = 0x00000004u;
|
|
/* 027E4D38 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4D38 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 027E4D3C */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E4D40 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E4D40 */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E4D44 */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 027E4D44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E4D44 */ cpu->r[12] = _t24;
|
|
/* 027E4D48 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 027E4D48 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 027E4D4C */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 027E4D4C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 027E4D50 */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 027E4D50 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 027E4D54 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027E4D54 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 027E4D58 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 027E4D58 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 027E4D5C */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 027E4D5C */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 027E4D60 */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E4D64 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 027E4D64 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 027E4D68 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E4D6C */ _t32 = cpu->r[7] + 0x000036C4u;
|
|
/* 027E4D6C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 027E4D70 */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 027E4D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E4D70 */ cpu->r[6] = _t33;
|
|
/* 027E4D74 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 027E4D74 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 027E4D78 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 027E4D78 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 027E4D7C */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E4D80 */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E4D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E4D84 */ _t37 = cpu->r[5] + 0x000036BCu;
|
|
/* 027E4D84 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 027E4D84 */ cpu->r[5] = _t37;
|
|
/* 027E4D88 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 027E4D88 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 027E4D8C */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 027E4D8C */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 027E4D90 */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 027E4D90 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E4D94 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 027E4D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E4D98 */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 027E4D98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E4D9C */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 027E4D9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027E4DA0 */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E4DA0 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 027E4DA4 */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 027E4DA4 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 027E4DA8 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 027E4DA8 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 027E4DAC */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E4DAC */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 027E4DB0 */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 027E4DB0 */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 027E4DB4 */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4DB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E4DB8 */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E4DB8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 027E4DBC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E4DC0 */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 027E4DC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E4DC4 */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 027E4DC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E4DC4 */ cpu->r[11] = _t52;
|
|
/* 027E4DC8 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 027E4DC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E4DCC */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027E4DCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E4DD0 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 027E4DD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E4DD4 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 027E4DD4 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 027E4DD8 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 027E4DD8 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 027E4DDC */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 027E4DDC */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 027E4DE0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E4DE4 */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E4DE4 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 027E4DE8 */ cpu->r[5] = 0x101F0000u;
|
|
/* 027E4DEC */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 027E4DEC */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 027E4DF0 */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 027E4DF4 */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 027E4DF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027E4DF4 */ cpu->r[12] = _t61;
|
|
/* 027E4DF8 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 027E4DF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027E4DFC */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 027E4DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027E4E00 */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 027E4E00 */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 027E4E04 */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 027E4E04 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 027E4E08 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 027E4E08 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 027E4E0C */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 027E4E0C */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 027E4E10 */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 027E4E10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E4E14 */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E4E14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E4E18 */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 027E4E18 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 027E4E1C */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 027E4E1C */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 027E4E20 */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027E4E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027E4E24 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027E4E24 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 027E4E28 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027E4E28 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 027E4E2C */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 027E4E2C */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 027E4E30 */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 027E4E30 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 027E4E34 */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 027E4E34 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 027E4E38 */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 027E4E38 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 027E4E3C */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 027E4E3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027E4E40 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E4E44 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027E4E44 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 027E4E48 */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 027E4E48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027E4E48 */ cpu->r[10] = _t81;
|
|
/* 027E4E4C */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 027E4E4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027E4E50 */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 027E4E50 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 027E4E54 */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 027E4E54 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 027E4E58 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 027E4E58 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 027E4E5C */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 027E4E5C */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 027E4E60 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E4E64 */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 027E4E64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027E4E68 */ _t88 = cpu->r[12] + 0xFFFFF92Cu;
|
|
/* 027E4E68 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027E4E6C */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 027E4E6C */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 027E4E70 */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 027E4E70 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 027E4E74 */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 027E4E74 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 027E4E78 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 027E4E78 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 027E4E7C */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 027E4E7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027E4E80 */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 027E4E80 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 027E4E84 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E4E88 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 027E4E88 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 027E4E8C */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 027E4E90 */ _t96 = cpu->r[12] + 0xFFFFF924u;
|
|
/* 027E4E90 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027E4E94 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 027E4E94 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 027E4E98 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E4E9C */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 027E4E9C */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 027E4EA0 */ _t99 = cpu->r[12] + 0xFFFFF920u;
|
|
/* 027E4EA0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027E4EA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E4EA8 */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E4EA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E4EAC */ _t101 = cpu->r[11] + 0xFFFFF928u;
|
|
/* 027E4EAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027E4EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 027E4EB4 */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 027E4EB4 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 027E4EB8 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4EB8 */ _t104 = _t103 & 0x00000001u;
|
|
/* 027E4EB8 */ if (_t104) goto L_027E4EBC; else goto L_027E4ECC;
|
|
L_027E4EBC: ; // 0x27e4ebc
|
|
/* 027E4EBC */ cpu->r[3] = 0x00000010u;
|
|
/* 027E4EC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E4EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E4EC8 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4EC8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027E4EC8 */ if (_t106) goto L_027E4EDC; else goto L_027E4ECC;
|
|
L_027E4ECC: ; // 0x27e4ecc
|
|
/* 027E4ECC */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 027E4ECC */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 027E4ED0 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 027E4ED0 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 027E4ED4 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 027E4ED4 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 027E4ED8 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E4ED8 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_027E4EDC: ; // 0x27e4edc
|
|
/* 027E4EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 027E4EE0 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 027E4EE4 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4EE4 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027E4EE4 */ if (_t112) goto L_027E4EE8; else goto L_027E4EF8;
|
|
L_027E4EE8: ; // 0x27e4ee8
|
|
/* 027E4EE8 */ cpu->r[3] = 0x00000010u;
|
|
/* 027E4EEC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E4EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E4EF4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4EF4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 027E4EF4 */ if (_t114) goto L_027E4F08; else goto L_027E4EF8;
|
|
L_027E4EF8: ; // 0x27e4ef8
|
|
/* 027E4EF8 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 027E4EF8 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 027E4EFC */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 027E4EFC */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 027E4F00 */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 027E4F00 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 027E4F04 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E4F04 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_027E4F08: ; // 0x27e4f08
|
|
/* 027E4F08 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E4F0C */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 027E4F10 */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 027E4F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027E4F14 */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 027E4F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027E4F18 */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 027E4F18 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 027E4F1C */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 027E4F1C */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 027E4F20 */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027E4F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027E4F24 */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 027E4F24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027E4F28 */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 027E4F28 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 027E4F2C */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 027E4F2C */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 027E4F30 */ /* nop */
|
|
/* 027E4F34 */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 027E4F34 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 027E4F38 */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 027E4F38 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 027E4F3C */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 027E4F3C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 027E4F40 */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 027E4F40 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 027E4F44 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 027E4F44 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 027E4F48 */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 027E4F48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 027E4F4C */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 027E4F4C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 027E4F50 */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 027E4F50 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 027E4F54 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E4F54 */ _t136 = _t135 & 0x00000001u;
|
|
/* 027E4F54 */ if (_t136) goto L_027E4F58; // else: addr-0 trap, fall-through
|
|
L_027E4F58: ; // 0x27e4f58
|
|
/* 027E4F58 */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E4F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 027E4F5C */ cpu->lr = cpu->r[0];
|
|
/* 027E4F60 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 027E4F64 */ return;
|
|
}
|
|
|
|
// fn_027E4F68 @ 0x27e4f68
|
|
void Gambit_fn_027E4F68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E4F68: ; // 0x27e4f68
|
|
/* 027E4F68 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027E4F6C */ goto L_027E5AFC;
|
|
L_027E5AFC: ; // 0x27e5afc
|
|
/* 027E5AFC */ cpu->r[0] = cpu->lr;
|
|
/* 027E5B00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5B00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5B00 */ cpu->r[1] = _t0;
|
|
/* 027E5B04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5B08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5B0C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E5B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5B10 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5B14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5B18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5B18 */ if (_t5) goto L_027E5B5C; else goto L_027E5B1C;
|
|
L_027E5B1C: ; // 0x27e5b1c
|
|
/* 027E5B1C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5B20 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027E5B24 */ cpu->r[0] = cpu->r[0] + 0xFFFFF978u;
|
|
/* 027E5B28 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5B2C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5B2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E5B30 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5B34 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027E5B38 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5B3C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5B40 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5B44 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E5B48 */ Gambit_fn_028136EC(cpu);
|
|
/* 027E5B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5B50 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B50 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E5B50 */ if (_t8) goto L_027E5B5C; else goto L_027E5B54;
|
|
L_027E5B54: ; // 0x27e5b54
|
|
/* 027E5B54 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5B58 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E5B5C: ; // 0x27e5b5c
|
|
/* 027E5B5C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5B60 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5B64 */ cpu->lr = cpu->r[0];
|
|
/* 027E5B68 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5B6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5B70 */ return;
|
|
}
|
|
|
|
// fn_027E4F70 @ 0x27e4f70
|
|
void Gambit_fn_027E4F70(CPUState* cpu) {
|
|
uint32_t _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_027E4F70: ; // 0x27e4f70
|
|
/* 027E4F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E4F74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4F74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E4F74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E4F74 */ goto L_027E4F78;
|
|
L_027E4F78: ; // 0x27e4f78
|
|
/* 027E4F78 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027E4F78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E4F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E4F80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4F80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E4F80 */ if (_t4) goto L_027E4F90; else goto L_027E4F84;
|
|
L_027E4F84: ; // 0x27e4f84
|
|
/* 027E4F84 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E4F88 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E4F8C */ _t5 = cpu->r[12] + 0xFFFF97C0u;
|
|
/* 027E4F8C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
L_027E4F90: ; // 0x27e4f90
|
|
/* 027E4F90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E4F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E4F94 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4F94 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E4F94 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E4F94 */ goto L_027E4F98;
|
|
L_027E4F98: ; // 0x27e4f98
|
|
/* 027E4F98 */ 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_027E4F9C @ 0x27e4f9c
|
|
void Gambit_fn_027E4F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027E4F9C: ; // 0x27e4f9c
|
|
/* 027E4F9C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 027E4FA0 */ goto L_027E5B74;
|
|
L_027E5B74: ; // 0x27e5b74
|
|
/* 027E5B74 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5B78 */ cpu->r[1] = _t0;
|
|
/* 027E5B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5B80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5B84 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E5B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5B88 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5B8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5B90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5B90 */ if (_t5) goto L_027E5C00; else goto L_027E5B94;
|
|
L_027E5B94: ; // 0x27e5b94
|
|
/* 027E5B94 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5B98 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027E5B9C */ cpu->r[12] = cpu->r[12] + 0xFFFFFBC8u;
|
|
/* 027E5BA0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BA4 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E5BA8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD8u;
|
|
/* 027E5BAC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BB0 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027E5BB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E5BB4 */ Gambit_fn_027E4F70(cpu);
|
|
/* 027E5BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5BBC */ if (_t9) goto L_027E5BF0; else goto L_027E5BC0;
|
|
L_027E5BC0: ; // 0x27e5bc0
|
|
/* 027E5BC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BC4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027E5BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF978u;
|
|
/* 027E5BCC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BD0 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E5BD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BD8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027E5BDC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E5BEC */ Gambit_fn_028136EC(cpu);
|
|
L_027E5BF0: ; // 0x27e5bf0
|
|
/* 027E5BF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E5BF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BF4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E5BF4 */ if (_t12) goto L_027E5C00; else goto L_027E5BF8;
|
|
L_027E5BF8: ; // 0x27e5bf8
|
|
/* 027E5BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BFC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E5C00: ; // 0x27e5c00
|
|
/* 027E5C00 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5C04 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5C08 */ cpu->lr = cpu->r[0];
|
|
/* 027E5C0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E5C10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5C14 */ return;
|
|
}
|
|
|
|
// fn_027E4FC4 @ 0x27e4fc4
|
|
void Gambit_fn_027E4FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_027E4FC4: ; // 0x27e4fc4
|
|
/* 027E4FC4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E4FC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E4FC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4FC8 */ cpu->r[1] = _t0;
|
|
/* 027E4FCC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E4FCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E4FD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4FD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E4FD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E4FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E4FD8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E4FDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4FDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E4FE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4FE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E4FE0 */ if (_t5) goto L_027E4FE4; else goto L_027E4FF4;
|
|
L_027E4FE4: ; // 0x27e4fe4
|
|
/* 027E4FE4 */ cpu->r[3] = 0x00000198u;
|
|
/* 027E4FE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E4FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E4FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E4FF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4FF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E4FF0 */ if (_t7) goto L_027E50B4; else goto L_027E4FF4;
|
|
L_027E4FF4: ; // 0x27e4ff4
|
|
/* 027E4FF4 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E4FF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E4FFC */ cpu->r[5] = cpu->r[5] + 0xFFFFF99Cu;
|
|
/* 027E5000 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5004 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027E5008 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027E5008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E500C */ cpu->r[30] = 0x00000000u;
|
|
/* 027E5010 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5010 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5010 */ if (_t9) goto L_027E5014; else goto L_027E5024;
|
|
L_027E5014: ; // 0x27e5014
|
|
/* 027E5014 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E5018 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E501C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5020 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5020 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E5020 */ if (_t11) goto L_027E5034; else goto L_027E5024;
|
|
L_027E5024: ; // 0x27e5024
|
|
/* 027E5024 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E5028 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5028 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E502C */ cpu->r[7] = cpu->r[7] + 0xFFFFF968u;
|
|
/* 027E5030 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E5030 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
L_027E5034: ; // 0x27e5034
|
|
/* 027E5034 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5038 */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 027E5038 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 027E503C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5040 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E5044 */ _t15 = cpu->r[31] + 0x00000159u;
|
|
/* 027E5044 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
|
|
/* 027E5048 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD8u;
|
|
/* 027E504C */ cpu->r[11] = cpu->r[11] + 0xFFFFFBC8u;
|
|
/* 027E5050 */ _t16 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027E5050 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 027E5054 */ cpu->r[12] = cpu->r[31] + 0x0000015Cu;
|
|
/* 027E5058 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E505C */ _t17 = cpu->r[31] + 0x00000154u;
|
|
/* 027E505C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E5060 */ cpu->r[6] = 0x00000007u;
|
|
/* 027E5064 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB00u;
|
|
/* 027E5068 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 027E5068 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 027E506C */ cpu->ctr = cpu->r[6];
|
|
/* 027E5070 */ _t19 = cpu->r[31] + 0x00000070u;
|
|
/* 027E5070 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
L_027E5074: ; // 0x27e5074
|
|
/* 027E5074 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027E5074 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 027E5074 */ cpu->r[12] = _t20;
|
|
/* 027E5078 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E5078 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E5078 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 027E5078 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5078 */ if (_t23) goto L_027E5074; else goto L_027E507C;
|
|
L_027E507C: ; // 0x27e507c
|
|
/* 027E507C */ cpu->r[0] = 0x00000007u;
|
|
/* 027E5080 */ cpu->r[8] = cpu->r[31] + 0x00000178u;
|
|
/* 027E5084 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5088 */ cpu->r[10] = 0x00000000u;
|
|
L_027E508C: ; // 0x27e508c
|
|
/* 027E508C */ _t24 = cpu->r[8] + 0x00000004u;
|
|
/* 027E508C */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 027E508C */ cpu->r[8] = _t24;
|
|
/* 027E5090 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E5090 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E5090 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 027E5090 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E5090 */ if (_t27) goto L_027E508C; else goto L_027E5094;
|
|
L_027E5094: ; // 0x27e5094
|
|
/* 027E5094 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E5098 */ cpu->r[0] = 0x10000000u;
|
|
/* 027E509C */ _t28 = cpu->r[3] + 0xFFFF9328u;
|
|
/* 027E509C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E50A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E50A4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E50A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027E50A8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E50AC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027E50AC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027E50B0 */ Gambit_fn_027B3BD0(cpu);
|
|
L_027E50B4: ; // 0x27e50b4
|
|
/* 027E50B4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E50B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E50B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E50BC */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027E50BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E50C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E50C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027E50C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E50C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E50CC */ return;
|
|
}
|
|
|
|
// fn_027E4FC8 @ 0x27e4fc8
|
|
void Gambit_fn_027E4FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_027E4FC8: ; // 0x27e4fc8
|
|
/* 027E4FC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E4FC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E4FC8 */ cpu->r[1] = _t0;
|
|
/* 027E4FCC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027E4FCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E4FD0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E4FD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E4FD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E4FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E4FD8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E4FDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E4FDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E4FE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4FE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E4FE0 */ if (_t5) goto L_027E4FE4; else goto L_027E4FF4;
|
|
L_027E4FE4: ; // 0x27e4fe4
|
|
/* 027E4FE4 */ cpu->r[3] = 0x00000198u;
|
|
/* 027E4FE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E4FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E4FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E4FF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E4FF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E4FF0 */ if (_t7) goto L_027E50B4; else goto L_027E4FF4;
|
|
L_027E4FF4: ; // 0x27e4ff4
|
|
/* 027E4FF4 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E4FF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E4FFC */ cpu->r[5] = cpu->r[5] + 0xFFFFF99Cu;
|
|
/* 027E5000 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5004 */ Gambit_fn_02798BA4(cpu);
|
|
/* 027E5008 */ cpu->r[3] = cpu->r[31] + 0x00000150u;
|
|
/* 027E5008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E500C */ cpu->r[30] = 0x00000000u;
|
|
/* 027E5010 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5010 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5010 */ if (_t9) goto L_027E5014; else goto L_027E5024;
|
|
L_027E5014: ; // 0x27e5014
|
|
/* 027E5014 */ cpu->r[3] = 0x00000008u;
|
|
/* 027E5018 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E501C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5020 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5020 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E5020 */ if (_t11) goto L_027E5034; else goto L_027E5024;
|
|
L_027E5024: ; // 0x27e5024
|
|
/* 027E5024 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E5028 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5028 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E502C */ cpu->r[7] = cpu->r[7] + 0xFFFFF968u;
|
|
/* 027E5030 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027E5030 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
L_027E5034: ; // 0x27e5034
|
|
/* 027E5034 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5038 */ _t14 = cpu->r[31] + 0x00000158u;
|
|
/* 027E5038 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 027E503C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5040 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E5044 */ _t15 = cpu->r[31] + 0x00000159u;
|
|
/* 027E5044 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[30]);
|
|
/* 027E5048 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD8u;
|
|
/* 027E504C */ cpu->r[11] = cpu->r[11] + 0xFFFFFBC8u;
|
|
/* 027E5050 */ _t16 = cpu->r[31] + 0x0000015Cu;
|
|
/* 027E5050 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 027E5054 */ cpu->r[12] = cpu->r[31] + 0x0000015Cu;
|
|
/* 027E5058 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E505C */ _t17 = cpu->r[31] + 0x00000154u;
|
|
/* 027E505C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E5060 */ cpu->r[6] = 0x00000007u;
|
|
/* 027E5064 */ cpu->r[9] = cpu->r[9] + 0xFFFFFB00u;
|
|
/* 027E5068 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 027E5068 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 027E506C */ cpu->ctr = cpu->r[6];
|
|
/* 027E5070 */ _t19 = cpu->r[31] + 0x00000070u;
|
|
/* 027E5070 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
L_027E5074: ; // 0x27e5074
|
|
/* 027E5074 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027E5074 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 027E5074 */ cpu->r[12] = _t20;
|
|
/* 027E5078 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E5078 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E5078 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 027E5078 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5078 */ if (_t23) goto L_027E5074; else goto L_027E507C;
|
|
L_027E507C: ; // 0x27e507c
|
|
/* 027E507C */ cpu->r[0] = 0x00000007u;
|
|
/* 027E5080 */ cpu->r[8] = cpu->r[31] + 0x00000178u;
|
|
/* 027E5084 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5088 */ cpu->r[10] = 0x00000000u;
|
|
L_027E508C: ; // 0x27e508c
|
|
/* 027E508C */ _t24 = cpu->r[8] + 0x00000004u;
|
|
/* 027E508C */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 027E508C */ cpu->r[8] = _t24;
|
|
/* 027E5090 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E5090 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E5090 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 027E5090 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E5090 */ if (_t27) goto L_027E508C; else goto L_027E5094;
|
|
L_027E5094: ; // 0x27e5094
|
|
/* 027E5094 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E5098 */ cpu->r[0] = 0x10000000u;
|
|
/* 027E509C */ _t28 = cpu->r[3] + 0xFFFF9328u;
|
|
/* 027E509C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E50A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E50A4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E50A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027E50A8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E50AC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027E50AC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027E50B0 */ Gambit_fn_027B3BD0(cpu);
|
|
L_027E50B4: ; // 0x27e50b4
|
|
/* 027E50B4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E50B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E50B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E50BC */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 027E50BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E50C0 */ cpu->lr = cpu->r[0];
|
|
/* 027E50C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027E50C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E50C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E50CC */ return;
|
|
}
|
|
|
|
// fn_027E50D0 @ 0x27e50d0
|
|
void Gambit_fn_027E50D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027E50D0: ; // 0x27e50d0
|
|
/* 027E50D0 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027E50D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E50D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E50D8 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E50D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E50D8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027E50D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E50D8 */ goto L_027E50DC;
|
|
L_027E50DC: ; // 0x27e50dc
|
|
/* 027E50DC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E50E0 */ _t4 = cpu->r[3] + 0x0000015Cu;
|
|
/* 027E50E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E50E4 */ return;
|
|
}
|
|
|
|
// fn_027E50E8 @ 0x27e50e8
|
|
void Gambit_fn_027E50E8(CPUState* cpu) {
|
|
L_027E50E8: ; // 0x27e50e8
|
|
/* 027E50E8 */ /* nop */
|
|
/* 027E50EC */ cpu->r[12] = cpu->r[0];
|
|
/* 027E50F0 */ cpu->r[0] = cpu->r[12] + 0x00000200u;
|
|
/* 027E50F4 */ /* nop */
|
|
/* 027E50F8 */ cpu->r[3] = cpu->r[0];
|
|
/* 027E50FC */ return;
|
|
}
|
|
|
|
// fn_027E5100 @ 0x27e5100
|
|
void Gambit_fn_027E5100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E5100: ; // 0x27e5100
|
|
/* 027E5100 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 027E5100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5100 */ cpu->r[1] = _t0;
|
|
/* 027E5104 */ /* nop */
|
|
/* 027E5108 */ _t1 = cpu->r[1] + 0x00000098u;
|
|
/* 027E5108 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 027E510C */ _t2 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E510C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 027E5110 */ /* nop */
|
|
/* 027E5114 */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E5114 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[28]);
|
|
/* 027E5118 */ /* nop */
|
|
/* 027E511C */ _t4 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E511C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 027E5120 */ _t5 = cpu->r[1] + 0x000000C8u;
|
|
/* 027E5120 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 027E5124 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5128 */ _t6 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E5128 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
|
|
/* 027E512C */ /* nop */
|
|
/* 027E5130 */ _t7 = cpu->r[1] + 0x000000D0u;
|
|
/* 027E5130 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 027E5134 */ /* nop */
|
|
/* 027E5138 */ _t8 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E5138 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 027E513C */ _t9 = cpu->r[1] + 0x000000DCu;
|
|
/* 027E513C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E5140 */ cpu->r[26] = cpu->r[3];
|
|
/* 027E5144 */ _t10 = cpu->r[26] + 0x00000159u;
|
|
/* 027E5144 */ cpu->r[7] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027E5148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E514C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5150 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5150 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E5150 */ if (_t12) goto L_027E551C; else goto L_027E5154;
|
|
L_027E5154: ; // 0x27e5154
|
|
/* 027E5154 */ _t13 = cpu->r[26] + 0x0000015Cu;
|
|
/* 027E5154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E515C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E515C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E515C */ if (_t15) goto L_027E551C; else goto L_027E5160;
|
|
L_027E5160: ; // 0x27e5160
|
|
/* 027E5160 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5160 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E5164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 027E5168 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5168 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E5168 */ if (_t18) goto L_027E516C; else goto L_027E551C;
|
|
L_027E516C: ; // 0x27e516c
|
|
/* 027E516C */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E516C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E5170 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 027E5170 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E5174 */ Gambit_fn_0281BC48(cpu);
|
|
/* 027E5178 */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E517C */ cpu->r[7] = 0x101F0000u;
|
|
/* 027E5180 */ _t21 = cpu->r[6] + 0x000037B8u;
|
|
/* 027E5180 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E5180 */ cpu->r[6] = _t21;
|
|
/* 027E5184 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E5188 */ _t22 = cpu->r[7] + 0x000037C0u;
|
|
/* 027E5188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E5188 */ cpu->r[7] = _t22;
|
|
/* 027E518C */ cpu->r[9] = 0x10110000u;
|
|
/* 027E5190 */ _t23 = cpu->r[5] + 0xFFFFF9B0u;
|
|
/* 027E5190 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027E5194 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027E5198 */ _t24 = cpu->r[9] + 0xFFFFF998u;
|
|
/* 027E5198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027E519C */ _t25 = cpu->r[7] + 0x00000004u;
|
|
/* 027E519C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E51A0 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 027E51A0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 027E51A4 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 027E51A4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 027E51A8 */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 027E51A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027E51AC */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 027E51AC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 027E51B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E51B4 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E51B4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 027E51B8 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E51BC */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 027E51BC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[7]);
|
|
/* 027E51C0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027E51C4 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 027E51C4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[9]);
|
|
/* 027E51C8 */ Gambit_fn_020FF2BC(cpu);
|
|
/* 027E51CC */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E51D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E51D4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E51D8 */ Gambit_fn_02C69544(cpu);
|
|
/* 027E51DC */ cpu->r[6] = 0x101F0000u;
|
|
/* 027E51E0 */ _t33 = cpu->r[6] + 0x00005BCCu;
|
|
/* 027E51E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E51E0 */ cpu->r[6] = _t33;
|
|
/* 027E51E4 */ _t34 = cpu->r[6] + 0x00000004u;
|
|
/* 027E51E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E51E8 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E51E8 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
|
|
/* 027E51EC */ _t36 = cpu->r[1] + 0x00000030u;
|
|
/* 027E51EC */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 027E51F0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E51F4 */ _t37 = cpu->r[6] + 0x00000008u;
|
|
/* 027E51F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E51F8 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E51FC */ _t38 = cpu->r[12] + 0xFFFFF9B4u;
|
|
/* 027E51FC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027E5200 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E5204 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E5208 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 027E5208 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 027E520C */ cpu->r[6] = 0x00000004u;
|
|
/* 027E5210 */ _t40 = cpu->r[1] + 0x00000038u;
|
|
/* 027E5210 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 027E5214 */ Gambit_fn_02943A4C(cpu);
|
|
/* 027E5218 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E521C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E5220 */ Gambit_fn_0280046C(cpu);
|
|
/* 027E5224 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E5228 */ _t41 = cpu->r[9] + 0x000037C8u;
|
|
/* 027E5228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027E5228 */ cpu->r[9] = _t41;
|
|
/* 027E522C */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E522C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 027E5230 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5234 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E5238 */ _t43 = cpu->r[11] + 0xFFFFF9B8u;
|
|
/* 027E5238 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027E523C */ cpu->r[29] = 0x101F0000u;
|
|
/* 027E5240 */ _t44 = cpu->r[9] + 0x00000004u;
|
|
/* 027E5240 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027E5244 */ cpu->r[29] = cpu->r[29] + 0x00005BECu;
|
|
/* 027E5248 */ _t45 = cpu->r[8] + 0x000037D0u;
|
|
/* 027E5248 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E5248 */ cpu->r[8] = _t45;
|
|
/* 027E524C */ cpu->r[30] = 0x101F0000u;
|
|
/* 027E5250 */ _t46 = cpu->r[8] + 0x00000004u;
|
|
/* 027E5250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E5254 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027E5258 */ cpu->r[27] = 0x00000000u;
|
|
/* 027E525C */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 027E525C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[6]);
|
|
/* 027E5260 */ cpu->r[31] = cpu->r[31] + 0x00005C2Cu;
|
|
/* 027E5264 */ cpu->r[24] = cpu->r[27];
|
|
/* 027E5268 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5268 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 027E526C */ cpu->r[30] = cpu->r[30] + 0x00005BFCu;
|
|
/* 027E5270 */ cpu->r[25] = 0x10110000u;
|
|
/* 027E5274 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5274 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027E5278 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5278 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 027E527C */ goto L_027E5288;
|
|
L_027E5280: ; // 0x27e5280
|
|
/* 027E5280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027E5284 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5284 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027E5284 */ if (_t52) goto L_027E5288; else goto L_027E52A0;
|
|
L_027E5288: ; // 0x27e5288
|
|
/* 027E5288 */ cpu->r[9] = cpu->r[1] + 0x00000024u;
|
|
/* 027E528C */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 027E528C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027E5290 */ cpu->r[4] = cpu->r[25] + 0xFFFFF9CCu;
|
|
/* 027E5294 */ cpu->f[30] = cpu->f[31];
|
|
/* 027E5298 */ cpu->r[23] = cpu->r[24];
|
|
/* 027E529C */ goto L_027E52C0;
|
|
L_027E52A0: ; // 0x27e52a0
|
|
/* 027E52A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000001u);
|
|
/* 027E52A4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E52A4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027E52A4 */ if (_t55) goto L_027E52B0; else goto L_027E52A8;
|
|
L_027E52A8: ; // 0x27e52a8
|
|
/* 027E52A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000005u);
|
|
/* 027E52AC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E52AC */ _t57 = _t56 & 0x00000001u;
|
|
/* 027E52AC */ if (_t57) goto L_027E52B0; else goto L_027E52E4;
|
|
L_027E52B0: ; // 0x27e52b0
|
|
/* 027E52B0 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E52B4 */ cpu->r[9] = cpu->r[1] + 0x00000024u;
|
|
/* 027E52B8 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 027E52B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027E52BC */ cpu->r[4] = cpu->r[4] + 0xFFFFF9E0u;
|
|
L_027E52C0: ; // 0x27e52c0
|
|
/* 027E52C0 */ _t59 = cpu->r[9] + 0x00000000u;
|
|
/* 027E52C0 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[11]);
|
|
/* 027E52C4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E52C8 */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 027E52C8 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[29]);
|
|
/* 027E52CC */ Gambit_fn_028005B8(cpu);
|
|
/* 027E52D0 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E52D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027E52D4 */ cpu->f[29] = cpu->f[13] - cpu->f[30];
|
|
/* 027E52D8 */ cpu->f[28] = cpu->f[30];
|
|
/* 027E52DC */ cpu->r[22] = cpu->r[23];
|
|
/* 027E52E0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E52E0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[29]);
|
|
L_027E52E4: ; // 0x27e52e4
|
|
/* 027E52E4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E52E8 */ Gambit_fn_02019890(cpu);
|
|
/* 027E52EC */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 027E52EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027E52F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 027E52F4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E52F4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027E52F4 */ if (_t65) goto L_027E5300; else goto L_027E52F8;
|
|
L_027E52F8: ; // 0x27e52f8
|
|
/* 027E52F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000003u);
|
|
/* 027E52FC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E52FC */ _t67 = _t66 & 0x00000001u;
|
|
/* 027E52FC */ if (_t67) goto L_027E5504; else goto L_027E5300;
|
|
L_027E5300: ; // 0x27e5300
|
|
/* 027E5300 */ _t68 = cpu->r[1] + 0x00000028u;
|
|
/* 027E5300 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[29]);
|
|
/* 027E5304 */ cpu->r[12] = cpu->r[22] + 0x101D0000u;
|
|
/* 027E5308 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5308 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027E530C */ _t70 = cpu->r[12] + 0xFFFF97A4u;
|
|
/* 027E530C */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E5310 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E5314 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 027E5314 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[8]);
|
|
/* 027E5318 */ Gambit_fn_028005B8(cpu);
|
|
/* 027E531C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E5320 */ cpu->r[28] = cpu->r[26] + 0x0000017Cu;
|
|
/* 027E5324 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5324 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027E5324 */ if (_t73) goto L_027E5328; else goto L_027E533C;
|
|
L_027E5328: ; // 0x27e5328
|
|
/* 027E5328 */ _t74 = cpu->r[28] + cpu->r[22];
|
|
/* 027E5328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E532C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5330 */ cpu->r[12] = cpu->r[26] + 0x00000160u;
|
|
/* 027E5334 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5334 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027E5334 */ if (_t76) goto L_027E534C; else goto L_027E5338;
|
|
L_027E5338: ; // 0x27e5338
|
|
/* 027E5338 */ goto L_027E5358;
|
|
L_027E533C: ; // 0x27e533c
|
|
/* 027E533C */ _t77 = cpu->r[28] + 0x00000000u;
|
|
/* 027E533C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E5340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5344 */ cpu->r[12] = cpu->r[26] + 0x00000160u;
|
|
/* 027E5348 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5348 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027E5348 */ if (_t79) goto L_027E534C; else goto L_027E5358;
|
|
L_027E534C: ; // 0x27e534c
|
|
/* 027E534C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E5350 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5350 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027E5350 */ if (_t81) goto L_027E5464; else goto L_027E5354;
|
|
L_027E5354: ; // 0x27e5354
|
|
/* 027E5354 */ goto L_027E5468;
|
|
L_027E5358: ; // 0x27e5358
|
|
/* 027E5358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E535C */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E535C */ _t83 = _t82 & 0x00000001u;
|
|
/* 027E535C */ if (_t83) goto L_027E5360; else goto L_027E5370;
|
|
L_027E5360: ; // 0x27e5360
|
|
/* 027E5360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E5364 */ cpu->r[6] = cpu->r[12] + cpu->r[22];
|
|
/* 027E5368 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5368 */ _t85 = _t84 & 0x00000001u;
|
|
/* 027E5368 */ if (_t85) goto L_027E537C; else goto L_027E536C;
|
|
L_027E536C: ; // 0x27e536c
|
|
/* 027E536C */ goto L_027E5390;
|
|
L_027E5370: ; // 0x27e5370
|
|
/* 027E5370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E5374 */ cpu->r[6] = cpu->r[12];
|
|
/* 027E5378 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5378 */ _t87 = _t86 & 0x00000001u;
|
|
/* 027E5378 */ if (_t87) goto L_027E537C; else goto L_027E5390;
|
|
L_027E537C: ; // 0x27e537c
|
|
/* 027E537C */ _t88 = cpu->r[6] + 0x00000000u;
|
|
/* 027E537C */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027E5380 */ _t89 = cpu->r[28] + cpu->r[22];
|
|
/* 027E5380 */ cpu->r[5] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027E5384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 027E5388 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E5388 */ _t91 = _t90 & 0x00000001u;
|
|
/* 027E5388 */ if (_t91) goto L_027E538C; else goto L_027E53CC;
|
|
L_027E538C: ; // 0x27e538c
|
|
/* 027E538C */ goto L_027E53A0;
|
|
L_027E5390: ; // 0x27e5390
|
|
/* 027E5390 */ _t92 = cpu->r[6] + 0x00000000u;
|
|
/* 027E5390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E5394 */ _t93 = cpu->r[28] + 0x00000000u;
|
|
/* 027E5394 */ cpu->r[5] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027E5398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 027E539C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E539C */ _t95 = _t94 & 0x00000001u;
|
|
/* 027E539C */ if (_t95) goto L_027E53A0; else goto L_027E53CC;
|
|
L_027E53A0: ; // 0x27e53a0
|
|
/* 027E53A0 */ _t96 = cpu->r[30] + 0x00000000u;
|
|
/* 027E53A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027E53A4 */ _t97 = cpu->r[30] + 0x00000004u;
|
|
/* 027E53A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027E53A8 */ _t98 = cpu->r[1] + 0x00000034u;
|
|
/* 027E53A8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 027E53AC */ _t99 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E53AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027E53B0 */ _t100 = cpu->r[30] + 0x00000008u;
|
|
/* 027E53B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E53B4 */ _t101 = cpu->r[1] + 0x00000040u;
|
|
/* 027E53B4 */ rbrew_write32(cpu->mem, _t101, cpu->r[0]);
|
|
/* 027E53B8 */ _t102 = cpu->r[1] + 0x00000038u;
|
|
/* 027E53B8 */ rbrew_write32(cpu->mem, _t102, cpu->r[11]);
|
|
/* 027E53BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E53C0 */ _t103 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E53C0 */ rbrew_write32(cpu->mem, _t103, cpu->r[4]);
|
|
/* 027E53C4 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E53C4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 027E53C4 */ if (_t105) goto L_027E53C8; else goto L_027E5354;
|
|
L_027E53C8: ; // 0x27e53c8
|
|
/* 027E53C8 */ goto L_027E5464;
|
|
L_027E53CC: ; // 0x27e53cc
|
|
/* 027E53CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E53D0 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E53D0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 027E53D0 */ if (_t107) goto L_027E53D4; else goto L_027E53E4;
|
|
L_027E53D4: ; // 0x27e53d4
|
|
/* 027E53D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E53D8 */ cpu->r[11] = cpu->r[12] + cpu->r[22];
|
|
/* 027E53DC */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E53DC */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E53DC */ if (_t109) goto L_027E53F0; else goto L_027E53E0;
|
|
L_027E53E0: ; // 0x27e53e0
|
|
/* 027E53E0 */ goto L_027E5418;
|
|
L_027E53E4: ; // 0x27e53e4
|
|
/* 027E53E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E53E8 */ cpu->r[11] = cpu->r[12];
|
|
/* 027E53EC */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E53EC */ _t111 = _t110 & 0x00000001u;
|
|
/* 027E53EC */ if (_t111) goto L_027E53F0; else goto L_027E5418;
|
|
L_027E53F0: ; // 0x27e53f0
|
|
/* 027E53F0 */ cpu->r[9] = 0x51EC0000u;
|
|
/* 027E53F4 */ _t112 = cpu->r[28] + cpu->r[22];
|
|
/* 027E53F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027E53F8 */ cpu->r[9] = cpu->r[9] + 0xFFFF851Fu;
|
|
/* 027E53FC */ /* nop */
|
|
/* 027E5400 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E5404 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000005Au);
|
|
/* 027E5408 */ _t113 = cpu->r[11] + 0x00000000u;
|
|
/* 027E5408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027E540C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027E5410 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E5410 */ _t115 = _t114 & 0x00000001u;
|
|
/* 027E5410 */ if (_t115) goto L_027E5414; else goto L_027E545C;
|
|
L_027E5414: ; // 0x27e5414
|
|
/* 027E5414 */ goto L_027E543C;
|
|
L_027E5418: ; // 0x27e5418
|
|
/* 027E5418 */ cpu->r[9] = 0x51EC0000u;
|
|
/* 027E541C */ _t116 = cpu->r[28] + 0x00000000u;
|
|
/* 027E541C */ cpu->r[8] = rbrew_read32(cpu->mem, _t116);
|
|
/* 027E5420 */ cpu->r[9] = cpu->r[9] + 0xFFFF851Fu;
|
|
/* 027E5424 */ /* nop */
|
|
/* 027E5428 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E542C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000005Au);
|
|
/* 027E5430 */ _t117 = cpu->r[11] + 0x00000000u;
|
|
/* 027E5430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 027E5434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027E5438 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E5438 */ _t119 = _t118 & 0x00000001u;
|
|
/* 027E5438 */ if (_t119) goto L_027E543C; else goto L_027E545C;
|
|
L_027E543C: ; // 0x27e543c
|
|
/* 027E543C */ _t120 = cpu->r[31] + 0x00000008u;
|
|
/* 027E543C */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027E5440 */ _t121 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5440 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027E5444 */ _t122 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E5444 */ rbrew_write32(cpu->mem, _t122, cpu->r[9]);
|
|
/* 027E5448 */ _t123 = cpu->r[1] + 0x00000040u;
|
|
/* 027E5448 */ rbrew_write32(cpu->mem, _t123, cpu->r[10]);
|
|
/* 027E544C */ _t124 = cpu->r[31] + 0x00000004u;
|
|
/* 027E544C */ cpu->r[8] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027E5450 */ _t125 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5450 */ cpu->r[7] = rbrew_read32(cpu->mem, _t125);
|
|
/* 027E5454 */ _t126 = cpu->r[1] + 0x00000038u;
|
|
/* 027E5454 */ rbrew_write32(cpu->mem, _t126, cpu->r[8]);
|
|
/* 027E5458 */ _t127 = cpu->r[1] + 0x00000034u;
|
|
/* 027E5458 */ rbrew_write32(cpu->mem, _t127, cpu->r[7]);
|
|
L_027E545C: ; // 0x27e545c
|
|
/* 027E545C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E5460 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5460 */ _t129 = _t128 & 0x00000001u;
|
|
/* 027E5460 */ if (_t129) goto L_027E5464; else goto L_027E5354;
|
|
L_027E5464: ; // 0x27e5464
|
|
/* 027E5464 */ cpu->r[12] = cpu->r[12] + cpu->r[22];
|
|
L_027E5468: ; // 0x27e5468
|
|
/* 027E5468 */ _t130 = cpu->r[12] + 0x00000000u;
|
|
/* 027E5468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027E546C */ Gambit_fn_027E50E8(cpu);
|
|
/* 027E5470 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E5474 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E5478 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E547C */ cpu->r[4] = cpu->r[4] + 0xFFFFF9C4u;
|
|
/* 027E5480 */ _t131 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E5480 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027E5480 */ if (_t132) goto L_027E5484; // else: addr-0 trap, fall-through
|
|
L_027E5484: ; // 0x27e5484
|
|
/* 027E5484 */ Gambit_fn_028005BC(cpu);
|
|
/* 027E5488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E548C */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E548C */ _t134 = _t133 & 0x00000001u;
|
|
/* 027E548C */ if (_t134) goto L_027E5490; else goto L_027E54A0;
|
|
L_027E5490: ; // 0x27e5490
|
|
/* 027E5490 */ _t135 = cpu->r[28] + cpu->r[22];
|
|
/* 027E5490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027E5494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5498 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5498 */ _t137 = _t136 & 0x00000001u;
|
|
/* 027E5498 */ if (_t137) goto L_027E54F8; else goto L_027E549C;
|
|
L_027E549C: ; // 0x27e549c
|
|
/* 027E549C */ goto L_027E54AC;
|
|
L_027E54A0: ; // 0x27e54a0
|
|
/* 027E54A0 */ _t138 = cpu->r[28] + 0x00000000u;
|
|
/* 027E54A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027E54A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E54A8 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E54A8 */ _t140 = _t139 & 0x00000001u;
|
|
/* 027E54A8 */ if (_t140) goto L_027E54F8; else goto L_027E54AC;
|
|
L_027E54AC: ; // 0x27e54ac
|
|
/* 027E54AC */ _t141 = cpu->r[29] + 0x00000008u;
|
|
/* 027E54AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t141);
|
|
/* 027E54B0 */ _t142 = cpu->r[29] + 0x00000004u;
|
|
/* 027E54B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027E54B4 */ _t143 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E54B4 */ rbrew_write32(cpu->mem, _t143, cpu->r[5]);
|
|
/* 027E54B8 */ _t144 = cpu->r[1] + 0x00000038u;
|
|
/* 027E54B8 */ rbrew_write32(cpu->mem, _t144, cpu->r[0]);
|
|
/* 027E54BC */ _t145 = cpu->r[29] + 0x00000000u;
|
|
/* 027E54BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027E54C0 */ _t146 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E54C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027E54C4 */ _t147 = cpu->r[1] + 0x00000034u;
|
|
/* 027E54C4 */ rbrew_write32(cpu->mem, _t147, cpu->r[10]);
|
|
/* 027E54C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000007u);
|
|
/* 027E54CC */ _t148 = cpu->r[1] + 0x00000040u;
|
|
/* 027E54CC */ rbrew_write32(cpu->mem, _t148, cpu->r[8]);
|
|
/* 027E54D0 */ _t149 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E54D0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 027E54D0 */ if (_t150) goto L_027E54D4; else goto L_027E54D8;
|
|
L_027E54D4: ; // 0x27e54d4
|
|
/* 027E54D4 */ cpu->r[28] = cpu->r[28] + cpu->r[22];
|
|
L_027E54D8: ; // 0x27e54d8
|
|
/* 027E54D8 */ _t151 = cpu->r[28] + 0x00000000u;
|
|
/* 027E54D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 027E54DC */ Gambit_fn_027E50E8(cpu);
|
|
/* 027E54E0 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E54E4 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E54E8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027E54EC */ cpu->r[4] = cpu->r[4] + 0xFFFFF9BCu;
|
|
/* 027E54F0 */ _t152 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E54F0 */ _t153 = _t152 & 0x00000001u;
|
|
/* 027E54F0 */ if (_t153) goto L_027E54F4; // else: addr-0 trap, fall-through
|
|
L_027E54F4: ; // 0x27e54f4
|
|
/* 027E54F4 */ Gambit_fn_028005BC(cpu);
|
|
L_027E54F8: ; // 0x27e54f8
|
|
/* 027E54F8 */ _t154 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E54F8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 027E54FC */ cpu->f[29] = cpu->f[10] - cpu->f[28];
|
|
/* 027E5500 */ _t155 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5500 */ rbrew_write_f32(cpu->mem, _t155, cpu->f[29]);
|
|
L_027E5504: ; // 0x27e5504
|
|
/* 027E5504 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 027E5508 */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 027E550C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000007u);
|
|
/* 027E5510 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 027E5514 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 027E5518 */ _t156 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5518 */ _t157 = _t156 & 0x00000001u;
|
|
/* 027E5518 */ if (_t157) goto L_027E5280; else goto L_027E551C;
|
|
L_027E551C: ; // 0x27e551c
|
|
/* 027E551C */ /* nop */
|
|
/* 027E5520 */ _t158 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E5520 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027E5524 */ _t159 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E5524 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 027E5528 */ _t160 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E5528 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t160);
|
|
/* 027E552C */ _t161 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E552C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 027E5530 */ _t162 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E5530 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 027E5534 */ _t163 = cpu->r[1] + 0x000000D0u;
|
|
/* 027E5534 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 027E5538 */ _t164 = cpu->r[1] + 0x00000098u;
|
|
/* 027E5538 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t164);
|
|
/* 027E553C */ _t165 = cpu->r[1] + 0x000000C8u;
|
|
/* 027E553C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t165);
|
|
/* 027E5540 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5540 */ _t167 = _t166 & 0x00000001u;
|
|
/* 027E5540 */ if (_t167) goto L_027E5544; // else: addr-0 trap, fall-through
|
|
L_027E5544: ; // 0x27e5544
|
|
/* 027E5544 */ _t168 = cpu->r[1] + 0x000000DCu;
|
|
/* 027E5544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t168);
|
|
/* 027E5548 */ cpu->lr = cpu->r[0];
|
|
/* 027E554C */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E5550 */ return;
|
|
}
|
|
|
|
// fn_027E5554 @ 0x27e5554
|
|
void Gambit_fn_027E5554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
|
|
|
|
L_027E5554: ; // 0x27e5554
|
|
/* 027E5554 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027E5554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5554 */ cpu->r[1] = _t0;
|
|
/* 027E5558 */ /* nop */
|
|
/* 027E555C */ cpu->r[0] = cpu->lr;
|
|
/* 027E5560 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 027E5560 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E5564 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E5568 */ _t2 = cpu->r[12] + 0xFFFF94D4u;
|
|
/* 027E5568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E556C */ _t3 = cpu->r[12] + 0x000002F0u;
|
|
/* 027E556C */ cpu->r[25] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E5570 */ cpu->r[24] = cpu->r[12] + 0x000002ECu;
|
|
/* 027E5574 */ cpu->r[26] = cpu->r[3];
|
|
/* 027E5578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]);
|
|
/* 027E557C */ cpu->r[30] = 0x00000000u;
|
|
/* 027E5580 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5580 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5580 */ if (_t5) goto L_027E5738; else goto L_027E5584;
|
|
L_027E5584: ; // 0x27e5584
|
|
/* 027E5584 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E5588 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 027E5588 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
L_027E558C: ; // 0x27e558c
|
|
/* 027E558C */ _t7 = cpu->r[25] + 0x00000008u;
|
|
/* 027E558C */ cpu->r[23] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E5590 */ _t8 = cpu->r[23] + 0x00000018u;
|
|
/* 027E5590 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E5594 */ _t9 = cpu->r[11] + 0x00000014u;
|
|
/* 027E5594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5598 */ cpu->ctr = cpu->r[12];
|
|
/* 027E559C */ cpu->r[3] = cpu->r[23] + 0x00000014u;
|
|
/* 027E55A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E55A4 */ _t10 = cpu->r[23] + 0x00000014u;
|
|
/* 027E55A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E55A8 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027E55A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027E55AC */ cpu->r[28] = 0x00000000u;
|
|
/* 027E55B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E55B4 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E55B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E55B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E55B8 */ if (_t13) goto L_027E55E0; else goto L_027E55BC;
|
|
L_027E55BC: ; // 0x27e55bc
|
|
/* 027E55BC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027E55C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 027E55C4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E55C8 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E55C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E55C8 */ if (_t15) goto L_027E55DC; else goto L_027E55CC;
|
|
L_027E55CC: ; // 0x27e55cc
|
|
/* 027E55CC */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 027E55CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027E55D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027E55D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E55D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E55D4 */ if (_t18) goto L_027E55D8; else goto L_027E55BC;
|
|
L_027E55D8: ; // 0x27e55d8
|
|
/* 027E55D8 */ goto L_027E55E0;
|
|
L_027E55DC: ; // 0x27e55dc
|
|
/* 027E55DC */ cpu->r[28] = 0x00000000u;
|
|
L_027E55E0: ; // 0x27e55e0
|
|
/* 027E55E0 */ _t19 = cpu->r[26] + 0x00000004u;
|
|
/* 027E55E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E55E4 */ _t20 = cpu->r[5] + 0x00000014u;
|
|
/* 027E55E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E55E8 */ cpu->ctr = cpu->r[6];
|
|
/* 027E55EC */ cpu->r[3] = cpu->r[26];
|
|
/* 027E55F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E55F4 */ _t21 = cpu->r[26] + 0x00000000u;
|
|
/* 027E55F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E55F8 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 027E55F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027E55FC */ cpu->r[9] = 0x00080000u;
|
|
/* 027E5600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E5604 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E5608 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5608 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E5608 */ if (_t24) goto L_027E5630; else goto L_027E560C;
|
|
L_027E560C: ; // 0x27e560c
|
|
/* 027E560C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E5610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 027E5614 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E5618 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E5618 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E5618 */ if (_t26) goto L_027E562C; else goto L_027E561C;
|
|
L_027E561C: ; // 0x27e561c
|
|
/* 027E561C */ _t27 = cpu->r[10] + 0x00000000u;
|
|
/* 027E561C */ cpu->r[8] = rbrew_read8(cpu->mem, _t27);
|
|
/* 027E5620 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027E5624 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5624 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E5624 */ if (_t29) goto L_027E5628; else goto L_027E560C;
|
|
L_027E5628: ; // 0x27e5628
|
|
/* 027E5628 */ goto L_027E5630;
|
|
L_027E562C: ; // 0x27e562c
|
|
/* 027E562C */ cpu->r[29] = 0x00000000u;
|
|
L_027E5630: ; // 0x27e5630
|
|
/* 027E5630 */ cpu->r[28] = cpu->r[28] - cpu->r[29];
|
|
/* 027E5630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027E5634 */ cpu->r[22] = 0x00000000u;
|
|
/* 027E5638 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5638 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E5638 */ if (_t31) goto L_027E572C; else goto L_027E563C;
|
|
L_027E563C: ; // 0x27e563c
|
|
/* 027E563C */ cpu->r[21] = 0x10110000u;
|
|
/* 027E5640 */ cpu->r[27] = cpu->r[31];
|
|
/* 027E5644 */ cpu->r[21] = cpu->r[21] + 0xFFFFF940u;
|
|
L_027E5648: ; // 0x27e5648
|
|
/* 027E5648 */ _t32 = cpu->r[23] + 0x00000014u;
|
|
/* 027E5648 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E564C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E564C */ rbrew_write32(cpu->mem, _t33, cpu->r[21]);
|
|
/* 027E5650 */ cpu->r[0] = cpu->r[9] + cpu->r[22];
|
|
/* 027E5654 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5658 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5658 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027E565C */ Gambit_fn_027E5C18(cpu);
|
|
/* 027E5660 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E5664 */ _t36 = cpu->r[10] + 0x00000014u;
|
|
/* 027E5664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E5668 */ cpu->ctr = cpu->r[0];
|
|
/* 027E566C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5670 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E5674 */ _t37 = cpu->r[26] + 0x00000004u;
|
|
/* 027E5674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E5678 */ _t38 = cpu->r[4] + 0x00000014u;
|
|
/* 027E5678 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E567C */ cpu->ctr = cpu->r[5];
|
|
/* 027E5680 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5680 */ cpu->r[20] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E5684 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E5688 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E568C */ _t40 = cpu->r[26] + 0x00000000u;
|
|
/* 027E568C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E5690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[0]);
|
|
/* 027E5694 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5694 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E5694 */ if (_t42) goto L_027E5714; else goto L_027E5698;
|
|
L_027E5698: ; // 0x27e5698
|
|
/* 027E5698 */ cpu->r[0] = cpu->r[29];
|
|
/* 027E5698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E569C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E56A0 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E56A0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E56A0 */ if (_t44) goto L_027E56A4; else goto L_027E5714;
|
|
L_027E56A4: ; // 0x27e56a4
|
|
/* 027E56A4 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 027E56A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E56A8 */ cpu->ctr = cpu->r[0];
|
|
/* 027E56AC */ _t46 = cpu->r[26] + 0x00000000u;
|
|
/* 027E56AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
L_027E56B0: ; // 0x27e56b0
|
|
/* 027E56B0 */ _t47 = cpu->r[12] + 0x00000000u;
|
|
/* 027E56B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t47);
|
|
/* 027E56B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[27]);
|
|
/* 027E56B8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E56B8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E56B8 */ if (_t49) goto L_027E56BC; else goto L_027E56CC;
|
|
L_027E56BC: ; // 0x27e56bc
|
|
/* 027E56BC */ _t50 = cpu->r[7] + cpu->r[6];
|
|
/* 027E56BC */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 027E56C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 027E56C4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E56C4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027E56C4 */ if (_t52) goto L_027E5714; else goto L_027E56C8;
|
|
L_027E56C8: ; // 0x27e56c8
|
|
/* 027E56C8 */ goto L_027E56F8;
|
|
L_027E56CC: ; // 0x27e56cc
|
|
/* 027E56CC */ _t53 = cpu->r[7] + cpu->r[6];
|
|
/* 027E56CC */ cpu->r[5] = rbrew_read8(cpu->mem, _t53);
|
|
/* 027E56D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[27]);
|
|
/* 027E56D4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E56D4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027E56D4 */ if (_t55) goto L_027E56F8; else goto L_027E56D8;
|
|
L_027E56D8: ; // 0x27e56d8
|
|
/* 027E56D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 027E56DC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E56DC */ _t57 = _t56 & 0x00000001u;
|
|
/* 027E56DC */ if (_t57) goto L_027E56E0; else goto L_027E56F8;
|
|
L_027E56E0: ; // 0x27e56e0
|
|
/* 027E56E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E56E4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E56E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E56E8 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E56E8 */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 027E56E8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027E56E8 */ if (_t60) goto L_027E56B0; else goto L_027E56EC;
|
|
L_027E56EC: ; // 0x27e56ec
|
|
/* 027E56EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0xFFFFFFFFu);
|
|
/* 027E56F0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E56F0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027E56F0 */ if (_t62) goto L_027E572C; else goto L_027E56F4;
|
|
L_027E56F4: ; // 0x27e56f4
|
|
/* 027E56F4 */ goto L_027E571C;
|
|
L_027E56F8: ; // 0x27e56f8
|
|
/* 027E56F8 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027E56FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[28]);
|
|
/* 027E5700 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E5700 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027E5700 */ if (_t64) goto L_027E5704; else goto L_027E5648;
|
|
L_027E5704: ; // 0x27e5704
|
|
/* 027E5704 */ _t65 = cpu->r[25] + 0x00000004u;
|
|
/* 027E5704 */ cpu->r[25] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E5708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]);
|
|
/* 027E570C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E570C */ _t67 = _t66 & 0x00000001u;
|
|
/* 027E570C */ if (_t67) goto L_027E5710; else goto L_027E558C;
|
|
L_027E5710: ; // 0x27e5710
|
|
/* 027E5710 */ goto L_027E5738;
|
|
L_027E5714: ; // 0x27e5714
|
|
/* 027E5714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0xFFFFFFFFu);
|
|
/* 027E5718 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5718 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027E5718 */ if (_t69) goto L_027E572C; else goto L_027E571C;
|
|
L_027E571C: ; // 0x27e571c
|
|
/* 027E571C */ _t70 = cpu->r[25] + 0x00000008u;
|
|
/* 027E571C */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E5720 */ _t71 = cpu->r[9] + 0x00000134u;
|
|
/* 027E5720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E5724 */ _t72 = cpu->r[10] + 0x00000008u;
|
|
/* 027E5724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027E5728 */ cpu->r[30] = cpu->r[30] + cpu->r[8];
|
|
L_027E572C: ; // 0x27e572c
|
|
/* 027E572C */ _t73 = cpu->r[25] + 0x00000004u;
|
|
/* 027E572C */ cpu->r[25] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E5730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[24]);
|
|
/* 027E5734 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5734 */ _t75 = _t74 & 0x00000001u;
|
|
/* 027E5734 */ if (_t75) goto L_027E5738; else goto L_027E558C;
|
|
L_027E5738: ; // 0x27e5738
|
|
/* 027E5738 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E573C */ /* nop */
|
|
/* 027E5740 */ _t76 = cpu->r[1] + 0x00000044u;
|
|
/* 027E5740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027E5744 */ cpu->lr = cpu->r[0];
|
|
/* 027E5748 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027E574C */ return;
|
|
}
|
|
|
|
// fn_027E5750 @ 0x27e5750
|
|
void Gambit_fn_027E5750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027E5750: ; // 0x27e5750
|
|
/* 027E5750 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5754 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E5758 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E5758 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E575C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E5760 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E5760 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E5760 */ cpu->r[1] = _t1;
|
|
/* 027E5764 */ _t2 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E5764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E5768 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E576C */ Gambit_fn_02826E9C(cpu);
|
|
/* 027E5770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5774 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5774 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E5774 */ if (_t4) goto L_027E5798; else goto L_027E5778;
|
|
L_027E5778: ; // 0x27e5778
|
|
/* 027E5778 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E577C */ _t6 = cpu->r[12] + 0x00000074u;
|
|
/* 027E577C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E5780 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E5788 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E578C */ cpu->lr = cpu->r[0];
|
|
/* 027E5790 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5794 */ return;
|
|
L_027E5798: ; // 0x27e5798
|
|
/* 027E5798 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E579C */ cpu->lr = cpu->r[0];
|
|
/* 027E57A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E57A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E57A8 */ return;
|
|
}
|
|
|
|
// fn_027E5760 @ 0x27e5760
|
|
void Gambit_fn_027E5760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027E5760: ; // 0x27e5760
|
|
/* 027E5760 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E5760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5760 */ cpu->r[1] = _t0;
|
|
/* 027E5764 */ _t1 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E5764 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E5768 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E576C */ Gambit_fn_02826E9C(cpu);
|
|
/* 027E5770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5774 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5774 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E5774 */ if (_t3) goto L_027E5798; else goto L_027E5778;
|
|
L_027E5778: ; // 0x27e5778
|
|
/* 027E5778 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E577C */ _t5 = cpu->r[12] + 0x00000074u;
|
|
/* 027E577C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E5780 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E5788 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E578C */ cpu->lr = cpu->r[0];
|
|
/* 027E5790 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5794 */ return;
|
|
L_027E5798: ; // 0x27e5798
|
|
/* 027E5798 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E579C */ cpu->lr = cpu->r[0];
|
|
/* 027E57A0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E57A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E57A8 */ return;
|
|
}
|
|
|
|
// fn_027E57AC @ 0x27e57ac
|
|
void Gambit_fn_027E57AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
|
|
|
|
L_027E57AC: ; // 0x27e57ac
|
|
/* 027E57AC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E57AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E57AC */ cpu->r[1] = _t0;
|
|
/* 027E57B0 */ /* nop */
|
|
/* 027E57B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E57B8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E57B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E57BC */ cpu->r[11] = cpu->r[3];
|
|
/* 027E57C0 */ _t2 = cpu->r[11] + 0x00000159u;
|
|
/* 027E57C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E57C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E57C8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E57C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E57C8 */ if (_t4) goto L_027E5A60; else goto L_027E57CC;
|
|
L_027E57CC: ; // 0x27e57cc
|
|
/* 027E57CC */ cpu->r[12] = 0x00000007u;
|
|
/* 027E57D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E57D4 */ cpu->r[8] = cpu->r[11] + 0x0000015Cu;
|
|
/* 027E57D8 */ cpu->ctr = cpu->r[12];
|
|
/* 027E57DC */ cpu->r[31] = cpu->r[11] + 0x00000160u;
|
|
L_027E57E0: ; // 0x27e57e0
|
|
/* 027E57E0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 027E57E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E57E0 */ cpu->r[8] = _t5;
|
|
/* 027E57E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E57E4 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E57E4 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 027E57E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E57E4 */ if (_t8) goto L_027E57E0; else goto L_027E57E8;
|
|
L_027E57E8: ; // 0x27e57e8
|
|
/* 027E57E8 */ cpu->r[0] = 0x03C00000u;
|
|
/* 027E57EC */ cpu->r[8] = 0x00F00000u;
|
|
/* 027E57F0 */ _t9 = cpu->r[11] + 0x00000180u;
|
|
/* 027E57F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E57F4 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E57F8 */ _t10 = cpu->r[11] + 0x00000184u;
|
|
/* 027E57F8 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027E57FC */ _t11 = cpu->r[11] + 0x00000188u;
|
|
/* 027E57FC */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 027E5800 */ cpu->r[9] = 0x02300000u;
|
|
/* 027E5804 */ _t12 = cpu->r[11] + 0x00000194u;
|
|
/* 027E5804 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E5808 */ cpu->r[30] = cpu->r[11] + 0x0000018Cu;
|
|
/* 027E580C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5810 */ _t13 = cpu->r[11] + 0x0000018Cu;
|
|
/* 027E5810 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 027E5814 */ cpu->r[29] = cpu->r[11] + 0x00000184u;
|
|
/* 027E5818 */ cpu->r[27] = cpu->r[11] + 0x0000017Cu;
|
|
/* 027E581C */ cpu->r[28] = cpu->r[11] + 0x00000180u;
|
|
/* 027E5820 */ _t14 = cpu->r[11] + 0x00000190u;
|
|
/* 027E5820 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027E5824 */ Gambit_fn_02019890(cpu);
|
|
/* 027E5828 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027E5828 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E582C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 027E5830 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5830 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E5830 */ if (_t17) goto L_027E5854; else goto L_027E5834;
|
|
L_027E5834: ; // 0x27e5834
|
|
/* 027E5834 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5834 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E5834 */ if (_t19) goto L_027E5848; else goto L_027E5838;
|
|
L_027E5838: ; // 0x27e5838
|
|
/* 027E5838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
|
|
/* 027E583C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E583C */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E583C */ if (_t21) goto L_027E5860; else goto L_027E5840;
|
|
L_027E5840: ; // 0x27e5840
|
|
/* 027E5840 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5840 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5840 */ if (_t23) goto L_027E5874; else goto L_027E5844;
|
|
L_027E5844: ; // 0x27e5844
|
|
/* 027E5844 */ goto L_027E588C;
|
|
L_027E5848: ; // 0x27e5848
|
|
/* 027E5848 */ cpu->r[11] = 0x01900000u;
|
|
/* 027E584C */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 027E584C */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027E5850 */ goto L_027E588C;
|
|
L_027E5854: ; // 0x27e5854
|
|
/* 027E5854 */ cpu->r[12] = 0x04100000u;
|
|
/* 027E5858 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 027E5858 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 027E585C */ goto L_027E588C;
|
|
L_027E5860: ; // 0x27e5860
|
|
/* 027E5860 */ cpu->r[0] = 0x05A00000u;
|
|
/* 027E5864 */ cpu->r[8] = 0x02D00000u;
|
|
/* 027E5868 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 027E5868 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 027E586C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 027E586C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027E5870 */ goto L_027E588C;
|
|
L_027E5874: ; // 0x27e5874
|
|
/* 027E5874 */ cpu->r[9] = 0x05A00000u;
|
|
/* 027E5878 */ cpu->r[10] = 0x01E00000u;
|
|
/* 027E587C */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 027E587C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 027E5880 */ cpu->r[11] = 0x01900000u;
|
|
/* 027E5884 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 027E5884 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 027E5888 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 027E5888 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
L_027E588C: ; // 0x27e588c
|
|
/* 027E588C */ Gambit_fn_027FAE24(cpu);
|
|
/* 027E5890 */ _t31 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E5894 */ _t32 = cpu->r[12] + 0x00000074u;
|
|
/* 027E5894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E5898 */ cpu->ctr = cpu->r[0];
|
|
/* 027E589C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E58A0 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E58A4 */ _t33 = cpu->r[27] + 0x00000000u;
|
|
/* 027E58A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 027E58A8 */ cpu->r[30] = cpu->r[30] + 0xFFFFF940u;
|
|
/* 027E58AC */ cpu->r[9] = 0x10110000u;
|
|
/* 027E58B0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E58B0 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 027E58B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFA48u;
|
|
/* 027E58B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E58BC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 027E58BC */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 027E58C0 */ Gambit_fn_027E5750(cpu);
|
|
/* 027E58C4 */ _t36 = cpu->r[27] + 0x00000000u;
|
|
/* 027E58C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E58C8 */ cpu->r[10] = cpu->r[10] - cpu->r[3];
|
|
/* 027E58CC */ _t37 = cpu->r[27] + 0x00000000u;
|
|
/* 027E58CC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 027E58D0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E58D4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E58D4 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 027E58D8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA88u;
|
|
/* 027E58DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E58E0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E58E0 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 027E58E4 */ Gambit_fn_027E5750(cpu);
|
|
/* 027E58E8 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 027E58E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E58EC */ cpu->r[12] = cpu->r[12] - cpu->r[3];
|
|
/* 027E58F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E58F4 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 027E58F4 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 027E58F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA7Cu;
|
|
/* 027E58FC */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E58FC */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 027E5900 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5904 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5904 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 027E5908 */ Gambit_fn_027E5554(cpu);
|
|
/* 027E590C */ _t44 = cpu->r[27] + 0x00000000u;
|
|
/* 027E590C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E5910 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E5914 */ cpu->r[8] = cpu->r[8] + cpu->r[29];
|
|
/* 027E5918 */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 027E5918 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 027E591C */ Gambit_fn_027FAE24(cpu);
|
|
/* 027E5920 */ _t46 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E5924 */ _t47 = cpu->r[9] + 0x0000007Cu;
|
|
/* 027E5924 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E5928 */ cpu->ctr = cpu->r[10];
|
|
/* 027E592C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E5930 */ _t48 = cpu->r[27] + 0x00000000u;
|
|
/* 027E5930 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027E5934 */ cpu->r[11] = cpu->r[12] - cpu->r[3];
|
|
/* 027E5938 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E593C */ _t49 = cpu->r[31] + 0x00000000u;
|
|
/* 027E593C */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 027E5940 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA58u;
|
|
/* 027E5944 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5944 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 027E5948 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E594C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 027E594C */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 027E5950 */ Gambit_fn_027E5750(cpu);
|
|
/* 027E5954 */ _t52 = cpu->r[31] + 0x00000010u;
|
|
/* 027E5954 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E5958 */ cpu->r[8] = cpu->r[8] + cpu->r[3];
|
|
/* 027E595C */ cpu->r[9] = 0x10110000u;
|
|
/* 027E5960 */ _t53 = cpu->r[31] + 0x00000010u;
|
|
/* 027E5960 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 027E5964 */ cpu->r[9] = cpu->r[9] + 0xFFFFFA94u;
|
|
/* 027E5968 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5968 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 027E596C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5970 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5970 */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 027E5974 */ Gambit_fn_027E5750(cpu);
|
|
/* 027E5978 */ _t56 = cpu->r[31] + 0x00000014u;
|
|
/* 027E5978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E597C */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
/* 027E5980 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5984 */ _t57 = cpu->r[31] + 0x00000014u;
|
|
/* 027E5984 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 027E5988 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA68u;
|
|
/* 027E598C */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E598C */ rbrew_write32(cpu->mem, _t58, cpu->r[30]);
|
|
/* 027E5990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5994 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5994 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 027E5998 */ Gambit_fn_027E5750(cpu);
|
|
/* 027E599C */ _t60 = cpu->r[31] + 0x00000018u;
|
|
/* 027E599C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E59A0 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 027E59A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E59A8 */ _t61 = cpu->r[31] + 0x00000018u;
|
|
/* 027E59A8 */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 027E59AC */ cpu->r[0] = cpu->r[0] + 0xFFFFFAA4u;
|
|
/* 027E59B0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E59B0 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
|
|
/* 027E59B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E59B8 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027E59B8 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 027E59BC */ Gambit_fn_027E5750(cpu);
|
|
/* 027E59C0 */ _t64 = cpu->r[31] + 0x00000018u;
|
|
/* 027E59C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E59C4 */ cpu->r[8] = cpu->r[8] + cpu->r[3];
|
|
/* 027E59C8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E59CC */ _t65 = cpu->r[31] + 0x00000018u;
|
|
/* 027E59CC */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 027E59D0 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E59D0 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 027E59D4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFAB4u;
|
|
/* 027E59D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E59DC */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 027E59DC */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 027E59E0 */ Gambit_fn_027E5554(cpu);
|
|
/* 027E59E4 */ _t68 = cpu->r[31] + 0x00000004u;
|
|
/* 027E59E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E59E8 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
/* 027E59EC */ cpu->r[11] = cpu->r[10] + cpu->r[29];
|
|
/* 027E59F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E59F4 */ _t69 = cpu->r[31] + 0x00000004u;
|
|
/* 027E59F4 */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 027E59F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFAC0u;
|
|
/* 027E59FC */ _t70 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E59FC */ rbrew_write32(cpu->mem, _t70, cpu->r[30]);
|
|
/* 027E5A00 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A04 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A04 */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 027E5A08 */ Gambit_fn_027E5554(cpu);
|
|
/* 027E5A0C */ _t72 = cpu->r[31] + 0x00000004u;
|
|
/* 027E5A0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027E5A10 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
/* 027E5A14 */ _t73 = cpu->r[31] + 0x00000004u;
|
|
/* 027E5A14 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 027E5A18 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5A1C */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5A1C */ rbrew_write32(cpu->mem, _t74, cpu->r[30]);
|
|
/* 027E5A20 */ cpu->r[0] = cpu->r[0] + 0xFFFFFACCu;
|
|
/* 027E5A24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A28 */ _t75 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A28 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 027E5A2C */ Gambit_fn_027E5554(cpu);
|
|
/* 027E5A30 */ _t76 = cpu->r[31] + 0x00000008u;
|
|
/* 027E5A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027E5A34 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 027E5A38 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5A3C */ _t77 = cpu->r[31] + 0x00000008u;
|
|
/* 027E5A3C */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
/* 027E5A40 */ cpu->r[0] = cpu->r[0] + 0xFFFFFAD8u;
|
|
/* 027E5A44 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5A44 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 027E5A48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A4C */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5A4C */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 027E5A50 */ Gambit_fn_027E5554(cpu);
|
|
/* 027E5A54 */ _t80 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5A54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027E5A58 */ cpu->r[9] = cpu->r[9] + cpu->r[3];
|
|
/* 027E5A5C */ _t81 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5A5C */ rbrew_write32(cpu->mem, _t81, cpu->r[9]);
|
|
L_027E5A60: ; // 0x27e5a60
|
|
/* 027E5A60 */ /* nop */
|
|
/* 027E5A64 */ _t82 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E5A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027E5A68 */ cpu->lr = cpu->r[0];
|
|
/* 027E5A6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E5A70 */ return;
|
|
}
|
|
|
|
// fn_027E5A74 @ 0x27e5a74
|
|
void Gambit_fn_027E5A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027E5A74: ; // 0x27e5a74
|
|
/* 027E5A74 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5A78 */ _t0 = cpu->r[12] + 0xFFFFFAE4u;
|
|
/* 027E5A78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E5A7C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5A80 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E5A84 */ _t1 = cpu->r[12] + 0xFFFFFAE8u;
|
|
/* 027E5A84 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E5A88 */ _t2 = cpu->r[11] + 0x000037B8u;
|
|
/* 027E5A88 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 027E5A88 */ cpu->r[11] = _t2;
|
|
/* 027E5A8C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5A90 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 027E5A90 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[9]);
|
|
/* 027E5A94 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5A98 */ _t4 = cpu->r[12] + 0xFFFFFAF4u;
|
|
/* 027E5A98 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E5A9C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5AA0 */ _t5 = cpu->r[11] + 0xFFFFFAF8u;
|
|
/* 027E5AA0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E5AA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5AA8 */ _t6 = cpu->r[12] + 0xFFFFFAECu;
|
|
/* 027E5AA8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E5AAC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5AB0 */ _t7 = cpu->r[11] + 0xFFFFFAF0u;
|
|
/* 027E5AB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027E5AB4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5AB8 */ _t8 = cpu->r[12] + 0xFFFFF9B0u;
|
|
/* 027E5AB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E5ABC */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E5AC0 */ _t9 = cpu->r[11] + 0xFFFFFAFCu;
|
|
/* 027E5AC0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027E5AC4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027E5AC8 */ _t10 = cpu->r[10] + 0x000037C8u;
|
|
/* 027E5AC8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027E5AC8 */ cpu->r[10] = _t10;
|
|
/* 027E5ACC */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 027E5ACC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 027E5AD0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E5AD4 */ _t12 = cpu->r[11] + 0x000037D0u;
|
|
/* 027E5AD4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 027E5AD4 */ cpu->r[11] = _t12;
|
|
/* 027E5AD8 */ _t13 = cpu->r[12] + 0x000037C0u;
|
|
/* 027E5AD8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[10]);
|
|
/* 027E5AD8 */ cpu->r[12] = _t13;
|
|
/* 027E5ADC */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 027E5ADC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 027E5AE0 */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 027E5AE0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[8]);
|
|
/* 027E5AE4 */ return;
|
|
}
|
|
|
|
// fn_027E5AE8 @ 0x27e5ae8
|
|
void Gambit_fn_027E5AE8(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_027E5AE8: ; // 0x27e5ae8
|
|
/* 027E5AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5AEC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5AEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E5AEC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E5AEC */ goto L_027E5AF0;
|
|
L_027E5AF0: ; // 0x27e5af0
|
|
/* 027E5AF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5AF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5AF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E5AF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E5AF4 */ goto L_027E5AF8;
|
|
L_027E5AF8: ; // 0x27e5af8
|
|
/* 027E5AF8 */ 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_027E5B00 @ 0x27e5b00
|
|
void Gambit_fn_027E5B00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E5B00: ; // 0x27e5b00
|
|
/* 027E5B00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5B00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5B00 */ cpu->r[1] = _t0;
|
|
/* 027E5B04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5B08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5B0C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E5B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5B10 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5B14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5B18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5B18 */ if (_t5) goto L_027E5B5C; else goto L_027E5B1C;
|
|
L_027E5B1C: ; // 0x27e5b1c
|
|
/* 027E5B1C */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5B20 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027E5B24 */ cpu->r[0] = cpu->r[0] + 0xFFFFF978u;
|
|
/* 027E5B28 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5B2C */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5B2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E5B30 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5B34 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027E5B38 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5B3C */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5B40 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5B44 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E5B48 */ Gambit_fn_028136EC(cpu);
|
|
/* 027E5B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5B50 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B50 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E5B50 */ if (_t8) goto L_027E5B5C; else goto L_027E5B54;
|
|
L_027E5B54: ; // 0x27e5b54
|
|
/* 027E5B54 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5B58 */ Gambit_fn_02801BB0(cpu);
|
|
L_027E5B5C: ; // 0x27e5b5c
|
|
/* 027E5B5C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5B60 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5B64 */ cpu->lr = cpu->r[0];
|
|
/* 027E5B68 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5B6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5B70 */ return;
|
|
}
|
|
|
|
// fn_027E5B74 @ 0x27e5b74
|
|
void Gambit_fn_027E5B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027E5B74: ; // 0x27e5b74
|
|
/* 027E5B74 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5B78 */ cpu->r[1] = _t0;
|
|
/* 027E5B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5B80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5B84 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E5B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5B88 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5B8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5B90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5B90 */ if (_t5) goto L_027E5C00; else goto L_027E5B94;
|
|
L_027E5B94: ; // 0x27e5b94
|
|
/* 027E5B94 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5B98 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027E5B9C */ cpu->r[12] = cpu->r[12] + 0xFFFFFBC8u;
|
|
/* 027E5BA0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BA4 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E5BA8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD8u;
|
|
/* 027E5BAC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BB0 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027E5BB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E5BB4 */ Gambit_fn_027E4F70(cpu);
|
|
/* 027E5BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5BBC */ if (_t9) goto L_027E5BF0; else goto L_027E5BC0;
|
|
L_027E5BC0: ; // 0x27e5bc0
|
|
/* 027E5BC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BC4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027E5BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF978u;
|
|
/* 027E5BCC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BD0 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E5BD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BD8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027E5BDC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E5BEC */ Gambit_fn_028136EC(cpu);
|
|
L_027E5BF0: ; // 0x27e5bf0
|
|
/* 027E5BF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E5BF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BF4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E5BF4 */ if (_t12) goto L_027E5C00; else goto L_027E5BF8;
|
|
L_027E5BF8: ; // 0x27e5bf8
|
|
/* 027E5BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BFC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E5C00: ; // 0x27e5c00
|
|
/* 027E5C00 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5C04 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5C08 */ cpu->lr = cpu->r[0];
|
|
/* 027E5C0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E5C10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5C14 */ return;
|
|
}
|
|
|
|
// fn_027E5B78 @ 0x27e5b78
|
|
void Gambit_fn_027E5B78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027E5B78: ; // 0x27e5b78
|
|
/* 027E5B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5B78 */ cpu->r[1] = _t0;
|
|
/* 027E5B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5B80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5B80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5B84 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E5B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5B88 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E5B8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5B8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5B90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5B90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5B90 */ if (_t5) goto L_027E5C00; else goto L_027E5B94;
|
|
L_027E5B94: ; // 0x27e5b94
|
|
/* 027E5B94 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5B98 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 027E5B9C */ cpu->r[12] = cpu->r[12] + 0xFFFFFBC8u;
|
|
/* 027E5BA0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BA4 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E5BA8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD8u;
|
|
/* 027E5BAC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BB0 */ _t7 = cpu->r[30] + 0x00000154u;
|
|
/* 027E5BB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E5BB4 */ Gambit_fn_027E4F70(cpu);
|
|
/* 027E5BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E5BBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5BBC */ if (_t9) goto L_027E5BF0; else goto L_027E5BC0;
|
|
L_027E5BC0: ; // 0x27e5bc0
|
|
/* 027E5BC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5BC4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 027E5BC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF978u;
|
|
/* 027E5BCC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BD0 */ _t10 = cpu->r[30] + 0x00000020u;
|
|
/* 027E5BD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E5BD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BD8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 027E5BDC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5BE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 027E5BE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E5BEC */ Gambit_fn_028136EC(cpu);
|
|
L_027E5BF0: ; // 0x27e5bf0
|
|
/* 027E5BF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E5BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E5BF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5BF4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E5BF4 */ if (_t12) goto L_027E5C00; else goto L_027E5BF8;
|
|
L_027E5BF8: ; // 0x27e5bf8
|
|
/* 027E5BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E5BFC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E5C00: ; // 0x27e5c00
|
|
/* 027E5C00 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5C04 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5C08 */ cpu->lr = cpu->r[0];
|
|
/* 027E5C0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E5C10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5C14 */ return;
|
|
}
|
|
|
|
// fn_027E5C18 @ 0x27e5c18
|
|
void Gambit_fn_027E5C18(CPUState* cpu) {
|
|
L_027E5C18: ; // 0x27e5c18
|
|
/* 027E5C18 */ return;
|
|
}
|
|
|
|
// fn_027E5C1C @ 0x27e5c1c
|
|
void Gambit_fn_027E5C1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027E5C1C: ; // 0x27e5c1c
|
|
/* 027E5C1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E5C20 */ _t0 = cpu->r[12] + 0xFFFFDAE4u;
|
|
/* 027E5C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E5C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E5C28 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E5C2C */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 027E5C30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5C30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027E5C30 */ if (_t2) goto L_027E5C34; else goto L_027E5C4C;
|
|
L_027E5C34: ; // 0x27e5c34
|
|
/* 027E5C34 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E5C38 */ cpu->r[9] = 0x00000001u;
|
|
/* 027E5C3C */ cpu->r[8] = 0x101D0000u;
|
|
/* 027E5C40 */ cpu->r[0] = cpu->r[0] + 0xFFFFF988u;
|
|
/* 027E5C44 */ _t3 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 027E5C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027E5C48 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027E5C48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_027E5C4C: ; // 0x27e5c4c
|
|
/* 027E5C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027E5C50 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5C50 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E5C50 */ if (_t6) goto L_027E5C54; else goto L_027E5C5C;
|
|
L_027E5C54: ; // 0x27e5c54
|
|
/* 027E5C54 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E5C58 */ return;
|
|
L_027E5C5C: ; // 0x27e5c5c
|
|
/* 027E5C5C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E5C60 */ _t7 = cpu->r[11] + 0xFFFFD868u;
|
|
/* 027E5C60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E5C60 */ cpu->r[11] = _t7;
|
|
/* 027E5C64 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027E5C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E5C6C */ cpu->r[10] = cpu->r[10] + 0xFFFFDD70u;
|
|
/* 027E5C70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5C70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5C70 */ if (_t9) goto L_027E5C74; else goto L_027E5C88;
|
|
L_027E5C74: ; // 0x27e5c74
|
|
/* 027E5C74 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5C78 */ cpu->r[9] = 0x00000001u;
|
|
/* 027E5C7C */ cpu->r[12] = cpu->r[12] + 0xFFFFF958u;
|
|
/* 027E5C80 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 027E5C80 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E5C84 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 027E5C84 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_027E5C88: ; // 0x27e5c88
|
|
/* 027E5C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 027E5C8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5C8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E5C8C */ if (_t13) goto L_027E5C90; else goto L_027E5C98;
|
|
L_027E5C90: ; // 0x27e5c90
|
|
/* 027E5C90 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E5C94 */ goto L_027E5CD0;
|
|
L_027E5C98: ; // 0x27e5c98
|
|
/* 027E5C98 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027E5C9C */ _t14 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 027E5C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5C9C */ cpu->r[8] = _t14;
|
|
/* 027E5CA0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E5CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E5CA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 027E5CAC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5CAC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E5CAC */ if (_t16) goto L_027E5CB0; else goto L_027E5CC4;
|
|
L_027E5CB0: ; // 0x27e5cb0
|
|
/* 027E5CB0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E5CB4 */ cpu->r[9] = 0x00000001u;
|
|
/* 027E5CB8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF930u;
|
|
/* 027E5CBC */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 027E5CBC */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027E5CC0 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027E5CC0 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_027E5CC4: ; // 0x27e5cc4
|
|
/* 027E5CC4 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027E5CC8 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027E5CCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027E5CD0: ; // 0x27e5cd0
|
|
/* 027E5CD0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027E5CD4 */ return;
|
|
}
|
|
|
|
// fn_027E5CD8 @ 0x27e5cd8
|
|
void Gambit_fn_027E5CD8(CPUState* cpu) {
|
|
L_027E5CD8: ; // 0x27e5cd8
|
|
/* 027E5CD8 */ return;
|
|
}
|
|
|
|
// fn_027E5CDC @ 0x27e5cdc
|
|
void Gambit_fn_027E5CDC(CPUState* cpu) {
|
|
L_027E5CDC: ; // 0x27e5cdc
|
|
/* 027E5CDC */ return;
|
|
}
|
|
|
|
// fn_027E5CE0 @ 0x27e5ce0
|
|
void Gambit_fn_027E5CE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E5CE0: ; // 0x27e5ce0
|
|
/* 027E5CE0 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5CE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E5CE4 */ cpu->r[11] = 0x00000002u;
|
|
/* 027E5CE8 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5CE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 027E5CEC */ _t2 = cpu->r[12] + 0x00000024u;
|
|
/* 027E5CEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E5CF0 */ cpu->ctr = cpu->r[0];
|
|
/* 027E5CF4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027E5CFC @ 0x27e5cfc
|
|
void Gambit_fn_027E5CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E5CFC: ; // 0x27e5cfc
|
|
/* 027E5CFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5CFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5CFC */ cpu->r[1] = _t0;
|
|
/* 027E5D00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5D04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E5D08 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 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 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5D18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5D18 */ if (_t5) goto L_027E5D3C; else goto L_027E5D1C;
|
|
L_027E5D1C: ; // 0x27e5d1c
|
|
/* 027E5D1C */ cpu->r[9] = 0x00000000u;
|
|
/* 027E5D20 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5D20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E5D24 */ cpu->r[0] = 0x00000003u;
|
|
/* 027E5D28 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5D28 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 027E5D2C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E5D30 */ _t9 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027E5D30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5D34 */ cpu->ctr = cpu->r[12];
|
|
/* 027E5D38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E5D3C: ; // 0x27e5d3c
|
|
/* 027E5D3C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5D40 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5D44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5D48 */ cpu->lr = cpu->r[0];
|
|
/* 027E5D4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5D50 */ return;
|
|
}
|
|
|
|
// fn_027E5D58 @ 0x27e5d58
|
|
void Gambit_fn_027E5D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_027E5D58: ; // 0x27e5d58
|
|
/* 027E5D58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5D58 */ cpu->r[1] = _t0;
|
|
/* 027E5D5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5D60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E5D64 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 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 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5D70 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5D70 */ if (_t5) goto L_027E5D94; else goto L_027E5D74;
|
|
L_027E5D74: ; // 0x27e5d74
|
|
/* 027E5D74 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E5D78 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 027E5D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E5D7C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E5D80 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027E5D80 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 027E5D84 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E5D84 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E5D88 */ _t9 = cpu->r[10] + 0x00000034u;
|
|
/* 027E5D88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5D8C */ cpu->ctr = cpu->r[11];
|
|
/* 027E5D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E5D94: ; // 0x27e5d94
|
|
/* 027E5D94 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5D98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5D9C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5D9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E5DA0 */ cpu->lr = cpu->r[0];
|
|
/* 027E5DA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5DA8 */ return;
|
|
}
|
|
|
|
// fn_027E5E50 @ 0x27e5e50
|
|
void Gambit_fn_027E5E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E5E50: ; // 0x27e5e50
|
|
/* 027E5E50 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5E54 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 027E5E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5E54 */ cpu->r[1] = _t0;
|
|
/* 027E5E58 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 027E5E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5E60 */ _t2 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E5E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E5E64 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E5E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027E5E6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5E6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5E6C */ if (_t5) goto L_027E5FB4; else goto L_027E5E70;
|
|
L_027E5E70: ; // 0x27e5e70
|
|
/* 027E5E70 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E74 */ Gambit_fn_0281E19C(cpu);
|
|
/* 027E5E78 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E5E7C */ _t6 = cpu->r[1] + 0x00000021u;
|
|
/* 027E5E7C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[7]);
|
|
/* 027E5E80 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E84 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E84 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[7]);
|
|
/* 027E5E88 */ Gambit_fn_0281E2C8(cpu);
|
|
/* 027E5E8C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E5E8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E5E90 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 027E5E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5E94 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 027E5E94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5E98 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E5E98 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027E5E9C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5E9C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E5EA0 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5EA4 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 027E5EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5EA8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027E5EA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 027E5EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 027E5EB0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5EB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027E5EB4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5EB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E5EB4 */ if (_t18) goto L_027E5EB8; else goto L_027E5F14;
|
|
L_027E5EB8: ; // 0x27e5eb8
|
|
/* 027E5EB8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5EBC */ _t19 = cpu->r[12] + 0xFFFFFC88u;
|
|
/* 027E5EBC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027E5EC0 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 027E5EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E5EC4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E5EC8 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E5ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 027E5ED0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5ED0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5ED0 */ if (_t23) goto L_027E5ED4; else goto L_027E5ED8;
|
|
L_027E5ED4: ; // 0x27e5ed4
|
|
/* 027E5ED4 */ cpu->r[12] = 0x00000001u;
|
|
L_027E5ED8: ; // 0x27e5ed8
|
|
/* 027E5ED8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5ED8 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027E5EDC */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5EE0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EE0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027E5EE4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EE4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 027E5EE8 */ cpu->r[8] = cpu->r[12] ^ 0x80000000u;
|
|
/* 027E5EEC */ _t27 = cpu->r[11] + 0xFFFFFC80u;
|
|
/* 027E5EEC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 027E5EF0 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5EF0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027E5EF4 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EF4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 027E5EF8 */ cpu->f[11] = cpu->f[12] - cpu->f[0];
|
|
/* 027E5EFC */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 027E5F00 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 027E5F04 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 027E5F08 */ cpu->f[13] = cpu->f[0] / cpu->f[11];
|
|
/* 027E5F0C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5F0C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 027E5F10 */ goto L_027E5F80;
|
|
L_027E5F14: ; // 0x27e5f14
|
|
/* 027E5F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E5F18 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5F18 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E5F18 */ if (_t32) goto L_027E5F1C; else goto L_027E5F80;
|
|
L_027E5F1C: ; // 0x27e5f1c
|
|
/* 027E5F1C */ _t33 = cpu->r[31] + 0x00000008u;
|
|
/* 027E5F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E5F20 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E5F24 */ cpu->r[12] = 0x43300000u;
|
|
/* 027E5F28 */ _t34 = cpu->r[10] + 0xFFFFFC88u;
|
|
/* 027E5F28 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 027E5F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E5F30 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5F30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E5F34 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5F34 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E5F34 */ if (_t37) goto L_027E5F38; else goto L_027E5F3C;
|
|
L_027E5F38: ; // 0x27e5f38
|
|
/* 027E5F38 */ cpu->r[0] = 0x00000001u;
|
|
L_027E5F3C: ; // 0x27e5f3c
|
|
/* 027E5F3C */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F3C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 027E5F40 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E5F44 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5F44 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 027E5F48 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F48 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 027E5F4C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E5F50 */ _t41 = cpu->r[9] + 0xFFFFFC80u;
|
|
/* 027E5F50 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 027E5F54 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5F54 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027E5F58 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F58 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 027E5F5C */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 027E5F60 */ cpu->f[13] = cpu->f[10] - cpu->f[11];
|
|
/* 027E5F64 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027E5F68 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 027E5F6C */ cpu->r[7] = 0x10110000u;
|
|
/* 027E5F70 */ cpu->f[11] = cpu->f[0] / cpu->f[12];
|
|
/* 027E5F74 */ _t44 = cpu->r[7] + 0xFFFFFC90u;
|
|
/* 027E5F74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027E5F78 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 027E5F7C */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5F7C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
L_027E5F80: ; // 0x27e5f80
|
|
/* 027E5F80 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5F84 */ Gambit_fn_0281C814(cpu);
|
|
/* 027E5F88 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5F8C */ Gambit_fn_0281BC78(cpu);
|
|
/* 027E5F90 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E5F94 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027E5F98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5F9C */ cpu->r[6] = 0x00000004u;
|
|
/* 027E5FA0 */ cpu->r[4] = cpu->r[4] + 0x00005E30u;
|
|
/* 027E5FA4 */ Gambit_fn_02943A4C(cpu);
|
|
/* 027E5FA8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5FAC */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5FB0 */ Gambit_fn_0281CB84(cpu);
|
|
L_027E5FB4: ; // 0x27e5fb4
|
|
/* 027E5FB4 */ _t46 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E5FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E5FB8 */ _t47 = cpu->r[1] + 0x00000144u;
|
|
/* 027E5FB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E5FBC */ cpu->lr = cpu->r[0];
|
|
/* 027E5FC0 */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 027E5FC4 */ return;
|
|
}
|
|
|
|
// fn_027E5E54 @ 0x27e5e54
|
|
void Gambit_fn_027E5E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E5E54: ; // 0x27e5e54
|
|
/* 027E5E54 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 027E5E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5E54 */ cpu->r[1] = _t0;
|
|
/* 027E5E58 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 027E5E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5E5C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5E60 */ _t2 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E5E60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E5E64 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E5E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027E5E6C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5E6C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5E6C */ if (_t5) goto L_027E5FB4; else goto L_027E5E70;
|
|
L_027E5E70: ; // 0x27e5e70
|
|
/* 027E5E70 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E74 */ Gambit_fn_0281E19C(cpu);
|
|
/* 027E5E78 */ cpu->r[7] = 0x00000000u;
|
|
/* 027E5E7C */ _t6 = cpu->r[1] + 0x00000021u;
|
|
/* 027E5E7C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[7]);
|
|
/* 027E5E80 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E84 */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 027E5E84 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[7]);
|
|
/* 027E5E88 */ Gambit_fn_0281E2C8(cpu);
|
|
/* 027E5E8C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E5E8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E5E90 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 027E5E90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E5E94 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 027E5E94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E5E98 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E5E98 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027E5E9C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5E9C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E5EA0 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E5EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E5EA4 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 027E5EA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E5EA8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027E5EA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 027E5EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 027E5EB0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5EB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027E5EB4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5EB4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E5EB4 */ if (_t18) goto L_027E5EB8; else goto L_027E5F14;
|
|
L_027E5EB8: ; // 0x27e5eb8
|
|
/* 027E5EB8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E5EBC */ _t19 = cpu->r[12] + 0xFFFFFC88u;
|
|
/* 027E5EBC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027E5EC0 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 027E5EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E5EC4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E5EC8 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E5ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 027E5ED0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5ED0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E5ED0 */ if (_t23) goto L_027E5ED4; else goto L_027E5ED8;
|
|
L_027E5ED4: ; // 0x27e5ed4
|
|
/* 027E5ED4 */ cpu->r[12] = 0x00000001u;
|
|
L_027E5ED8: ; // 0x27e5ed8
|
|
/* 027E5ED8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5ED8 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027E5EDC */ cpu->r[11] = 0x10110000u;
|
|
/* 027E5EE0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EE0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027E5EE4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EE4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 027E5EE8 */ cpu->r[8] = cpu->r[12] ^ 0x80000000u;
|
|
/* 027E5EEC */ _t27 = cpu->r[11] + 0xFFFFFC80u;
|
|
/* 027E5EEC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 027E5EF0 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5EF0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027E5EF4 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5EF4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 027E5EF8 */ cpu->f[11] = cpu->f[12] - cpu->f[0];
|
|
/* 027E5EFC */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 027E5F00 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 027E5F04 */ cpu->f[11] = (double)(float)cpu->f[12];
|
|
/* 027E5F08 */ cpu->f[13] = cpu->f[0] / cpu->f[11];
|
|
/* 027E5F0C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5F0C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 027E5F10 */ goto L_027E5F80;
|
|
L_027E5F14: ; // 0x27e5f14
|
|
/* 027E5F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E5F18 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5F18 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E5F18 */ if (_t32) goto L_027E5F1C; else goto L_027E5F80;
|
|
L_027E5F1C: ; // 0x27e5f1c
|
|
/* 027E5F1C */ _t33 = cpu->r[31] + 0x00000008u;
|
|
/* 027E5F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E5F20 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E5F24 */ cpu->r[12] = 0x43300000u;
|
|
/* 027E5F28 */ _t34 = cpu->r[10] + 0xFFFFFC88u;
|
|
/* 027E5F28 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 027E5F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027E5F30 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 027E5F30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E5F34 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E5F34 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E5F34 */ if (_t37) goto L_027E5F38; else goto L_027E5F3C;
|
|
L_027E5F38: ; // 0x27e5f38
|
|
/* 027E5F38 */ cpu->r[0] = 0x00000001u;
|
|
L_027E5F3C: ; // 0x27e5f3c
|
|
/* 027E5F3C */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F3C */ rbrew_write32(cpu->mem, _t38, cpu->r[12]);
|
|
/* 027E5F40 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E5F44 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5F44 */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 027E5F48 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F48 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 027E5F4C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E5F50 */ _t41 = cpu->r[9] + 0xFFFFFC80u;
|
|
/* 027E5F50 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 027E5F54 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5F54 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027E5F58 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5F58 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 027E5F5C */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 027E5F60 */ cpu->f[13] = cpu->f[10] - cpu->f[11];
|
|
/* 027E5F64 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027E5F68 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 027E5F6C */ cpu->r[7] = 0x10110000u;
|
|
/* 027E5F70 */ cpu->f[11] = cpu->f[0] / cpu->f[12];
|
|
/* 027E5F74 */ _t44 = cpu->r[7] + 0xFFFFFC90u;
|
|
/* 027E5F74 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027E5F78 */ cpu->f[13] = cpu->f[12] - cpu->f[11];
|
|
/* 027E5F7C */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E5F7C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
L_027E5F80: ; // 0x27e5f80
|
|
/* 027E5F80 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5F84 */ Gambit_fn_0281C814(cpu);
|
|
/* 027E5F88 */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5F8C */ Gambit_fn_0281BC78(cpu);
|
|
/* 027E5F90 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E5F94 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027E5F98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E5F9C */ cpu->r[6] = 0x00000004u;
|
|
/* 027E5FA0 */ cpu->r[4] = cpu->r[4] + 0x00005E30u;
|
|
/* 027E5FA4 */ Gambit_fn_02943A4C(cpu);
|
|
/* 027E5FA8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E5FAC */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 027E5FB0 */ Gambit_fn_0281CB84(cpu);
|
|
L_027E5FB4: ; // 0x27e5fb4
|
|
/* 027E5FB4 */ _t46 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E5FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E5FB8 */ _t47 = cpu->r[1] + 0x00000144u;
|
|
/* 027E5FB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E5FBC */ cpu->lr = cpu->r[0];
|
|
/* 027E5FC0 */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 027E5FC4 */ return;
|
|
}
|
|
|
|
// fn_027E5FC8 @ 0x27e5fc8
|
|
void Gambit_fn_027E5FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027E5FC8: ; // 0x27e5fc8
|
|
/* 027E5FC8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E5FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5FCC */ cpu->r[1] = _t0;
|
|
/* 027E5FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5FD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5FD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5FD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5FDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5FDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5FE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5FE0 */ if (_t5) goto L_027E5FE4; else goto L_027E5FF4;
|
|
L_027E5FE4: ; // 0x27e5fe4
|
|
/* 027E5FE4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027E5FE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E5FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5FF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E5FF0 */ if (_t7) goto L_027E6068; else goto L_027E5FF4;
|
|
L_027E5FF4: ; // 0x27e5ff4
|
|
/* 027E5FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5FF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E5FFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5FFC */ if (_t9) goto L_027E6000; else goto L_027E6010;
|
|
L_027E6000: ; // 0x27e6000
|
|
/* 027E6000 */ cpu->r[3] = 0x00000014u;
|
|
/* 027E6004 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E600C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E600C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E600C */ if (_t11) goto L_027E6030; else goto L_027E6010;
|
|
L_027E6010: ; // 0x27e6010
|
|
/* 027E6010 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E6010 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E6014 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E6018 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 027E6018 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 027E601C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E6020 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E6020 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E6024 */ cpu->r[12] = cpu->r[12] + 0xFFFFFC30u;
|
|
/* 027E6028 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6028 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027E602C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 027E602C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_027E6030: ; // 0x27e6030
|
|
/* 027E6030 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6034 */ cpu->r[8] = cpu->r[8] + 0xFFFFFC98u;
|
|
/* 027E6038 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E603C */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 027E603C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 027E6040 */ _t18 = cpu->r[9] + 0x00005BECu;
|
|
/* 027E6040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E6040 */ cpu->r[9] = _t18;
|
|
/* 027E6044 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 027E6044 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027E6048 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 027E6048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E604C */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 027E604C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 027E6050 */ _t22 = cpu->r[9] + 0x00000008u;
|
|
/* 027E6050 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E6054 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E6054 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 027E6058 */ _t24 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E6058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E605C */ _t25 = cpu->r[31] + 0x00000024u;
|
|
/* 027E605C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 027E6060 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 027E6060 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 027E6064 */ _t27 = cpu->r[31] + 0x00000028u;
|
|
/* 027E6064 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
L_027E6068: ; // 0x27e6068
|
|
/* 027E6068 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E606C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6070 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E6074 */ cpu->lr = cpu->r[0];
|
|
/* 027E6078 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E607C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6080 */ return;
|
|
}
|
|
|
|
// fn_027E5FCC @ 0x27e5fcc
|
|
void Gambit_fn_027E5FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027E5FCC: ; // 0x27e5fcc
|
|
/* 027E5FCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E5FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E5FCC */ cpu->r[1] = _t0;
|
|
/* 027E5FD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E5FD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E5FD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E5FD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E5FD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5FDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E5FDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E5FE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E5FE0 */ if (_t5) goto L_027E5FE4; else goto L_027E5FF4;
|
|
L_027E5FE4: ; // 0x27e5fe4
|
|
/* 027E5FE4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 027E5FE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E5FEC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E5FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E5FF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E5FF0 */ if (_t7) goto L_027E6068; else goto L_027E5FF4;
|
|
L_027E5FF4: ; // 0x27e5ff4
|
|
/* 027E5FF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E5FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E5FF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E5FFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E5FFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E5FFC */ if (_t9) goto L_027E6000; else goto L_027E6010;
|
|
L_027E6000: ; // 0x27e6000
|
|
/* 027E6000 */ cpu->r[3] = 0x00000014u;
|
|
/* 027E6004 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E600C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E600C */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E600C */ if (_t11) goto L_027E6030; else goto L_027E6010;
|
|
L_027E6010: ; // 0x27e6010
|
|
/* 027E6010 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E6010 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E6014 */ cpu->r[0] = 0x00000002u;
|
|
/* 027E6018 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 027E6018 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 027E601C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E6020 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E6020 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E6024 */ cpu->r[12] = cpu->r[12] + 0xFFFFFC30u;
|
|
/* 027E6028 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6028 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 027E602C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 027E602C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
L_027E6030: ; // 0x27e6030
|
|
/* 027E6030 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6034 */ cpu->r[8] = cpu->r[8] + 0xFFFFFC98u;
|
|
/* 027E6038 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027E603C */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 027E603C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 027E6040 */ _t18 = cpu->r[9] + 0x00005BECu;
|
|
/* 027E6040 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E6040 */ cpu->r[9] = _t18;
|
|
/* 027E6044 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 027E6044 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027E6048 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 027E6048 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E604C */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 027E604C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 027E6050 */ _t22 = cpu->r[9] + 0x00000008u;
|
|
/* 027E6050 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E6054 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E6054 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 027E6058 */ _t24 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E6058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E605C */ _t25 = cpu->r[31] + 0x00000024u;
|
|
/* 027E605C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 027E6060 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 027E6060 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 027E6064 */ _t27 = cpu->r[31] + 0x00000028u;
|
|
/* 027E6064 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
L_027E6068: ; // 0x27e6068
|
|
/* 027E6068 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E606C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6070 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E6074 */ cpu->lr = cpu->r[0];
|
|
/* 027E6078 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E607C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6080 */ return;
|
|
}
|
|
|
|
// fn_027E6084 @ 0x27e6084
|
|
void Gambit_fn_027E6084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E6084: ; // 0x27e6084
|
|
/* 027E6084 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 027E6084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E6088 */ cpu->r[0] = 0x101D0000u;
|
|
/* 027E608C */ cpu->r[0] = cpu->r[0] + 0xFFFF97C4u;
|
|
/* 027E6090 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6094 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 027E6094 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E6098 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6098 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E609C */ return;
|
|
}
|
|
|
|
// fn_027E60A0 @ 0x27e60a0
|
|
void Gambit_fn_027E60A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E60A0: ; // 0x27e60a0
|
|
/* 027E60A0 */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 027E60A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E60A4 */ cpu->r[0] = 0x101D0000u;
|
|
/* 027E60A8 */ cpu->r[0] = cpu->r[0] + 0xFFFF97C4u;
|
|
/* 027E60AC */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E60B0 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 027E60B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E60B4 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 027E60B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027E60B8 */ return;
|
|
}
|
|
|
|
// fn_027E60BC @ 0x27e60bc
|
|
void Gambit_fn_027E60BC(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_027E60BC: ; // 0x27e60bc
|
|
/* 027E60BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E60C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E60C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E60C0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E60C0 */ goto L_027E60C4;
|
|
L_027E60C4: ; // 0x27e60c4
|
|
/* 027E60C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E60C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E60C8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E60C8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E60C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E60C8 */ goto L_027E60CC;
|
|
L_027E60CC: ; // 0x27e60cc
|
|
/* 027E60CC */ 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_027E60D0 @ 0x27e60d0
|
|
void Gambit_fn_027E60D0(CPUState* cpu) {
|
|
L_027E60D0: ; // 0x27e60d0
|
|
/* 027E60D0 */ return;
|
|
}
|
|
|
|
// fn_027E60D4 @ 0x27e60d4
|
|
void Gambit_fn_027E60D4(CPUState* cpu) {
|
|
L_027E60D4: ; // 0x27e60d4
|
|
/* 027E60D4 */ return;
|
|
}
|
|
|
|
// fn_027E60D8 @ 0x27e60d8
|
|
void Gambit_fn_027E60D8(CPUState* cpu) {
|
|
L_027E60D8: ; // 0x27e60d8
|
|
/* 027E60D8 */ return;
|
|
}
|
|
|
|
// fn_027E60DC @ 0x27e60dc
|
|
void Gambit_fn_027E60DC(CPUState* cpu) {
|
|
L_027E60DC: ; // 0x27e60dc
|
|
/* 027E60DC */ return;
|
|
}
|
|
|
|
// fn_027E60E0 @ 0x27e60e0
|
|
void Gambit_fn_027E60E0(CPUState* cpu) {
|
|
L_027E60E0: ; // 0x27e60e0
|
|
/* 027E60E0 */ return;
|
|
}
|
|
|
|
// fn_027E60E4 @ 0x27e60e4
|
|
void Gambit_fn_027E60E4(CPUState* cpu) {
|
|
L_027E60E4: ; // 0x27e60e4
|
|
/* 027E60E4 */ return;
|
|
}
|
|
|
|
// fn_027E60E8 @ 0x27e60e8
|
|
void Gambit_fn_027E60E8(CPUState* cpu) {
|
|
L_027E60E8: ; // 0x27e60e8
|
|
/* 027E60E8 */ return;
|
|
}
|
|
|
|
// fn_027E60EC @ 0x27e60ec
|
|
void Gambit_fn_027E60EC(CPUState* cpu) {
|
|
L_027E60EC: ; // 0x27e60ec
|
|
/* 027E60EC */ return;
|
|
}
|
|
|
|
// fn_027E60F0 @ 0x27e60f0
|
|
void Gambit_fn_027E60F0(CPUState* cpu) {
|
|
L_027E60F0: ; // 0x27e60f0
|
|
/* 027E60F0 */ return;
|
|
}
|
|
|
|
// fn_027E60F4 @ 0x27e60f4
|
|
void Gambit_fn_027E60F4(CPUState* 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_027E60F4: ; // 0x27e60f4
|
|
/* 027E60F4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E60F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E60F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E60F8 */ cpu->r[1] = _t0;
|
|
/* 027E60FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E60FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6100 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6100 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6104 */ _t3 = cpu->r[3] + 0x00000048u;
|
|
/* 027E6104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E610C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E610C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E610C */ if (_t5) goto L_027E6178; else goto L_027E6110;
|
|
L_027E6110: ; // 0x27e6110
|
|
/* 027E6110 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E6114 */ _t6 = cpu->r[9] + 0xFFFFD840u;
|
|
/* 027E6114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E6114 */ cpu->r[9] = _t6;
|
|
/* 027E6118 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E6120 */ cpu->r[4] = cpu->r[4] + 0x0000141Cu;
|
|
/* 027E6124 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6124 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E6124 */ if (_t8) goto L_027E6128; else goto L_027E613C;
|
|
L_027E6128: ; // 0x27e6128
|
|
/* 027E6128 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E612C */ cpu->r[12] = 0x00000001u;
|
|
/* 027E6130 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD24u;
|
|
/* 027E6134 */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E6134 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027E6138 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6138 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027E613C: ; // 0x27e613c
|
|
/* 027E613C */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 027E613C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E6140 */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E6140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E6144 */ cpu->ctr = cpu->r[10];
|
|
/* 027E6148 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E614C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6154 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6154 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E6154 */ if (_t14) goto L_027E6178; else goto L_027E6158;
|
|
L_027E6158: ; // 0x27e6158
|
|
/* 027E6158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E615C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E615C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E615C */ if (_t16) goto L_027E6178; else goto L_027E6160;
|
|
L_027E6160: ; // 0x27e6160
|
|
/* 027E6160 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6164 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6168 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E616C */ cpu->lr = cpu->r[0];
|
|
/* 027E6170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6174 */ return;
|
|
L_027E6178: ; // 0x27e6178
|
|
/* 027E6178 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E617C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E617C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6180 */ cpu->lr = cpu->r[0];
|
|
/* 027E6184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6188 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E618C */ return;
|
|
}
|
|
|
|
// fn_027E60F8 @ 0x27e60f8
|
|
void Gambit_fn_027E60F8(CPUState* 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_027E60F8: ; // 0x27e60f8
|
|
/* 027E60F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E60F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E60F8 */ cpu->r[1] = _t0;
|
|
/* 027E60FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E60FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6100 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6100 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6104 */ _t3 = cpu->r[3] + 0x00000048u;
|
|
/* 027E6104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E610C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E610C */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E610C */ if (_t5) goto L_027E6178; else goto L_027E6110;
|
|
L_027E6110: ; // 0x27e6110
|
|
/* 027E6110 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E6114 */ _t6 = cpu->r[9] + 0xFFFFD840u;
|
|
/* 027E6114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E6114 */ cpu->r[9] = _t6;
|
|
/* 027E6118 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E6120 */ cpu->r[4] = cpu->r[4] + 0x0000141Cu;
|
|
/* 027E6124 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6124 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E6124 */ if (_t8) goto L_027E6128; else goto L_027E613C;
|
|
L_027E6128: ; // 0x27e6128
|
|
/* 027E6128 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E612C */ cpu->r[12] = 0x00000001u;
|
|
/* 027E6130 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD24u;
|
|
/* 027E6134 */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E6134 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027E6138 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6138 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027E613C: ; // 0x27e613c
|
|
/* 027E613C */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 027E613C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E6140 */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E6140 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E6144 */ cpu->ctr = cpu->r[10];
|
|
/* 027E6148 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E614C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6154 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6154 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E6154 */ if (_t14) goto L_027E6178; else goto L_027E6158;
|
|
L_027E6158: ; // 0x27e6158
|
|
/* 027E6158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E615C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E615C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E615C */ if (_t16) goto L_027E6178; else goto L_027E6160;
|
|
L_027E6160: ; // 0x27e6160
|
|
/* 027E6160 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6164 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6168 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E616C */ cpu->lr = cpu->r[0];
|
|
/* 027E6170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6174 */ return;
|
|
L_027E6178: ; // 0x27e6178
|
|
/* 027E6178 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E617C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E617C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6180 */ cpu->lr = cpu->r[0];
|
|
/* 027E6184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6188 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E618C */ return;
|
|
}
|
|
|
|
// fn_027E6190 @ 0x27e6190
|
|
void Gambit_fn_027E6190(CPUState* 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_027E6190: ; // 0x27e6190
|
|
/* 027E6190 */ cpu->r[0] = cpu->lr;
|
|
/* 027E6194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6194 */ cpu->r[1] = _t0;
|
|
/* 027E6198 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6198 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E619C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E619C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E61A0 */ _t3 = cpu->r[3] + 0x0000004Cu;
|
|
/* 027E61A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E61A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E61A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E61A8 */ if (_t5) goto L_027E6214; else goto L_027E61AC;
|
|
L_027E61AC: ; // 0x27e61ac
|
|
/* 027E61AC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E61B0 */ _t6 = cpu->r[9] + 0xFFFFD850u;
|
|
/* 027E61B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E61B0 */ cpu->r[9] = _t6;
|
|
/* 027E61B4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E61B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E61BC */ cpu->r[4] = cpu->r[4] + 0x000013E0u;
|
|
/* 027E61C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E61C0 */ if (_t8) goto L_027E61C4; else goto L_027E61D8;
|
|
L_027E61C4: ; // 0x27e61c4
|
|
/* 027E61C4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E61C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 027E61CC */ cpu->r[0] = cpu->r[0] + 0xFFFFFD34u;
|
|
/* 027E61D0 */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E61D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027E61D4 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027E61D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027E61D8: ; // 0x27e61d8
|
|
/* 027E61D8 */ _t11 = cpu->r[31] + 0x00000090u;
|
|
/* 027E61D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E61DC */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E61DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E61E0 */ cpu->ctr = cpu->r[10];
|
|
/* 027E61E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E61E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E61EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E61F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E61F0 */ if (_t14) goto L_027E6214; else goto L_027E61F4;
|
|
L_027E61F4: ; // 0x27e61f4
|
|
/* 027E61F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E61F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E61F8 */ if (_t16) goto L_027E6214; else goto L_027E61FC;
|
|
L_027E61FC: ; // 0x27e61fc
|
|
/* 027E61FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027E61FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6200 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6204 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E6208 */ cpu->lr = cpu->r[0];
|
|
/* 027E620C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6210 */ return;
|
|
L_027E6214: ; // 0x27e6214
|
|
/* 027E6214 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E6218 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E621C */ cpu->lr = cpu->r[0];
|
|
/* 027E6220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6224 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E6228 */ return;
|
|
}
|
|
|
|
// fn_027E6194 @ 0x27e6194
|
|
void Gambit_fn_027E6194(CPUState* 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_027E6194: ; // 0x27e6194
|
|
/* 027E6194 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6194 */ cpu->r[1] = _t0;
|
|
/* 027E6198 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6198 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E619C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E619C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E61A0 */ _t3 = cpu->r[3] + 0x0000004Cu;
|
|
/* 027E61A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E61A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E61A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E61A8 */ if (_t5) goto L_027E6214; else goto L_027E61AC;
|
|
L_027E61AC: ; // 0x27e61ac
|
|
/* 027E61AC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E61B0 */ _t6 = cpu->r[9] + 0xFFFFD850u;
|
|
/* 027E61B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E61B0 */ cpu->r[9] = _t6;
|
|
/* 027E61B4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E61B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E61BC */ cpu->r[4] = cpu->r[4] + 0x000013E0u;
|
|
/* 027E61C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E61C0 */ if (_t8) goto L_027E61C4; else goto L_027E61D8;
|
|
L_027E61C4: ; // 0x27e61c4
|
|
/* 027E61C4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E61C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 027E61CC */ cpu->r[0] = cpu->r[0] + 0xFFFFFD34u;
|
|
/* 027E61D0 */ _t9 = cpu->r[9] + 0x00000000u;
|
|
/* 027E61D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 027E61D4 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 027E61D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_027E61D8: ; // 0x27e61d8
|
|
/* 027E61D8 */ _t11 = cpu->r[31] + 0x00000090u;
|
|
/* 027E61D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E61DC */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E61DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E61E0 */ cpu->ctr = cpu->r[10];
|
|
/* 027E61E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E61E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E61EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E61F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E61F0 */ if (_t14) goto L_027E6214; else goto L_027E61F4;
|
|
L_027E61F4: ; // 0x27e61f4
|
|
/* 027E61F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E61F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E61F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E61F8 */ if (_t16) goto L_027E6214; else goto L_027E61FC;
|
|
L_027E61FC: ; // 0x27e61fc
|
|
/* 027E61FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027E61FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6200 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6204 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E6208 */ cpu->lr = cpu->r[0];
|
|
/* 027E620C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6210 */ return;
|
|
L_027E6214: ; // 0x27e6214
|
|
/* 027E6214 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E6218 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E621C */ cpu->lr = cpu->r[0];
|
|
/* 027E6220 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6224 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E6228 */ return;
|
|
}
|
|
|
|
// fn_027E622C @ 0x27e622c
|
|
void Gambit_fn_027E622C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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, _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;
|
|
double _ft44, _ft45;
|
|
|
|
L_027E622C: ; // 0x27e622c
|
|
/* 027E622C */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 027E622C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E622C */ cpu->r[1] = _t0;
|
|
/* 027E6230 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E6230 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 027E6234 */ /* nop */
|
|
/* 027E6238 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 027E6238 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 027E623C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E623C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E6240 */ cpu->r[0] = cpu->lr;
|
|
/* 027E6244 */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6244 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 027E6248 */ /* nop */
|
|
/* 027E624C */ _t5 = cpu->r[1] + 0x00000050u;
|
|
/* 027E624C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 027E6250 */ /* nop */
|
|
/* 027E6254 */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 027E6254 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
|
|
/* 027E6258 */ /* nop */
|
|
/* 027E625C */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 027E625C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
|
|
/* 027E6260 */ /* nop */
|
|
/* 027E6264 */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 027E6264 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 027E6268 */ _t9 = cpu->r[1] + 0x00000048u;
|
|
/* 027E6268 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 027E626C */ cpu->f[28] = cpu->f[2];
|
|
/* 027E6270 */ _t10 = cpu->r[1] + 0x00000058u;
|
|
/* 027E6270 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
|
|
/* 027E6274 */ cpu->f[30] = cpu->f[3];
|
|
/* 027E6278 */ _t11 = cpu->r[1] + 0x00000074u;
|
|
/* 027E6278 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027E627C */ cpu->f[29] = cpu->f[1];
|
|
/* 027E6280 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027E6280 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027E6284 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E6284 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 027E6288 */ _t14 = cpu->r[1] + 0x00000068u;
|
|
/* 027E6288 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 027E628C */ cpu->r[29] = cpu->r[3];
|
|
/* 027E6290 */ Gambit_fn_027E60F4(cpu);
|
|
/* 027E6294 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E6294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6298 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6298 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E6298 */ if (_t16) goto L_027E63B8; else goto L_027E629C;
|
|
L_027E629C: ; // 0x27e629c
|
|
/* 027E629C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E62A0 */ _t17 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027E62A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E62A4 */ _t18 = cpu->r[11] + 0xFFFFFD84u;
|
|
/* 027E62A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027E62A8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E62AC */ _t19 = cpu->r[29] + 0x00000024u;
|
|
/* 027E62AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027E62B0 */ cpu->f[12] = cpu->f[29] * cpu->f[31];
|
|
/* 027E62B4 */ _t20 = cpu->r[8] + 0xFFFFFD88u;
|
|
/* 027E62B4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 027E62B8 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027E62BC */ cpu->f[1] = cpu->f[12] * cpu->f[8];
|
|
/* 027E62C0 */ cpu->f[27] = cpu->f[9] * cpu->f[31];
|
|
/* 027E62C4 */ Gambit_fn_02C898C4(cpu);
|
|
/* 027E62C8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E62CC */ cpu->r[0] = 0x43300000u;
|
|
/* 027E62D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 027E62D4 */ cpu->r[10] = cpu->r[10] + 0x000053A0u;
|
|
/* 027E62D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027E62D8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 027E62DC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E62DC */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 027E62E0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E62E4 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 027E62E4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027E62E8 */ _t24 = cpu->r[12] + 0xFFFFFD90u;
|
|
/* 027E62E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027E62EC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E62F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 027E62F4 */ cpu->f[7] = cpu->f[13] - cpu->f[0];
|
|
/* 027E62F8 */ _t25 = cpu->r[12] + 0xFFFFFD98u;
|
|
/* 027E62F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E62FC */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 027E6300 */ _t26 = cpu->r[10] + 0x00000004u;
|
|
/* 027E6300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027E6304 */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 027E6308 */ _t27 = cpu->r[10] + 0x00000000u;
|
|
/* 027E6308 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027E630C */ cpu->f[7] = cpu->f[8] * cpu->f[9];
|
|
/* 027E6310 */ _t28 = cpu->r[10] + 0x00000008u;
|
|
/* 027E6310 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027E6314 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E6318 */ _t29 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E6318 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 027E631C */ cpu->r[9] = 0x10110000u;
|
|
/* 027E6320 */ cpu->f[9] = fma(cpu->f[0], cpu->f[7], cpu->f[11]);
|
|
/* 027E6324 */ _t30 = cpu->r[11] + 0xFFFFFCE8u;
|
|
/* 027E6324 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027E6328 */ cpu->f[7] = fma(cpu->f[13], cpu->f[7], cpu->f[8]);
|
|
/* 027E632C */ _t31 = cpu->r[9] + 0xFFFFFD9Cu;
|
|
/* 027E632C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027E6330 */ cpu->f[0] = cpu->f[9] / cpu->f[7];
|
|
/* 027E6334 */ _t32 = cpu->r[31] + 0x00000034u;
|
|
/* 027E6334 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 027E6338 */ _t33 = cpu->r[31] + 0x00000040u;
|
|
/* 027E6338 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 027E633C */ _t34 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E633C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[10]);
|
|
/* 027E6340 */ cpu->f[12] = cpu->f[13] * cpu->f[13];
|
|
/* 027E6344 */ cpu->f[0] = cpu->f[27] / cpu->f[0];
|
|
/* 027E6348 */ _t35 = cpu->r[31] + 0x00000038u;
|
|
/* 027E6348 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[10]);
|
|
/* 027E634C */ cpu->f[7] = fma(cpu->f[10], cpu->f[10], cpu->f[12]);
|
|
/* 027E6350 */ _t36 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027E6350 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 027E6354 */ _t37 = cpu->r[31] + 0x00000044u;
|
|
/* 027E6354 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]);
|
|
/* 027E6358 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[10]);
|
|
/* 027E635C */ _t38 = cpu->r[31] + 0x00000048u;
|
|
/* 027E635C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 027E6360 */ _t39 = cpu->r[31] + 0x00000050u;
|
|
/* 027E6360 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 027E6364 */ _t40 = cpu->r[31] + 0x00000054u;
|
|
/* 027E6364 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]);
|
|
/* 027E6368 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6368 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E6368 */ if (_t42) goto L_027E636C; else goto L_027E63A0;
|
|
L_027E636C: ; // 0x27e636c
|
|
/* 027E636C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E6370 */ _t43 = cpu->r[12] + 0xFFFFFDA0u;
|
|
/* 027E6370 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027E6374 */ _ft44 = sqrt(cpu->f[7]);
|
|
/* 027E6374 */ _ft45 = (double)(int32_t)0x00000001u;
|
|
/* 027E6374 */ cpu->f[9] = _ft45 / _ft44;
|
|
/* 027E6378 */ cpu->f[11] = cpu->f[9] * cpu->f[9];
|
|
/* 027E637C */ cpu->f[13] = cpu->f[9] * cpu->f[31];
|
|
/* 027E6380 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[7], -(cpu->f[12]));
|
|
/* 027E6384 */ cpu->f[9] = cpu->f[11] * cpu->f[13];
|
|
/* 027E6388 */ _t46 = cpu->r[31] + 0x00000054u;
|
|
/* 027E6388 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 027E638C */ /* nop */
|
|
/* 027E6390 */ cpu->f[12] = cpu->f[12] * cpu->f[9];
|
|
/* 027E6394 */ /* nop */
|
|
/* 027E6398 */ _t47 = cpu->r[31] + 0x00000054u;
|
|
/* 027E6398 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 027E639C */ /* nop */
|
|
L_027E63A0: ; // 0x27e63a0
|
|
/* 027E63A0 */ _t48 = cpu->r[31] + 0x00000030u;
|
|
/* 027E63A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027E63A4 */ _t49 = cpu->r[12] + 0x00000024u;
|
|
/* 027E63A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E63A8 */ cpu->ctr = cpu->r[0];
|
|
/* 027E63AC */ cpu->r[3] = cpu->r[31];
|
|
/* 027E63B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E63B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E63B8: ; // 0x27e63b8
|
|
/* 027E63B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E63BC */ Gambit_fn_027E6190(cpu);
|
|
/* 027E63C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E63C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E63C4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E63C4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E63C4 */ if (_t51) goto L_027E6410; else goto L_027E63C8;
|
|
L_027E63C8: ; // 0x27e63c8
|
|
/* 027E63C8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E63CC */ _t52 = cpu->r[8] + 0xFFFFFDA4u;
|
|
/* 027E63CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 027E63D0 */ cpu->r[31] = 0x00000001u;
|
|
/* 027E63D4 */ _t53 = cpu->r[30] + 0x00000094u;
|
|
/* 027E63D4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[28]);
|
|
/* 027E63D8 */ cpu->f[1] = cpu->f[29] * cpu->f[11];
|
|
/* 027E63DC */ _t54 = cpu->r[30] + 0x00000098u;
|
|
/* 027E63DC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[30]);
|
|
/* 027E63E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E63E4 */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 027E63E4 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[31]);
|
|
/* 027E63E8 */ Gambit_fn_0281C2C4(cpu);
|
|
/* 027E63EC */ _t56 = cpu->r[29] + 0x00000020u;
|
|
/* 027E63EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027E63F0 */ _t57 = cpu->r[29] + 0x00000018u;
|
|
/* 027E63F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027E63F4 */ _t58 = cpu->r[29] + 0x00000024u;
|
|
/* 027E63F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027E63F8 */ cpu->f[11] = cpu->f[12] - cpu->f[7];
|
|
/* 027E63FC */ _t59 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027E63FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027E6400 */ cpu->f[8] = cpu->f[9] - cpu->f[10];
|
|
/* 027E6404 */ cpu->f[13] = cpu->f[11] / cpu->f[8];
|
|
/* 027E6408 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 027E6408 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[31]);
|
|
/* 027E640C */ _t61 = cpu->r[30] + 0x000000ACu;
|
|
/* 027E640C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[13]);
|
|
L_027E6410: ; // 0x27e6410
|
|
/* 027E6410 */ _t62 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6410 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027E6414 */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 027E6414 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027E6418 */ _t64 = cpu->r[1] + 0x00000028u;
|
|
/* 027E6418 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027E641C */ _t65 = cpu->r[1] + 0x00000030u;
|
|
/* 027E641C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 027E6420 */ _t66 = cpu->r[1] + 0x00000048u;
|
|
/* 027E6420 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027E6424 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 027E6424 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 027E6428 */ _t68 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6428 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 027E642C */ _t69 = cpu->r[1] + 0x00000068u;
|
|
/* 027E642C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 027E6430 */ _t70 = cpu->r[1] + 0x00000058u;
|
|
/* 027E6430 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027E6434 */ _t71 = cpu->r[1] + 0x00000060u;
|
|
/* 027E6434 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 027E6438 */ _t72 = cpu->r[1] + 0x00000050u;
|
|
/* 027E6438 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 027E643C */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E643C */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E6440 */ _t74 = cpu->r[1] + 0x00000018u;
|
|
/* 027E6440 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E6444 */ _t75 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6444 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027E6444 */ if (_t76) goto L_027E6448; // else: addr-0 trap, fall-through
|
|
L_027E6448: ; // 0x27e6448
|
|
/* 027E6448 */ _t77 = cpu->r[1] + 0x00000074u;
|
|
/* 027E6448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E644C */ cpu->lr = cpu->r[0];
|
|
/* 027E6450 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027E6454 */ return;
|
|
}
|
|
|
|
// fn_027E6458 @ 0x27e6458
|
|
void Gambit_fn_027E6458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E6458: ; // 0x27e6458
|
|
/* 027E6458 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027E6458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6458 */ cpu->r[1] = _t0;
|
|
/* 027E645C */ /* nop */
|
|
/* 027E6460 */ cpu->r[0] = cpu->lr;
|
|
/* 027E6464 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E6464 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 027E6468 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 027E6468 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 027E646C */ /* nop */
|
|
/* 027E6470 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6470 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027E6474 */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 027E6474 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E6478 */ /* nop */
|
|
/* 027E647C */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 027E647C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 027E6480 */ _t6 = cpu->r[1] + 0x00000038u;
|
|
/* 027E6480 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 027E6484 */ /* nop */
|
|
/* 027E6488 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E648C */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 027E648C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 027E6490 */ _t8 = cpu->r[12] + 0xFFFFDAFCu;
|
|
/* 027E6490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6494 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6498 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E649C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E64A0 */ cpu->r[4] = cpu->r[4] + 0xFFFFE288u;
|
|
/* 027E64A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E64A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E64A4 */ if (_t10) goto L_027E64A8; else goto L_027E64C0;
|
|
L_027E64A8: ; // 0x27e64a8
|
|
/* 027E64A8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E64AC */ cpu->r[7] = 0x00000001u;
|
|
/* 027E64B0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E64B4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFD74u;
|
|
/* 027E64B8 */ _t11 = cpu->r[12] + 0xFFFFDAFCu;
|
|
/* 027E64B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 027E64BC */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 027E64BC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_027E64C0: ; // 0x27e64c0
|
|
/* 027E64C0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E64C4 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E64C8 */ _t13 = cpu->r[11] + 0xFFFFFD9Cu;
|
|
/* 027E64C8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027E64CC */ cpu->r[27] = 0x10110000u;
|
|
/* 027E64D0 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E64D4 */ _t14 = cpu->r[9] + 0xFFFFFCE8u;
|
|
/* 027E64D4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027E64D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E64DC */ cpu->r[28] = 0x101F0000u;
|
|
/* 027E64E0 */ _t15 = cpu->r[8] + 0xFFFFFDA8u;
|
|
/* 027E64E0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027E64E4 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E64E8 */ cpu->r[27] = cpu->r[27] + 0x000043ACu;
|
|
/* 027E64EC */ cpu->r[28] = cpu->r[28] + 0x00005E30u;
|
|
/* 027E64F0 */ cpu->r[29] = cpu->r[29] + 0x000043D4u;
|
|
/* 027E64F4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E64F4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E64F4 */ if (_t17) goto L_027E66EC; else goto L_027E64F8;
|
|
L_027E64F8: ; // 0x27e64f8
|
|
/* 027E64F8 */ _t18 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E64F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E64FC */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 027E64FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E6500 */ cpu->ctr = cpu->r[10];
|
|
/* 027E6504 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E6508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E650C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6510 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6510 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E6510 */ if (_t21) goto L_027E66EC; else goto L_027E6514;
|
|
L_027E6514: ; // 0x27e6514
|
|
/* 027E6514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E6518 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6518 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E6518 */ if (_t23) goto L_027E66EC; else goto L_027E651C;
|
|
L_027E651C: ; // 0x27e651c
|
|
/* 027E651C */ cpu->r[3] = 0x00000058u;
|
|
/* 027E6520 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6524 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E6524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6528 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6528 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E6528 */ if (_t25) goto L_027E664C; else goto L_027E652C;
|
|
L_027E652C: ; // 0x27e652c
|
|
/* 027E652C */ cpu->r[0] = 0x00000003u;
|
|
/* 027E6530 */ cpu->r[10] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 027E6534 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 027E6538 */ cpu->ctr = cpu->r[0];
|
|
/* 027E653C */ _t26 = cpu->r[31] + 0x00000030u;
|
|
/* 027E653C */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
L_027E6540: ; // 0x27e6540
|
|
/* 027E6540 */ _t27 = cpu->r[10] + 0x00000004u;
|
|
/* 027E6540 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E6544 */ _t28 = cpu->r[11] + 0x00000004u;
|
|
/* 027E6544 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 027E6548 */ _t29 = cpu->r[10] + 0x00000008u;
|
|
/* 027E6548 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E654C */ _t30 = cpu->r[11] + 0x00000008u;
|
|
/* 027E654C */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 027E6550 */ _t31 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E6550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E6554 */ _t32 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027E6554 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 027E6558 */ _t33 = cpu->r[10] + 0x00000010u;
|
|
/* 027E6558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E6558 */ cpu->r[10] = _t33;
|
|
/* 027E655C */ _t34 = cpu->r[11] + 0x00000010u;
|
|
/* 027E655C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 027E655C */ cpu->r[11] = _t34;
|
|
/* 027E6560 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E6560 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E6560 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 027E6560 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E6560 */ if (_t37) goto L_027E6540; else goto L_027E6564;
|
|
L_027E6564: ; // 0x27e6564
|
|
/* 027E6564 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 027E6564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6568 */ _t38 = cpu->r[31] + 0x00000030u;
|
|
/* 027E6568 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 027E656C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E656C */ _t40 = _t39 & 0x00000001u;
|
|
/* 027E656C */ if (_t40) goto L_027E6570; else goto L_027E6580;
|
|
L_027E6570: ; // 0x27e6570
|
|
/* 027E6570 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E6574 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E657C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E657C */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E657C */ if (_t42) goto L_027E65A4; else goto L_027E6580;
|
|
L_027E6580: ; // 0x27e6580
|
|
/* 027E6580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6584 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6584 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E6584 */ if (_t44) goto L_027E6588; else goto L_027E6598;
|
|
L_027E6588: ; // 0x27e6588
|
|
/* 027E6588 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E658C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6594 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6594 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027E6594 */ if (_t46) goto L_027E65A4; else goto L_027E6598;
|
|
L_027E6598: ; // 0x27e6598
|
|
/* 027E6598 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6598 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
|
|
/* 027E659C */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 027E659C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
/* 027E65A0 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 027E65A0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[30]);
|
|
L_027E65A4: ; // 0x27e65a4
|
|
/* 027E65A4 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 027E65A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65A8 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65A8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E65A8 */ if (_t51) goto L_027E65AC; else goto L_027E65BC;
|
|
L_027E65AC: ; // 0x27e65ac
|
|
/* 027E65AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E65B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E65B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65B8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65B8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E65B8 */ if (_t53) goto L_027E65E0; else goto L_027E65BC;
|
|
L_027E65BC: ; // 0x27e65bc
|
|
/* 027E65BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65C0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65C0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027E65C0 */ if (_t55) goto L_027E65C4; else goto L_027E65D4;
|
|
L_027E65C4: ; // 0x27e65c4
|
|
/* 027E65C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E65C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E65CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65D0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65D0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027E65D0 */ if (_t57) goto L_027E65E0; else goto L_027E65D4;
|
|
L_027E65D4: ; // 0x27e65d4
|
|
/* 027E65D4 */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 027E65D4 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[31]);
|
|
/* 027E65D8 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 027E65D8 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[31]);
|
|
/* 027E65DC */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 027E65DC */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
L_027E65E0: ; // 0x27e65e0
|
|
/* 027E65E0 */ cpu->r[3] = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E65E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65E4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65E4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027E65E4 */ if (_t62) goto L_027E65E8; else goto L_027E65F8;
|
|
L_027E65E8: ; // 0x27e65e8
|
|
/* 027E65E8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E65EC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E65F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65F4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65F4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027E65F4 */ if (_t64) goto L_027E661C; else goto L_027E65F8;
|
|
L_027E65F8: ; // 0x27e65f8
|
|
/* 027E65F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E65FC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E65FC */ _t66 = _t65 & 0x00000001u;
|
|
/* 027E65FC */ if (_t66) goto L_027E6600; else goto L_027E6610;
|
|
L_027E6600: ; // 0x27e6600
|
|
/* 027E6600 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E6604 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E660C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E660C */ _t68 = _t67 & 0x00000001u;
|
|
/* 027E660C */ if (_t68) goto L_027E661C; else goto L_027E6610;
|
|
L_027E6610: ; // 0x27e6610
|
|
/* 027E6610 */ _t69 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6610 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[29]);
|
|
/* 027E6614 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 027E6614 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[31]);
|
|
/* 027E6618 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 027E6618 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[31]);
|
|
L_027E661C: ; // 0x27e661c
|
|
/* 027E661C */ _t72 = cpu->r[31] + 0x00000030u;
|
|
/* 027E661C */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027E6620 */ _t73 = cpu->r[11] + 0x00000024u;
|
|
/* 027E6620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E6624 */ cpu->ctr = cpu->r[0];
|
|
/* 027E6628 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E662C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E6630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6634 */ cpu->r[3] = 0x000000B8u;
|
|
/* 027E6638 */ _t74 = cpu->r[30] + 0x00000048u;
|
|
/* 027E6638 */ rbrew_write32(cpu->mem, _t74, cpu->r[31]);
|
|
/* 027E663C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6644 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6644 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027E6644 */ if (_t76) goto L_027E6680; else goto L_027E6648;
|
|
L_027E6648: ; // 0x27e6648
|
|
/* 027E6648 */ goto L_027E667C;
|
|
L_027E664C: ; // 0x27e664c
|
|
/* 027E664C */ cpu->r[31] = 0x00000000u;
|
|
/* 027E6650 */ _t77 = cpu->r[31] + 0x00000030u;
|
|
/* 027E6650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E6654 */ _t78 = cpu->r[11] + 0x00000024u;
|
|
/* 027E6654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027E6658 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E665C */ cpu->ctr = cpu->r[0];
|
|
/* 027E6660 */ cpu->r[3] = cpu->r[4];
|
|
/* 027E6664 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6668 */ cpu->r[3] = 0x000000B8u;
|
|
/* 027E666C */ _t79 = cpu->r[30] + 0x00000048u;
|
|
/* 027E666C */ rbrew_write32(cpu->mem, _t79, cpu->r[31]);
|
|
/* 027E6670 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6678 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6678 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027E6678 */ if (_t81) goto L_027E6680; else goto L_027E667C;
|
|
L_027E667C: ; // 0x27e667c
|
|
/* 027E667C */ Gambit_fn_0281C340(cpu);
|
|
L_027E6680: ; // 0x27e6680
|
|
/* 027E6680 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6684 */ _t82 = cpu->r[3] + 0x00000094u;
|
|
/* 027E6684 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[30]);
|
|
/* 027E6688 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E668C */ _t83 = cpu->r[8] + 0xFFFFFDACu;
|
|
/* 027E668C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027E6690 */ _t84 = cpu->r[3] + 0x00000000u;
|
|
/* 027E6690 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[0]);
|
|
/* 027E6694 */ _t85 = cpu->r[3] + 0x00000098u;
|
|
/* 027E6694 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[0]);
|
|
/* 027E6698 */ _t86 = cpu->r[30] + 0x00000020u;
|
|
/* 027E6698 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027E669C */ _t87 = cpu->r[30] + 0x00000018u;
|
|
/* 027E669C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 027E66A0 */ _t88 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027E66A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027E66A4 */ cpu->f[12] = cpu->f[13] - cpu->f[12];
|
|
/* 027E66A8 */ _t89 = cpu->r[30] + 0x00000024u;
|
|
/* 027E66A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 027E66AC */ cpu->f[13] = cpu->f[0] - cpu->f[10];
|
|
/* 027E66B0 */ cpu->f[11] = cpu->f[12] / cpu->f[13];
|
|
/* 027E66B4 */ _t90 = cpu->r[3] + 0x000000ACu;
|
|
/* 027E66B4 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[11]);
|
|
/* 027E66B8 */ _t91 = cpu->r[30] + 0x0000004Cu;
|
|
/* 027E66B8 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 027E66BC */ /* nop */
|
|
/* 027E66C0 */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 027E66C0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 027E66C4 */ _t93 = cpu->r[1] + 0x00000038u;
|
|
/* 027E66C4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 027E66C8 */ _t94 = cpu->r[1] + 0x00000020u;
|
|
/* 027E66C8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 027E66CC */ _t95 = cpu->r[1] + 0x00000048u;
|
|
/* 027E66CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 027E66D0 */ _t96 = cpu->r[1] + 0x00000030u;
|
|
/* 027E66D0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 027E66D4 */ _t97 = cpu->r[1] + 0x00000040u;
|
|
/* 027E66D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 027E66D8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E66D8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 027E66D8 */ if (_t99) goto L_027E66DC; // else: addr-0 trap, fall-through
|
|
L_027E66DC: ; // 0x27e66dc
|
|
/* 027E66DC */ _t100 = cpu->r[1] + 0x00000054u;
|
|
/* 027E66DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E66E0 */ cpu->lr = cpu->r[0];
|
|
/* 027E66E4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027E66E8 */ return;
|
|
L_027E66EC: ; // 0x27e66ec
|
|
/* 027E66EC */ cpu->r[3] = 0x00000058u;
|
|
/* 027E66F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E66F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E66F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E66F8 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E66F8 */ _t102 = _t101 & 0x00000001u;
|
|
/* 027E66F8 */ if (_t102) goto L_027E6804; else goto L_027E66FC;
|
|
L_027E66FC: ; // 0x27e66fc
|
|
/* 027E66FC */ cpu->r[9] = 0x00000003u;
|
|
/* 027E6700 */ cpu->r[10] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 027E6704 */ cpu->r[12] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 027E6708 */ cpu->ctr = cpu->r[9];
|
|
/* 027E670C */ _t103 = cpu->r[31] + 0x00000030u;
|
|
/* 027E670C */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
L_027E6710: ; // 0x27e6710
|
|
/* 027E6710 */ _t104 = cpu->r[10] + 0x00000004u;
|
|
/* 027E6710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027E6714 */ _t105 = cpu->r[12] + 0x00000004u;
|
|
/* 027E6714 */ rbrew_write32(cpu->mem, _t105, cpu->r[11]);
|
|
/* 027E6718 */ _t106 = cpu->r[10] + 0x00000008u;
|
|
/* 027E6718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027E671C */ _t107 = cpu->r[12] + 0x00000008u;
|
|
/* 027E671C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 027E6720 */ _t108 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E6720 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027E6724 */ _t109 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027E6724 */ rbrew_write32(cpu->mem, _t109, cpu->r[6]);
|
|
/* 027E6728 */ _t110 = cpu->r[10] + 0x00000010u;
|
|
/* 027E6728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027E6728 */ cpu->r[10] = _t110;
|
|
/* 027E672C */ _t111 = cpu->r[12] + 0x00000010u;
|
|
/* 027E672C */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 027E672C */ cpu->r[12] = _t111;
|
|
/* 027E6730 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E6730 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E6730 */ _t113 = _t112 >> (0x00000002u & 31u);
|
|
/* 027E6730 */ _t114 = _t113 & 0x00000001u;
|
|
/* 027E6730 */ if (_t114) goto L_027E6710; else goto L_027E6734;
|
|
L_027E6734: ; // 0x27e6734
|
|
/* 027E6734 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 027E6734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6738 */ _t115 = cpu->r[31] + 0x00000030u;
|
|
/* 027E6738 */ rbrew_write32(cpu->mem, _t115, cpu->r[29]);
|
|
/* 027E673C */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E673C */ _t117 = _t116 & 0x00000001u;
|
|
/* 027E673C */ if (_t117) goto L_027E6740; else goto L_027E6750;
|
|
L_027E6740: ; // 0x27e6740
|
|
/* 027E6740 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E6744 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E674C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E674C */ _t119 = _t118 & 0x00000001u;
|
|
/* 027E674C */ if (_t119) goto L_027E6774; else goto L_027E6750;
|
|
L_027E6750: ; // 0x27e6750
|
|
/* 027E6750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6754 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6754 */ _t121 = _t120 & 0x00000001u;
|
|
/* 027E6754 */ if (_t121) goto L_027E6758; else goto L_027E6768;
|
|
L_027E6758: ; // 0x27e6758
|
|
/* 027E6758 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E675C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6764 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6764 */ _t123 = _t122 & 0x00000001u;
|
|
/* 027E6764 */ if (_t123) goto L_027E6774; else goto L_027E6768;
|
|
L_027E6768: ; // 0x27e6768
|
|
/* 027E6768 */ _t124 = cpu->r[3] + 0x00000004u;
|
|
/* 027E6768 */ rbrew_write_f32(cpu->mem, _t124, cpu->f[31]);
|
|
/* 027E676C */ _t125 = cpu->r[3] + 0x00000000u;
|
|
/* 027E676C */ rbrew_write_f32(cpu->mem, _t125, cpu->f[31]);
|
|
/* 027E6770 */ _t126 = cpu->r[3] + 0x00000008u;
|
|
/* 027E6770 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[30]);
|
|
L_027E6774: ; // 0x27e6774
|
|
/* 027E6774 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 027E6774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6778 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6778 */ _t128 = _t127 & 0x00000001u;
|
|
/* 027E6778 */ if (_t128) goto L_027E677C; else goto L_027E678C;
|
|
L_027E677C: ; // 0x27e677c
|
|
/* 027E677C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E6780 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6788 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6788 */ _t130 = _t129 & 0x00000001u;
|
|
/* 027E6788 */ if (_t130) goto L_027E67B0; else goto L_027E678C;
|
|
L_027E678C: ; // 0x27e678c
|
|
/* 027E678C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6790 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6790 */ _t132 = _t131 & 0x00000001u;
|
|
/* 027E6790 */ if (_t132) goto L_027E6794; else goto L_027E67A4;
|
|
L_027E6794: ; // 0x27e6794
|
|
/* 027E6794 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E6798 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E679C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67A0 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67A0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 027E67A0 */ if (_t134) goto L_027E67B0; else goto L_027E67A4;
|
|
L_027E67A4: ; // 0x27e67a4
|
|
/* 027E67A4 */ _t135 = cpu->r[3] + 0x00000004u;
|
|
/* 027E67A4 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[31]);
|
|
/* 027E67A8 */ _t136 = cpu->r[3] + 0x00000000u;
|
|
/* 027E67A8 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[31]);
|
|
/* 027E67AC */ _t137 = cpu->r[3] + 0x00000008u;
|
|
/* 027E67AC */ rbrew_write_f32(cpu->mem, _t137, cpu->f[31]);
|
|
L_027E67B0: ; // 0x27e67b0
|
|
/* 027E67B0 */ cpu->r[3] = cpu->r[31] + 0x0000004Cu;
|
|
/* 027E67B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67B4 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67B4 */ _t139 = _t138 & 0x00000001u;
|
|
/* 027E67B4 */ if (_t139) goto L_027E67B8; else goto L_027E67C8;
|
|
L_027E67B8: ; // 0x27e67b8
|
|
/* 027E67B8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E67BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027E67C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67C4 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67C4 */ _t141 = _t140 & 0x00000001u;
|
|
/* 027E67C4 */ if (_t141) goto L_027E67EC; else goto L_027E67C8;
|
|
L_027E67C8: ; // 0x27e67c8
|
|
/* 027E67C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67CC */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67CC */ _t143 = _t142 & 0x00000001u;
|
|
/* 027E67CC */ if (_t143) goto L_027E67D0; else goto L_027E67E0;
|
|
L_027E67D0: ; // 0x27e67d0
|
|
/* 027E67D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E67D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E67D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67DC */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67DC */ _t145 = _t144 & 0x00000001u;
|
|
/* 027E67DC */ if (_t145) goto L_027E67EC; else goto L_027E67E0;
|
|
L_027E67E0: ; // 0x27e67e0
|
|
/* 027E67E0 */ _t146 = cpu->r[3] + 0x00000004u;
|
|
/* 027E67E0 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[29]);
|
|
/* 027E67E4 */ _t147 = cpu->r[3] + 0x00000000u;
|
|
/* 027E67E4 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[31]);
|
|
/* 027E67E8 */ _t148 = cpu->r[3] + 0x00000008u;
|
|
/* 027E67E8 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[31]);
|
|
L_027E67EC: ; // 0x27e67ec
|
|
/* 027E67EC */ cpu->r[3] = 0x000000B8u;
|
|
/* 027E67F0 */ _t149 = cpu->r[30] + 0x00000048u;
|
|
/* 027E67F0 */ rbrew_write32(cpu->mem, _t149, cpu->r[31]);
|
|
/* 027E67F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E67F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E67FC */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E67FC */ _t151 = _t150 & 0x00000001u;
|
|
/* 027E67FC */ if (_t151) goto L_027E6820; else goto L_027E6800;
|
|
L_027E6800: ; // 0x27e6800
|
|
/* 027E6800 */ goto L_027E681C;
|
|
L_027E6804: ; // 0x27e6804
|
|
/* 027E6804 */ cpu->r[31] = 0x00000000u;
|
|
/* 027E6808 */ cpu->r[3] = 0x000000B8u;
|
|
/* 027E680C */ _t152 = cpu->r[30] + 0x00000048u;
|
|
/* 027E680C */ rbrew_write32(cpu->mem, _t152, cpu->r[31]);
|
|
/* 027E6810 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E6814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6818 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6818 */ _t154 = _t153 & 0x00000001u;
|
|
/* 027E6818 */ if (_t154) goto L_027E6820; else goto L_027E681C;
|
|
L_027E681C: ; // 0x27e681c
|
|
/* 027E681C */ Gambit_fn_0281C340(cpu);
|
|
L_027E6820: ; // 0x27e6820
|
|
/* 027E6820 */ _t155 = cpu->r[30] + 0x0000004Cu;
|
|
/* 027E6820 */ rbrew_write32(cpu->mem, _t155, cpu->r[3]);
|
|
/* 027E6824 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6828 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E682C */ _t156 = cpu->r[8] + 0xFFFFFDB0u;
|
|
/* 027E682C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 027E6830 */ cpu->f[2] = cpu->f[29];
|
|
/* 027E6834 */ _t157 = cpu->r[7] + 0xFFFFFDB4u;
|
|
/* 027E6834 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 027E6838 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E683C */ Gambit_fn_027E622C(cpu);
|
|
/* 027E6840 */ /* nop */
|
|
/* 027E6844 */ _t158 = cpu->r[1] + 0x00000028u;
|
|
/* 027E6844 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027E6848 */ _t159 = cpu->r[1] + 0x00000038u;
|
|
/* 027E6848 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t159);
|
|
/* 027E684C */ _t160 = cpu->r[1] + 0x00000020u;
|
|
/* 027E684C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t160);
|
|
/* 027E6850 */ _t161 = cpu->r[1] + 0x00000048u;
|
|
/* 027E6850 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t161);
|
|
/* 027E6854 */ _t162 = cpu->r[1] + 0x00000030u;
|
|
/* 027E6854 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t162);
|
|
/* 027E6858 */ _t163 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6858 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t163);
|
|
/* 027E685C */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E685C */ _t165 = _t164 & 0x00000001u;
|
|
/* 027E685C */ if (_t165) goto L_027E6860; // else: addr-0 trap, fall-through
|
|
L_027E6860: ; // 0x27e6860
|
|
/* 027E6860 */ _t166 = cpu->r[1] + 0x00000054u;
|
|
/* 027E6860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 027E6864 */ cpu->lr = cpu->r[0];
|
|
/* 027E6868 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027E686C */ return;
|
|
}
|
|
|
|
// fn_027E6870 @ 0x27e6870
|
|
void Gambit_fn_027E6870(CPUState* cpu) {
|
|
uint32_t _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_027E6870: ; // 0x27e6870
|
|
/* 027E6870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6874 */ cpu->r[10] = 0x00000002u;
|
|
/* 027E6878 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6878 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E6878 */ if (_t1) goto L_027E6880; else goto L_027E687C;
|
|
L_027E687C: ; // 0x27e687c
|
|
/* 027E687C */ cpu->r[10] = 0x00000003u;
|
|
L_027E6880: ; // 0x27e6880
|
|
/* 027E6880 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E6884 */ _t2 = cpu->r[12] + 0xFFFFA498u;
|
|
/* 027E6884 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E6888 */ cpu->r[8] = 0x101F0000u;
|
|
/* 027E688C */ _t3 = cpu->r[11] + 0x00000758u;
|
|
/* 027E688C */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 027E6890 */ _t4 = cpu->r[12] + 0xFFFFA498u;
|
|
/* 027E6890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6894 */ _t5 = cpu->r[8] + 0x00005BCCu;
|
|
/* 027E6894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6894 */ cpu->r[8] = _t5;
|
|
/* 027E6898 */ _t6 = cpu->r[9] + 0x0000075Cu;
|
|
/* 027E6898 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E689C */ _t7 = cpu->r[8] + 0x00000004u;
|
|
/* 027E689C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E68A0 */ _t8 = cpu->r[9] + 0x00000760u;
|
|
/* 027E68A0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027E68A4 */ _t9 = cpu->r[8] + 0x00000008u;
|
|
/* 027E68A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E68A8 */ _t10 = cpu->r[9] + 0x00000764u;
|
|
/* 027E68A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E68AC */ _t11 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027E68AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E68B0 */ _t12 = cpu->r[9] + 0x00000768u;
|
|
/* 027E68B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E68B4 */ _t13 = cpu->r[12] + 0xFFFFA498u;
|
|
/* 027E68B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E68B8 */ _t14 = cpu->r[11] + 0x00000EE4u;
|
|
/* 027E68B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027E68BC */ _t15 = cpu->r[12] + 0xFFFFA498u;
|
|
/* 027E68BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E68C0 */ _t16 = cpu->r[8] + 0x00000000u;
|
|
/* 027E68C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E68C4 */ _t17 = cpu->r[9] + 0x00000EE8u;
|
|
/* 027E68C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027E68C8 */ _t18 = cpu->r[8] + 0x00000004u;
|
|
/* 027E68C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E68CC */ _t19 = cpu->r[9] + 0x00000EECu;
|
|
/* 027E68CC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027E68D0 */ _t20 = cpu->r[8] + 0x00000008u;
|
|
/* 027E68D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E68D4 */ _t21 = cpu->r[9] + 0x00000EF0u;
|
|
/* 027E68D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 027E68D8 */ _t22 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027E68D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E68DC */ _t23 = cpu->r[9] + 0x00000EF4u;
|
|
/* 027E68DC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027E68E0 */ return;
|
|
}
|
|
|
|
// fn_027E68E4 @ 0x27e68e4
|
|
void Gambit_fn_027E68E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150;
|
|
|
|
L_027E68E4: ; // 0x27e68e4
|
|
/* 027E68E4 */ _t0 = cpu->r[1] + 0xFFFFFCC0u;
|
|
/* 027E68E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E68E4 */ cpu->r[1] = _t0;
|
|
/* 027E68E8 */ /* nop */
|
|
/* 027E68EC */ cpu->r[0] = cpu->lr;
|
|
/* 027E68F0 */ _t1 = cpu->r[1] + 0x00000300u;
|
|
/* 027E68F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 027E68F4 */ /* nop */
|
|
/* 027E68F8 */ _t2 = cpu->r[1] + 0x00000310u;
|
|
/* 027E68F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 027E68FC */ /* nop */
|
|
/* 027E6900 */ _t3 = cpu->r[1] + 0x00000320u;
|
|
/* 027E6900 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027E6904 */ /* nop */
|
|
/* 027E6908 */ _t4 = cpu->r[1] + 0x00000330u;
|
|
/* 027E6908 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E690C */ /* nop */
|
|
/* 027E6910 */ _t5 = cpu->r[1] + 0x00000308u;
|
|
/* 027E6910 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 027E6914 */ _t6 = cpu->r[1] + 0x00000318u;
|
|
/* 027E6914 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 027E6918 */ _t7 = cpu->r[1] + 0x00000328u;
|
|
/* 027E6918 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 027E691C */ _t8 = cpu->r[1] + 0x00000338u;
|
|
/* 027E691C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 027E6920 */ _t9 = cpu->r[1] + 0x00000344u;
|
|
/* 027E6920 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E6924 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E6928 */ _t10 = cpu->r[12] + 0xFFFFA330u;
|
|
/* 027E6928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E692C */ cpu->r[29] = cpu->r[8];
|
|
/* 027E6930 */ cpu->r[25] = cpu->r[3];
|
|
/* 027E6934 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 027E6934 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E6938 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E693C */ cpu->r[26] = cpu->r[9];
|
|
/* 027E6940 */ cpu->r[31] = cpu->r[10];
|
|
/* 027E6944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 027E6948 */ cpu->r[11] = 0x00000000u;
|
|
/* 027E694C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E694C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E694C */ if (_t13) goto L_027E6950; else goto L_027E6958;
|
|
L_027E6950: ; // 0x27e6950
|
|
/* 027E6950 */ _t14 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027E6950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E6954 */ _t15 = cpu->r[12] + 0x00000028u;
|
|
/* 027E6954 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
L_027E6958: ; // 0x27e6958
|
|
/* 027E6958 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E695C */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E6960 */ _t16 = cpu->r[11] + 0x00000078u;
|
|
/* 027E6960 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6964 */ cpu->r[5] = cpu->r[9] + cpu->r[12];
|
|
/* 027E6968 */ cpu->r[11] = cpu->r[5] + cpu->r[7];
|
|
/* 027E6968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E696C */ cpu->r[5] = cpu->r[6] + 0x00000008u;
|
|
/* 027E6970 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6970 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E6970 */ if (_t18) goto L_027E6A64; else goto L_027E6974;
|
|
L_027E6974: ; // 0x27e6974
|
|
/* 027E6974 */ _t19 = cpu->r[5] + 0x00000000u;
|
|
/* 027E6974 */ cpu->r[27] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E6978 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E697C */ cpu->r[4] = cpu->r[31];
|
|
/* 027E6980 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E6984 */ Gambit_fn_028F40F4(cpu);
|
|
/* 027E6988 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E698C */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E6990 */ cpu->r[4] = cpu->r[25];
|
|
/* 027E6994 */ Gambit_fn_028FA030(cpu);
|
|
/* 027E6998 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E699C */ Gambit_fn_028F714C(cpu);
|
|
/* 027E69A0 */ _t20 = cpu->r[25] + 0x0000000Cu;
|
|
/* 027E69A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E69A4 */ cpu->r[9] = 0x43300000u;
|
|
/* 027E69A8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E69A8 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 027E69AC */ cpu->r[5] = 0x10110000u;
|
|
/* 027E69B0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 027E69B0 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 027E69B4 */ _t23 = cpu->r[5] + 0xFFFFFD90u;
|
|
/* 027E69B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027E69B8 */ /* nop */
|
|
/* 027E69BC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 027E69BC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027E69C0 */ _t25 = cpu->r[25] + 0x00000008u;
|
|
/* 027E69C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E69C4 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 027E69C8 */ _t26 = cpu->r[25] + 0x0000007Cu;
|
|
/* 027E69C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 027E69CC */ cpu->r[8] = 0x10110000u;
|
|
/* 027E69D0 */ /* nop */
|
|
/* 027E69D4 */ _t27 = cpu->r[25] + 0x0000007Du;
|
|
/* 027E69D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 027E69D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 027E69DC */ _t28 = cpu->r[8] + 0xFFFFFCE8u;
|
|
/* 027E69DC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027E69E0 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E69E0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E69E0 */ if (_t30) goto L_027E69E4; else goto L_027E69E8;
|
|
L_027E69E4: ; // 0x27e69e4
|
|
/* 027E69E4 */ cpu->r[0] = cpu->r[12];
|
|
L_027E69E8: ; // 0x27e69e8
|
|
/* 027E69E8 */ _t31 = cpu->r[1] + 0x0000022Cu;
|
|
/* 027E69E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t31);
|
|
/* 027E69EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 027E69F0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E69F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 027E69F4 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E69F4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027E69F4 */ if (_t34) goto L_027E69F8; else goto L_027E69FC;
|
|
L_027E69F8: ; // 0x27e69f8
|
|
/* 027E69F8 */ cpu->r[10] = cpu->r[9];
|
|
L_027E69FC: ; // 0x27e69fc
|
|
/* 027E69FC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 027E69FC */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 027E6A00 */ cpu->f[10] = (double)(float)cpu->f[12];
|
|
/* 027E6A04 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6A04 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 027E6A08 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E6A0C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6A0C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 027E6A10 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
|
|
/* 027E6A14 */ _t38 = cpu->r[10] + 0xFFFFFD9Cu;
|
|
/* 027E6A14 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027E6A18 */ cpu->f[8] = cpu->f[9] - cpu->f[13];
|
|
/* 027E6A1C */ cpu->f[29] = (double)(float)cpu->f[11];
|
|
/* 027E6A20 */ cpu->f[28] = (double)(float)cpu->f[8];
|
|
/* 027E6A24 */ cpu->f[13] = cpu->f[30] / cpu->f[29];
|
|
/* 027E6A28 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027E6A28 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[29]);
|
|
/* 027E6A2C */ _t40 = cpu->r[1] + 0x0000021Cu;
|
|
/* 027E6A2C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
|
|
/* 027E6A30 */ cpu->r[8] = cpu->r[8] | 0x00000008u;
|
|
/* 027E6A34 */ _t41 = cpu->r[1] + 0x0000022Cu;
|
|
/* 027E6A34 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[8]);
|
|
/* 027E6A38 */ _t42 = cpu->r[1] + 0x00000214u;
|
|
/* 027E6A38 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 027E6A3C */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6A3C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[28]);
|
|
/* 027E6A40 */ cpu->f[9] = cpu->f[30] / cpu->f[28];
|
|
/* 027E6A44 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027E6A44 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 027E6A48 */ _t45 = cpu->r[1] + 0x00000218u;
|
|
/* 027E6A48 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 027E6A4C */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E6A4C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[9]);
|
|
/* 027E6A50 */ _t47 = cpu->r[27] + 0x00000024u;
|
|
/* 027E6A50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E6A54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000001u);
|
|
/* 027E6A58 */ _t48 = cpu->r[27] + 0x00000028u;
|
|
/* 027E6A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027E6A5C */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6A5C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E6A5C */ if (_t50) goto L_027E6B70; else goto L_027E6A60;
|
|
L_027E6A60: ; // 0x27e6a60
|
|
/* 027E6A60 */ goto L_027E6B74;
|
|
L_027E6A64: ; // 0x27e6a64
|
|
/* 027E6A64 */ _t51 = cpu->r[5] + 0x00000004u;
|
|
/* 027E6A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E6A68 */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E6A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027E6A70 */ _t52 = cpu->r[5] + 0x00000008u;
|
|
/* 027E6A70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E6A74 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6A74 */ _t54 = _t53 & 0x00000001u;
|
|
/* 027E6A74 */ if (_t54) goto L_027E6A78; else goto L_027E6A84;
|
|
L_027E6A78: ; // 0x27e6a78
|
|
/* 027E6A78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 027E6A7C */ cpu->r[9] = cpu->r[30] + cpu->r[0];
|
|
/* 027E6A80 */ cpu->r[30] = cpu->r[9] + 0xFFFFFF80u;
|
|
L_027E6A84: ; // 0x27e6a84
|
|
/* 027E6A84 */ cpu->r[27] = cpu->r[30];
|
|
/* 027E6A88 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E6A8C */ cpu->r[5] = 0x00000001u;
|
|
/* 027E6A90 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E6A94 */ Gambit_fn_028F40F4(cpu);
|
|
/* 027E6A98 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E6A9C */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E6AA0 */ cpu->r[4] = cpu->r[25];
|
|
/* 027E6AA4 */ Gambit_fn_028FA030(cpu);
|
|
/* 027E6AA8 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E6AAC */ Gambit_fn_028F714C(cpu);
|
|
/* 027E6AB0 */ _t55 = cpu->r[25] + 0x0000000Cu;
|
|
/* 027E6AB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E6AB4 */ cpu->r[9] = 0x43300000u;
|
|
/* 027E6AB8 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6AB8 */ rbrew_write32(cpu->mem, _t56, cpu->r[26]);
|
|
/* 027E6ABC */ cpu->r[5] = 0x10110000u;
|
|
/* 027E6AC0 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6AC0 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 027E6AC4 */ _t58 = cpu->r[5] + 0xFFFFFD90u;
|
|
/* 027E6AC4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 027E6AC8 */ /* nop */
|
|
/* 027E6ACC */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6ACC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 027E6AD0 */ _t60 = cpu->r[25] + 0x00000008u;
|
|
/* 027E6AD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E6AD4 */ cpu->f[12] = cpu->f[11] - cpu->f[13];
|
|
/* 027E6AD8 */ _t61 = cpu->r[25] + 0x0000007Cu;
|
|
/* 027E6AD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 027E6ADC */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6AE0 */ /* nop */
|
|
/* 027E6AE4 */ _t62 = cpu->r[25] + 0x0000007Du;
|
|
/* 027E6AE4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t62);
|
|
/* 027E6AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 027E6AEC */ _t63 = cpu->r[8] + 0xFFFFFCE8u;
|
|
/* 027E6AEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027E6AF0 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6AF0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027E6AF0 */ if (_t65) goto L_027E6AF4; else goto L_027E6AF8;
|
|
L_027E6AF4: ; // 0x27e6af4
|
|
/* 027E6AF4 */ cpu->r[0] = cpu->r[12];
|
|
L_027E6AF8: ; // 0x27e6af8
|
|
/* 027E6AF8 */ _t66 = cpu->r[1] + 0x0000022Cu;
|
|
/* 027E6AF8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t66);
|
|
/* 027E6AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 027E6B00 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6B00 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027E6B04 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6B04 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027E6B04 */ if (_t69) goto L_027E6B08; else goto L_027E6B0C;
|
|
L_027E6B08: ; // 0x27e6b08
|
|
/* 027E6B08 */ cpu->r[10] = cpu->r[9];
|
|
L_027E6B0C: ; // 0x27e6b0c
|
|
/* 027E6B0C */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6B0C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 027E6B10 */ cpu->f[10] = (double)(float)cpu->f[12];
|
|
/* 027E6B14 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6B14 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 027E6B18 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E6B1C */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 027E6B1C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 027E6B20 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
|
|
/* 027E6B24 */ _t73 = cpu->r[10] + 0xFFFFFD9Cu;
|
|
/* 027E6B24 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 027E6B28 */ cpu->f[8] = cpu->f[9] - cpu->f[13];
|
|
/* 027E6B2C */ cpu->f[29] = (double)(float)cpu->f[11];
|
|
/* 027E6B30 */ cpu->f[28] = (double)(float)cpu->f[8];
|
|
/* 027E6B34 */ cpu->f[13] = cpu->f[30] / cpu->f[29];
|
|
/* 027E6B38 */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 027E6B38 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[29]);
|
|
/* 027E6B3C */ _t75 = cpu->r[1] + 0x0000021Cu;
|
|
/* 027E6B3C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[31]);
|
|
/* 027E6B40 */ cpu->r[8] = cpu->r[8] | 0x00000008u;
|
|
/* 027E6B44 */ _t76 = cpu->r[1] + 0x0000022Cu;
|
|
/* 027E6B44 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[8]);
|
|
/* 027E6B48 */ _t77 = cpu->r[1] + 0x00000214u;
|
|
/* 027E6B48 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[10]);
|
|
/* 027E6B4C */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6B4C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[28]);
|
|
/* 027E6B50 */ cpu->f[9] = cpu->f[30] / cpu->f[28];
|
|
/* 027E6B54 */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 027E6B54 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[13]);
|
|
/* 027E6B58 */ _t80 = cpu->r[1] + 0x00000218u;
|
|
/* 027E6B58 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[10]);
|
|
/* 027E6B5C */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E6B5C */ rbrew_write_f32(cpu->mem, _t81, cpu->f[9]);
|
|
/* 027E6B60 */ _t82 = cpu->r[30] + 0x00000024u;
|
|
/* 027E6B60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027E6B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000001u);
|
|
/* 027E6B68 */ _t83 = cpu->r[30] + 0x00000028u;
|
|
/* 027E6B68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027E6B6C */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E6B6C */ _t85 = _t84 & 0x00000001u;
|
|
/* 027E6B6C */ if (_t85) goto L_027E6B70; else goto L_027E6A60;
|
|
L_027E6B70: ; // 0x27e6b70
|
|
/* 027E6B70 */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
L_027E6B74: ; // 0x27e6b74
|
|
/* 027E6B74 */ _t86 = cpu->r[30] + 0x00000008u;
|
|
/* 027E6B74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t86);
|
|
/* 027E6B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027E6B7C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6B7C */ _t88 = _t87 & 0x00000001u;
|
|
/* 027E6B7C */ if (_t88) goto L_027E6B90; else goto L_027E6B80;
|
|
L_027E6B80: ; // 0x27e6b80
|
|
/* 027E6B80 */ _t89 = cpu->r[30] + 0x00000008u;
|
|
/* 027E6B80 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t89);
|
|
/* 027E6B84 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6B88 */ cpu->r[4] = 0x00000004u;
|
|
/* 027E6B8C */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_027E6B90: ; // 0x27e6b90
|
|
/* 027E6B90 */ _t90 = cpu->r[30] + 0x0000000Au;
|
|
/* 027E6B90 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t90);
|
|
/* 027E6B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E6B98 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6B98 */ _t92 = _t91 & 0x00000001u;
|
|
/* 027E6B98 */ if (_t92) goto L_027E6BA8; else goto L_027E6B9C;
|
|
L_027E6B9C: ; // 0x27e6b9c
|
|
/* 027E6B9C */ cpu->r[4] = 0x00000004u;
|
|
/* 027E6BA0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6BA4 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
L_027E6BA8: ; // 0x27e6ba8
|
|
/* 027E6BA8 */ cpu->f[1] = cpu->f[31];
|
|
/* 027E6BAC */ cpu->f[2] = cpu->f[30];
|
|
/* 027E6BB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 027E6BB4 */ cpu->r[3] = cpu->r[1] + 0x00000234u;
|
|
/* 027E6BB8 */ Gambit_fn_0281CA74(cpu);
|
|
/* 027E6BBC */ _t93 = cpu->r[28] + 0x00000008u;
|
|
/* 027E6BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 027E6BC0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E6BC4 */ _t94 = cpu->r[28] + 0x00000000u;
|
|
/* 027E6BC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027E6BC8 */ _t95 = cpu->r[28] + 0x00000004u;
|
|
/* 027E6BC8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 027E6BCC */ cpu->f[9] = cpu->f[11] + cpu->f[0];
|
|
/* 027E6BD0 */ _t96 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E6BD0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 027E6BD4 */ _t97 = cpu->r[9] + 0xFFFFFD84u;
|
|
/* 027E6BD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 027E6BD8 */ cpu->f[11] = cpu->f[12] + cpu->f[8];
|
|
/* 027E6BDC */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 027E6BE0 */ /* nop */
|
|
/* 027E6BE4 */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 027E6BE8 */ _t98 = cpu->r[1] + 0x00000020u;
|
|
/* 027E6BE8 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[9]);
|
|
/* 027E6BEC */ _t99 = cpu->r[1] + 0x00000020u;
|
|
/* 027E6BEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027E6BF0 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 027E6BF0 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]);
|
|
/* 027E6BF4 */ _t101 = cpu->r[1] + 0x00000024u;
|
|
/* 027E6BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027E6BF8 */ _t102 = cpu->r[1] + 0x00000090u;
|
|
/* 027E6BF8 */ rbrew_write32(cpu->mem, _t102, cpu->r[11]);
|
|
/* 027E6BFC */ _t103 = cpu->r[1] + 0x00000094u;
|
|
/* 027E6BFC */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 027E6C00 */ /* nop */
|
|
/* 027E6C04 */ /* nop */
|
|
/* 027E6C08 */ /* nop */
|
|
/* 027E6C0C */ /* nop */
|
|
/* 027E6C10 */ _t104 = cpu->r[1] + 0x00000098u;
|
|
/* 027E6C10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027E6C14 */ _t105 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E6C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027E6C18 */ _t106 = cpu->r[1] + 0x00000088u;
|
|
/* 027E6C18 */ rbrew_write32(cpu->mem, _t106, cpu->r[10]);
|
|
/* 027E6C1C */ _t107 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E6C1C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 027E6C20 */ /* nop */
|
|
/* 027E6C24 */ _t108 = cpu->r[1] + 0x00000028u;
|
|
/* 027E6C24 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[29]);
|
|
/* 027E6C28 */ /* nop */
|
|
/* 027E6C2C */ _t109 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E6C2C */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 027E6C30 */ /* nop */
|
|
/* 027E6C34 */ _t110 = cpu->r[1] + 0x000000A0u;
|
|
/* 027E6C34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027E6C38 */ _t111 = cpu->r[1] + 0x000000A4u;
|
|
/* 027E6C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027E6C3C */ _t112 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6C3C */ rbrew_write32(cpu->mem, _t112, cpu->r[8]);
|
|
/* 027E6C40 */ _t113 = cpu->r[1] + 0x00000044u;
|
|
/* 027E6C40 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
/* 027E6C44 */ _t114 = cpu->r[1] + 0x00000044u;
|
|
/* 027E6C44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 027E6C48 */ _t115 = cpu->r[1] + 0x00000040u;
|
|
/* 027E6C48 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027E6C4C */ cpu->f[7] = fma(cpu->f[28], cpu->f[0], cpu->f[8]);
|
|
/* 027E6C50 */ _t116 = cpu->r[1] + 0x00000030u;
|
|
/* 027E6C50 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 027E6C54 */ cpu->f[13] = fma(cpu->f[29], cpu->f[0], cpu->f[10]);
|
|
/* 027E6C58 */ _t117 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E6C58 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 027E6C5C */ cpu->f[8] = -cpu->f[7];
|
|
/* 027E6C60 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 027E6C64 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E6C68 */ _t118 = cpu->r[1] + 0x00000034u;
|
|
/* 027E6C68 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[13]);
|
|
/* 027E6C6C */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 027E6C70 */ _t119 = cpu->r[1] + 0x00000038u;
|
|
/* 027E6C70 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[8]);
|
|
/* 027E6C74 */ Gambit_fn_020FF2BC(cpu);
|
|
/* 027E6C78 */ cpu->r[3] = cpu->r[1] + 0x00000234u;
|
|
/* 027E6C7C */ Gambit_fn_0281BC78(cpu);
|
|
/* 027E6C80 */ /* nop */
|
|
/* 027E6C84 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E6C88 */ /* nop */
|
|
/* 027E6C8C */ cpu->r[7] = cpu->r[7] + 0xFFFFFCF4u;
|
|
/* 027E6C90 */ /* nop */
|
|
/* 027E6C94 */ /* nop */
|
|
/* 027E6C98 */ /* nop */
|
|
/* 027E6C9C */ /* nop */
|
|
/* 027E6CA0 */ /* nop */
|
|
/* 027E6CA4 */ /* nop */
|
|
/* 027E6CA8 */ /* nop */
|
|
/* 027E6CAC */ /* nop */
|
|
/* 027E6CB0 */ /* nop */
|
|
/* 027E6CB4 */ /* nop */
|
|
/* 027E6CB8 */ /* nop */
|
|
/* 027E6CBC */ /* nop */
|
|
/* 027E6CC0 */ /* nop */
|
|
/* 027E6CC4 */ /* nop */
|
|
/* 027E6CC8 */ /* nop */
|
|
/* 027E6CCC */ /* nop */
|
|
/* 027E6CD0 */ /* nop */
|
|
/* 027E6CD4 */ /* nop */
|
|
/* 027E6CD8 */ /* nop */
|
|
/* 027E6CDC */ /* nop */
|
|
/* 027E6CE0 */ /* nop */
|
|
/* 027E6CE4 */ /* nop */
|
|
/* 027E6CE8 */ /* nop */
|
|
/* 027E6CEC */ /* nop */
|
|
/* 027E6CF0 */ /* nop */
|
|
/* 027E6CF4 */ /* nop */
|
|
/* 027E6CF8 */ /* nop */
|
|
/* 027E6CFC */ /* nop */
|
|
/* 027E6D00 */ /* nop */
|
|
/* 027E6D04 */ /* nop */
|
|
/* 027E6D08 */ /* nop */
|
|
/* 027E6D0C */ /* nop */
|
|
/* 027E6D10 */ /* nop */
|
|
/* 027E6D14 */ /* nop */
|
|
/* 027E6D18 */ /* nop */
|
|
/* 027E6D1C */ /* nop */
|
|
/* 027E6D20 */ /* nop */
|
|
/* 027E6D24 */ /* nop */
|
|
/* 027E6D28 */ /* nop */
|
|
/* 027E6D2C */ /* nop */
|
|
/* 027E6D30 */ /* nop */
|
|
/* 027E6D34 */ /* nop */
|
|
/* 027E6D38 */ /* nop */
|
|
/* 027E6D3C */ /* nop */
|
|
/* 027E6D40 */ /* nop */
|
|
/* 027E6D44 */ /* nop */
|
|
/* 027E6D48 */ /* nop */
|
|
/* 027E6D4C */ /* nop */
|
|
/* 027E6D50 */ /* nop */
|
|
/* 027E6D54 */ _t120 = cpu->r[27] + 0x00000000u;
|
|
/* 027E6D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t120);
|
|
/* 027E6D58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E6D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E6D5C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6D5C */ _t122 = _t121 & 0x00000001u;
|
|
/* 027E6D5C */ if (_t122) goto L_027E6D6C; else goto L_027E6D60;
|
|
L_027E6D60: ; // 0x27e6d60
|
|
/* 027E6D60 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E6D64 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E6D68 */ Gambit_fn_028F3F1C(cpu);
|
|
L_027E6D6C: ; // 0x27e6d6c
|
|
/* 027E6D6C */ _t123 = cpu->r[27] + 0x00000038u;
|
|
/* 027E6D6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027E6D70 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E6D74 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 027E6D78 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E6D7C */ Gambit_fn_028FA6D4(cpu);
|
|
/* 027E6D80 */ _t124 = cpu->r[27] + 0x00000028u;
|
|
/* 027E6D80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027E6D84 */ _t125 = cpu->r[30] + 0x00000008u;
|
|
/* 027E6D84 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t125);
|
|
/* 027E6D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 027E6D8C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6D8C */ _t127 = _t126 & 0x00000001u;
|
|
/* 027E6D8C */ if (_t127) goto L_027E6DA0; else goto L_027E6D90;
|
|
L_027E6D90: ; // 0x27e6d90
|
|
/* 027E6D90 */ _t128 = cpu->r[30] + 0x00000008u;
|
|
/* 027E6D90 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t128);
|
|
/* 027E6D94 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 027E6D98 */ cpu->r[4] = 0x00000010u;
|
|
/* 027E6D9C */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_027E6DA0: ; // 0x27e6da0
|
|
/* 027E6DA0 */ _t129 = cpu->r[30] + 0x0000000Au;
|
|
/* 027E6DA0 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t129);
|
|
/* 027E6DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E6DA8 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6DA8 */ _t131 = _t130 & 0x00000001u;
|
|
/* 027E6DA8 */ if (_t131) goto L_027E6DB8; else goto L_027E6DAC;
|
|
L_027E6DAC: ; // 0x27e6dac
|
|
/* 027E6DAC */ cpu->r[4] = 0x00000010u;
|
|
/* 027E6DB0 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 027E6DB4 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
L_027E6DB8: ; // 0x27e6db8
|
|
/* 027E6DB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6DBC */ _t132 = cpu->r[11] + 0xFFFFA544u;
|
|
/* 027E6DBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t132);
|
|
/* 027E6DC0 */ cpu->r[3] = cpu->r[11] + 0x000006BCu;
|
|
/* 027E6DC4 */ Gambit_fn_028FB628(cpu);
|
|
/* 027E6DC8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027E6DCC */ _t133 = cpu->r[7] + 0xFFFFA52Cu;
|
|
/* 027E6DCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027E6DD0 */ _t134 = cpu->r[7] + 0x0000018Cu;
|
|
/* 027E6DD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027E6DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E6DD8 */ cpu->r[12] = cpu->r[7] + 0x00000180u;
|
|
/* 027E6DDC */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6DDC */ _t136 = _t135 & 0x00000001u;
|
|
/* 027E6DDC */ if (_t136) goto L_027E6DF8; else goto L_027E6DE0;
|
|
L_027E6DE0: ; // 0x27e6de0
|
|
/* 027E6DE0 */ _t137 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6DE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t137);
|
|
/* 027E6DE4 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E6DE8 */ _t138 = cpu->r[12] + 0x00000008u;
|
|
/* 027E6DE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 027E6DEC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E6DF0 */ _t139 = cpu->r[12] + 0x00000004u;
|
|
/* 027E6DF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t139);
|
|
/* 027E6DF4 */ rbrew_dispatch(cpu, 0x02d05930u);
|
|
L_027E6DF8: ; // 0x27e6df8
|
|
/* 027E6DF8 */ cpu->r[3] = cpu->r[1] + 0x00000234u;
|
|
/* 027E6DFC */ cpu->r[4] = 0x00000002u;
|
|
/* 027E6E00 */ Gambit_fn_0281CB84(cpu);
|
|
/* 027E6E04 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E6E08 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E6E0C */ Gambit_fn_028FA208(cpu);
|
|
/* 027E6E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6E14 */ /* nop */
|
|
/* 027E6E18 */ _t140 = cpu->r[1] + 0x00000318u;
|
|
/* 027E6E18 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 027E6E1C */ _t141 = cpu->r[1] + 0x00000328u;
|
|
/* 027E6E1C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 027E6E20 */ _t142 = cpu->r[1] + 0x00000310u;
|
|
/* 027E6E20 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 027E6E24 */ _t143 = cpu->r[1] + 0x00000320u;
|
|
/* 027E6E24 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 027E6E28 */ _t144 = cpu->r[1] + 0x00000308u;
|
|
/* 027E6E28 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 027E6E2C */ _t145 = cpu->r[1] + 0x00000338u;
|
|
/* 027E6E2C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t145);
|
|
/* 027E6E30 */ _t146 = cpu->r[1] + 0x00000300u;
|
|
/* 027E6E30 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 027E6E34 */ _t147 = cpu->r[1] + 0x00000330u;
|
|
/* 027E6E34 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t147);
|
|
/* 027E6E38 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6E38 */ _t149 = _t148 & 0x00000001u;
|
|
/* 027E6E38 */ if (_t149) goto L_027E6E3C; // else: addr-0 trap, fall-through
|
|
L_027E6E3C: ; // 0x27e6e3c
|
|
/* 027E6E3C */ _t150 = cpu->r[1] + 0x00000344u;
|
|
/* 027E6E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
|
|
/* 027E6E40 */ cpu->lr = cpu->r[0];
|
|
/* 027E6E44 */ cpu->r[1] = cpu->r[1] + 0x00000340u;
|
|
/* 027E6E48 */ return;
|
|
}
|
|
|
|
// fn_027E6E4C @ 0x27e6e4c
|
|
void Gambit_fn_027E6E4C(CPUState* cpu) {
|
|
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_027E6E4C: ; // 0x27e6e4c
|
|
/* 027E6E4C */ cpu->r[0] = cpu->lr;
|
|
/* 027E6E50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6E50 */ cpu->r[1] = _t0;
|
|
/* 027E6E54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6E58 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6E5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6E60 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6E64 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6E64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6E6C */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6E70 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6E70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6E70 */ if (_t7) goto L_027E6E74; else goto L_027E6E7C;
|
|
L_027E6E74: ; // 0x27e6e74
|
|
/* 027E6E74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6E78 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6E7C: ; // 0x27e6e7c
|
|
/* 027E6E7C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6E80 */ _t8 = cpu->r[11] + 0xFFFFD864u;
|
|
/* 027E6E80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6E80 */ cpu->r[11] = _t8;
|
|
/* 027E6E84 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6E88 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6E90 */ cpu->r[4] = cpu->r[4] + 0xFFFFE294u;
|
|
/* 027E6E94 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6E94 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6E94 */ if (_t11) goto L_027E6E98; else goto L_027E6EAC;
|
|
L_027E6E98: ; // 0x27e6e98
|
|
/* 027E6E98 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6E9C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6EA0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD44u;
|
|
/* 027E6EA4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6EA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6EA8 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6EA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6EAC: ; // 0x27e6eac
|
|
/* 027E6EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6EB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6EB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6EB0 */ if (_t15) goto L_027E6ED0; else goto L_027E6EB4;
|
|
L_027E6EB4: ; // 0x27e6eb4
|
|
/* 027E6EB4 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6EB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6EB8 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6EBC */ cpu->ctr = cpu->r[0];
|
|
/* 027E6EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6EC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6ECC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6ECC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E6ECC */ if (_t19) goto L_027E6ED0; else goto L_027E6ED4;
|
|
L_027E6ED0: ; // 0x27e6ed0
|
|
/* 027E6ED0 */ cpu->r[31] = 0x00000000u;
|
|
L_027E6ED4: ; // 0x27e6ed4
|
|
/* 027E6ED4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6ED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6EDC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E6EE0 */ cpu->lr = cpu->r[0];
|
|
/* 027E6EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6EE8 */ return;
|
|
}
|
|
|
|
// fn_027E6E50 @ 0x27e6e50
|
|
void Gambit_fn_027E6E50(CPUState* cpu) {
|
|
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_027E6E50: ; // 0x27e6e50
|
|
/* 027E6E50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6E50 */ cpu->r[1] = _t0;
|
|
/* 027E6E54 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6E54 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6E58 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6E5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6E60 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6E64 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6E64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6E6C */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6E70 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6E70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6E70 */ if (_t7) goto L_027E6E74; else goto L_027E6E7C;
|
|
L_027E6E74: ; // 0x27e6e74
|
|
/* 027E6E74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6E78 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6E7C: ; // 0x27e6e7c
|
|
/* 027E6E7C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6E80 */ _t8 = cpu->r[11] + 0xFFFFD864u;
|
|
/* 027E6E80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6E80 */ cpu->r[11] = _t8;
|
|
/* 027E6E84 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6E88 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6E90 */ cpu->r[4] = cpu->r[4] + 0xFFFFE294u;
|
|
/* 027E6E94 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6E94 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6E94 */ if (_t11) goto L_027E6E98; else goto L_027E6EAC;
|
|
L_027E6E98: ; // 0x27e6e98
|
|
/* 027E6E98 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6E9C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6EA0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD44u;
|
|
/* 027E6EA4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6EA4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6EA8 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6EA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6EAC: ; // 0x27e6eac
|
|
/* 027E6EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6EB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6EB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6EB0 */ if (_t15) goto L_027E6ED0; else goto L_027E6EB4;
|
|
L_027E6EB4: ; // 0x27e6eb4
|
|
/* 027E6EB4 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6EB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6EB8 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6EBC */ cpu->ctr = cpu->r[0];
|
|
/* 027E6EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6EC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6ECC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6ECC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E6ECC */ if (_t19) goto L_027E6ED0; else goto L_027E6ED4;
|
|
L_027E6ED0: ; // 0x27e6ed0
|
|
/* 027E6ED0 */ cpu->r[31] = 0x00000000u;
|
|
L_027E6ED4: ; // 0x27e6ed4
|
|
/* 027E6ED4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6ED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6ED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6EDC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E6EE0 */ cpu->lr = cpu->r[0];
|
|
/* 027E6EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6EE8 */ return;
|
|
}
|
|
|
|
// fn_027E6EEC @ 0x27e6eec
|
|
void Gambit_fn_027E6EEC(CPUState* cpu) {
|
|
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_027E6EEC: ; // 0x27e6eec
|
|
/* 027E6EEC */ cpu->r[0] = cpu->lr;
|
|
/* 027E6EF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6EF0 */ cpu->r[1] = _t0;
|
|
/* 027E6EF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6EF8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6EFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6F00 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6F00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6F04 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6F0C */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6F0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6F10 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6F10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6F10 */ if (_t7) goto L_027E6F14; else goto L_027E6F1C;
|
|
L_027E6F14: ; // 0x27e6f14
|
|
/* 027E6F14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6F18 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6F1C: ; // 0x27e6f1c
|
|
/* 027E6F1C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6F20 */ _t8 = cpu->r[11] + 0xFFFFDAFCu;
|
|
/* 027E6F20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6F20 */ cpu->r[11] = _t8;
|
|
/* 027E6F24 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6F28 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6F30 */ cpu->r[4] = cpu->r[4] + 0xFFFFE288u;
|
|
/* 027E6F34 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F34 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6F34 */ if (_t11) goto L_027E6F38; else goto L_027E6F4C;
|
|
L_027E6F38: ; // 0x27e6f38
|
|
/* 027E6F38 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6F3C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6F40 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD74u;
|
|
/* 027E6F44 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6F44 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6F48 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6F48 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6F4C: ; // 0x27e6f4c
|
|
/* 027E6F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6F50 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F50 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6F50 */ if (_t15) goto L_027E6F70; else goto L_027E6F54;
|
|
L_027E6F54: ; // 0x27e6f54
|
|
/* 027E6F54 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6F54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6F58 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6F5C */ cpu->ctr = cpu->r[0];
|
|
/* 027E6F60 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6F64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6F6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E6F6C */ if (_t19) goto L_027E6F70; else goto L_027E6F74;
|
|
L_027E6F70: ; // 0x27e6f70
|
|
/* 027E6F70 */ cpu->r[31] = 0x00000000u;
|
|
L_027E6F74: ; // 0x27e6f74
|
|
/* 027E6F74 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6F78 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6F7C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E6F80 */ cpu->lr = cpu->r[0];
|
|
/* 027E6F84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6F88 */ return;
|
|
}
|
|
|
|
// fn_027E6EF0 @ 0x27e6ef0
|
|
void Gambit_fn_027E6EF0(CPUState* cpu) {
|
|
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_027E6EF0: ; // 0x27e6ef0
|
|
/* 027E6EF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6EF0 */ cpu->r[1] = _t0;
|
|
/* 027E6EF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6EF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6EF8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6EFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6F00 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6F00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6F04 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6F0C */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6F0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6F10 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6F10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6F10 */ if (_t7) goto L_027E6F14; else goto L_027E6F1C;
|
|
L_027E6F14: ; // 0x27e6f14
|
|
/* 027E6F14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6F18 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6F1C: ; // 0x27e6f1c
|
|
/* 027E6F1C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6F20 */ _t8 = cpu->r[11] + 0xFFFFDAFCu;
|
|
/* 027E6F20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6F20 */ cpu->r[11] = _t8;
|
|
/* 027E6F24 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6F28 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6F30 */ cpu->r[4] = cpu->r[4] + 0xFFFFE288u;
|
|
/* 027E6F34 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F34 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6F34 */ if (_t11) goto L_027E6F38; else goto L_027E6F4C;
|
|
L_027E6F38: ; // 0x27e6f38
|
|
/* 027E6F38 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6F3C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6F40 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD74u;
|
|
/* 027E6F44 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6F44 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6F48 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6F48 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6F4C: ; // 0x27e6f4c
|
|
/* 027E6F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6F50 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F50 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6F50 */ if (_t15) goto L_027E6F70; else goto L_027E6F54;
|
|
L_027E6F54: ; // 0x27e6f54
|
|
/* 027E6F54 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6F54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6F58 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6F5C */ cpu->ctr = cpu->r[0];
|
|
/* 027E6F60 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6F64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E6F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E6F6C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6F6C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E6F6C */ if (_t19) goto L_027E6F70; else goto L_027E6F74;
|
|
L_027E6F70: ; // 0x27e6f70
|
|
/* 027E6F70 */ cpu->r[31] = 0x00000000u;
|
|
L_027E6F74: ; // 0x27e6f74
|
|
/* 027E6F74 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E6F78 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E6F7C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E6F80 */ cpu->lr = cpu->r[0];
|
|
/* 027E6F84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E6F88 */ return;
|
|
}
|
|
|
|
// fn_027E6F8C @ 0x27e6f8c
|
|
void Gambit_fn_027E6F8C(CPUState* cpu) {
|
|
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_027E6F8C: ; // 0x27e6f8c
|
|
/* 027E6F8C */ cpu->r[0] = cpu->lr;
|
|
/* 027E6F90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6F90 */ cpu->r[1] = _t0;
|
|
/* 027E6F94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6F98 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6F9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6F9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6FA0 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6FA4 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6FA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6FAC */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6FAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6FB0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6FB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6FB0 */ if (_t7) goto L_027E6FB4; else goto L_027E6FBC;
|
|
L_027E6FB4: ; // 0x27e6fb4
|
|
/* 027E6FB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6FB8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6FBC: ; // 0x27e6fbc
|
|
/* 027E6FBC */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6FC0 */ _t8 = cpu->r[11] + 0xFFFFDB08u;
|
|
/* 027E6FC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6FC0 */ cpu->r[11] = _t8;
|
|
/* 027E6FC4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6FC8 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6FD0 */ cpu->r[4] = cpu->r[4] + 0xFFFFE28Cu;
|
|
/* 027E6FD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6FD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6FD4 */ if (_t11) goto L_027E6FD8; else goto L_027E6FEC;
|
|
L_027E6FD8: ; // 0x27e6fd8
|
|
/* 027E6FD8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6FDC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6FE0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD74u;
|
|
/* 027E6FE4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6FE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6FE8 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6FE8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6FEC: ; // 0x27e6fec
|
|
/* 027E6FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6FF0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6FF0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6FF0 */ if (_t15) goto L_027E7010; else goto L_027E6FF4;
|
|
L_027E6FF4: ; // 0x27e6ff4
|
|
/* 027E6FF4 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6FF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6FF8 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6FFC */ cpu->ctr = cpu->r[0];
|
|
/* 027E7000 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7004 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E700C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E700C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E700C */ if (_t19) goto L_027E7010; else goto L_027E7014;
|
|
L_027E7010: ; // 0x27e7010
|
|
/* 027E7010 */ cpu->r[31] = 0x00000000u;
|
|
L_027E7014: ; // 0x27e7014
|
|
/* 027E7014 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E7018 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E701C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E701C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E7020 */ cpu->lr = cpu->r[0];
|
|
/* 027E7024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7028 */ return;
|
|
}
|
|
|
|
// fn_027E6F90 @ 0x27e6f90
|
|
void Gambit_fn_027E6F90(CPUState* cpu) {
|
|
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_027E6F90: ; // 0x27e6f90
|
|
/* 027E6F90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E6F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E6F90 */ cpu->r[1] = _t0;
|
|
/* 027E6F94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E6F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E6F98 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6F9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E6F9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E6FA0 */ _t3 = cpu->r[11] + 0xFFFFA498u;
|
|
/* 027E6FA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E6FA4 */ _t4 = cpu->r[11] + 0x00000F38u;
|
|
/* 027E6FA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E6FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 027E6FAC */ _t5 = cpu->r[11] + 0x00000F3Cu;
|
|
/* 027E6FAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E6FB0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E6FB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E6FB0 */ if (_t7) goto L_027E6FB4; else goto L_027E6FBC;
|
|
L_027E6FB4: ; // 0x27e6fb4
|
|
/* 027E6FB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E6FB8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027E6FBC: ; // 0x27e6fbc
|
|
/* 027E6FBC */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E6FC0 */ _t8 = cpu->r[11] + 0xFFFFDB08u;
|
|
/* 027E6FC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E6FC0 */ cpu->r[11] = _t8;
|
|
/* 027E6FC4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E6FC8 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 027E6FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E6FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E6FD0 */ cpu->r[4] = cpu->r[4] + 0xFFFFE28Cu;
|
|
/* 027E6FD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6FD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E6FD4 */ if (_t11) goto L_027E6FD8; else goto L_027E6FEC;
|
|
L_027E6FD8: ; // 0x27e6fd8
|
|
/* 027E6FD8 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E6FDC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E6FE0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD74u;
|
|
/* 027E6FE4 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 027E6FE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027E6FE8 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 027E6FE8 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_027E6FEC: ; // 0x27e6fec
|
|
/* 027E6FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E6FF0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E6FF0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E6FF0 */ if (_t15) goto L_027E7010; else goto L_027E6FF4;
|
|
L_027E6FF4: ; // 0x27e6ff4
|
|
/* 027E6FF4 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E6FF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E6FF8 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 027E6FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E6FFC */ cpu->ctr = cpu->r[0];
|
|
/* 027E7000 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7004 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E700C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E700C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E700C */ if (_t19) goto L_027E7010; else goto L_027E7014;
|
|
L_027E7010: ; // 0x27e7010
|
|
/* 027E7010 */ cpu->r[31] = 0x00000000u;
|
|
L_027E7014: ; // 0x27e7014
|
|
/* 027E7014 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E7018 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E701C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E701C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E7020 */ cpu->lr = cpu->r[0];
|
|
/* 027E7024 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7028 */ return;
|
|
}
|
|
|
|
// fn_027E702C @ 0x27e702c
|
|
void Gambit_fn_027E702C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027E702C: ; // 0x27e702c
|
|
/* 027E702C */ cpu->r[0] = cpu->lr;
|
|
/* 027E7030 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E7030 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E7034 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E7034 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E7034 */ cpu->r[1] = _t1;
|
|
/* 027E7038 */ Gambit_fn_027B4300(cpu);
|
|
/* 027E703C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 027E703C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E7040 */ cpu->r[11] = 0x43300000u;
|
|
/* 027E7044 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E7048 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7048 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027E704C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7050 */ cpu->r[10] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E7054 */ _t5 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7054 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 027E7058 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 027E705C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E705C */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 027E7060 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7060 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 027E7064 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7064 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027E7068 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7068 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 027E706C */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 027E7070 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 027E7074 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 027E7078 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 027E707C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027E707C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 027E7080 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7084 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7084 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 027E7088 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E708C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E708C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 027E7090 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7090 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E7094 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E7098 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E709C */ cpu->lr = cpu->r[0];
|
|
/* 027E70A0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E70A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E70A8 */ return;
|
|
}
|
|
|
|
// fn_027E7034 @ 0x27e7034
|
|
void Gambit_fn_027E7034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027E7034: ; // 0x27e7034
|
|
/* 027E7034 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E7034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7034 */ cpu->r[1] = _t0;
|
|
/* 027E7038 */ Gambit_fn_027B4300(cpu);
|
|
/* 027E703C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 027E703C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E7040 */ cpu->r[11] = 0x43300000u;
|
|
/* 027E7044 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E7048 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7048 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027E704C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7050 */ cpu->r[10] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E7054 */ _t4 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7054 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 027E7058 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 027E705C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E705C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 027E7060 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7060 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027E7064 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7064 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E7068 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7068 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027E706C */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 027E7070 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 027E7074 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 027E7078 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 027E707C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027E707C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 027E7080 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E7084 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7084 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 027E7088 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E708C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E708C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 027E7090 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7090 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 027E7094 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7098 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E709C */ cpu->lr = cpu->r[0];
|
|
/* 027E70A0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E70A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E70A8 */ return;
|
|
}
|
|
|
|
// fn_027E70AC @ 0x27e70ac
|
|
void Gambit_fn_027E70AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027E70AC: ; // 0x27e70ac
|
|
/* 027E70AC */ cpu->r[0] = cpu->lr;
|
|
/* 027E70B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E70B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E70B4 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E70B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E70B4 */ cpu->r[1] = _t1;
|
|
/* 027E70B8 */ Gambit_fn_027E702C(cpu);
|
|
/* 027E70BC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027E70BC */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 027E70C0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E70C4 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027E70C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E70C8 */ _t4 = cpu->r[10] + 0xFFFFFD84u;
|
|
/* 027E70C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E70CC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E70CC */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 027E70D0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E70D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E70D4 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 027E70D8 */ cpu->f[0] = cpu->f[11] * cpu->f[0];
|
|
/* 027E70DC */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027E70DC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 027E70E0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027E70E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E70E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E70E4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027E70E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E70E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E70EC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70EC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027E70F0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027E70F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E70F4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E70F4 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 027E70F8 */ cpu->lr = cpu->r[0];
|
|
/* 027E70FC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E7100 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7100 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7104 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E7108 */ return;
|
|
}
|
|
|
|
// fn_027E70B4 @ 0x27e70b4
|
|
void Gambit_fn_027E70B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_027E70B4: ; // 0x27e70b4
|
|
/* 027E70B4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E70B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E70B4 */ cpu->r[1] = _t0;
|
|
/* 027E70B8 */ Gambit_fn_027E702C(cpu);
|
|
/* 027E70BC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027E70BC */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 027E70C0 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E70C4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027E70C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E70C8 */ _t3 = cpu->r[10] + 0xFFFFFD84u;
|
|
/* 027E70C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E70CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E70CC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 027E70D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E70D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E70D4 */ cpu->f[12] = cpu->f[13] * cpu->f[0];
|
|
/* 027E70D8 */ cpu->f[0] = cpu->f[11] * cpu->f[0];
|
|
/* 027E70DC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027E70DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 027E70E0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027E70E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E70E4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E70E4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027E70E8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E70E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E70EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70EC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E70F0 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 027E70F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E70F4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E70F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E70F8 */ cpu->lr = cpu->r[0];
|
|
/* 027E70FC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E70FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7100 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7100 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E7104 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E7108 */ return;
|
|
}
|
|
|
|
// fn_027E710C @ 0x27e710c
|
|
void Gambit_fn_027E710C(CPUState* 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_027B4368: ; // 0x27b4368
|
|
/* 027B4368 */ cpu->r[0] = cpu->lr;
|
|
/* 027B436C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027B436C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027B4370 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027B4374 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027B4374 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027B4374 */ cpu->r[1] = _t1;
|
|
/* 027B4378 */ _t2 = cpu->r[9] + 0x00002B98u;
|
|
/* 027B4378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027B4378 */ cpu->r[9] = _t2;
|
|
/* 027B437C */ cpu->r[8] = 0x101F0000u;
|
|
/* 027B4380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027B4384 */ cpu->r[8] = cpu->r[8] + 0x00002B90u;
|
|
/* 027B4388 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B4388 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027B4388 */ if (_t4) goto L_027B438C; else goto L_027B4404;
|
|
L_027B438C: ; // 0x27b438c
|
|
/* 027B438C */ cpu->r[0] = 0x00000001u;
|
|
/* 027B4390 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 027B4390 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027B4394 */ Gambit_fn_027B4300(cpu);
|
|
/* 027B4398 */ cpu->r[4] = 0x10110000u;
|
|
/* 027B439C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 027B439C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027B43A0 */ _t7 = cpu->r[4] + 0xFFFFAE88u;
|
|
/* 027B43A0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 027B43A4 */ cpu->r[7] = 0x43300000u;
|
|
/* 027B43A8 */ cpu->r[9] = cpu->r[11] ^ 0x80000000u;
|
|
/* 027B43AC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027B43AC */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 027B43B0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027B43B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 027B43B4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027B43B4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027B43B8 */ cpu->f[11] = cpu->f[9] - cpu->f[0];
|
|
/* 027B43BC */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 027B43C0 */ Gambit_fn_027B4334(cpu);
|
|
/* 027B43C4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 027B43C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027B43C8 */ cpu->f[9] = cpu->f[11] * cpu->f[8];
|
|
/* 027B43CC */ Gambit_fn_027B4300(cpu);
|
|
/* 027B43D0 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 027B43D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027B43D4 */ _t13 = cpu->r[4] + 0xFFFFAE88u;
|
|
/* 027B43D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 027B43D8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027B43DC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027B43DC */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 027B43E0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027B43E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027B43E4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027B43E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 027B43E8 */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 027B43EC */ cpu->f[13] = (double)(float)cpu->f[10];
|
|
/* 027B43F0 */ Gambit_fn_027B4334(cpu);
|
|
/* 027B43F4 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 027B43F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027B43F8 */ cpu->f[12] = cpu->f[13] * cpu->f[12];
|
|
/* 027B43FC */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 027B43FC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 027B4400 */ _t19 = cpu->r[8] + 0x00000004u;
|
|
/* 027B4400 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
L_027B4404: ; // 0x27b4404
|
|
/* 027B4404 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027B4404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027B4408 */ cpu->lr = cpu->r[0];
|
|
/* 027B440C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027B4410 */ cpu->r[3] = cpu->r[8];
|
|
/* 027B4414 */ return;
|
|
L_027E710C: ; // 0x27e710c
|
|
/* 027E710C */ goto L_027B4368;
|
|
}
|
|
|
|
// fn_027E7110 @ 0x27e7110
|
|
void Gambit_fn_027E7110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E7110: ; // 0x27e7110
|
|
/* 027E7110 */ cpu->r[0] = cpu->lr;
|
|
/* 027E7114 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E7114 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E7118 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E7118 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E7118 */ cpu->r[1] = _t1;
|
|
/* 027E711C */ Gambit_fn_027E710C(cpu);
|
|
/* 027E7120 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7124 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7124 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E7128 */ _t3 = cpu->r[12] + 0xFFFFFD84u;
|
|
/* 027E7128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E712C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 027E7130 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7130 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 027E7134 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027E7134 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E7138 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E713C */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 027E7140 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7140 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027E7144 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7144 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027E7148 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E714C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E714C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027E7150 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7154 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7158 */ cpu->lr = cpu->r[0];
|
|
/* 027E715C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E715C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E7164 */ return;
|
|
}
|
|
|
|
// fn_027E7118 @ 0x27e7118
|
|
void Gambit_fn_027E7118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027E7118: ; // 0x27e7118
|
|
/* 027E7118 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E7118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7118 */ cpu->r[1] = _t0;
|
|
/* 027E711C */ Gambit_fn_027E710C(cpu);
|
|
/* 027E7120 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7124 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7124 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E7128 */ _t2 = cpu->r[12] + 0xFFFFFD84u;
|
|
/* 027E7128 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E712C */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 027E7130 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7130 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[13]);
|
|
/* 027E7134 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027E7134 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E7138 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E713C */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 027E7140 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7140 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E7144 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7144 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027E7148 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E714C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E714C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027E7150 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E7154 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7154 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7158 */ cpu->lr = cpu->r[0];
|
|
/* 027E715C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E715C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E7164 */ return;
|
|
}
|
|
|
|
// fn_027E7168 @ 0x27e7168
|
|
void Gambit_fn_027E7168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E7168: ; // 0x27e7168
|
|
/* 027E7168 */ cpu->r[0] = cpu->lr;
|
|
/* 027E716C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E716C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E7170 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E7170 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E7170 */ cpu->r[1] = _t1;
|
|
/* 027E7174 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 027E7178 */ _t2 = cpu->r[3] + 0x00000054u;
|
|
/* 027E7178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E717C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027E7180 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027E7184 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E7188 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E718C */ cpu->lr = cpu->r[0];
|
|
/* 027E7190 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7194 */ return;
|
|
}
|
|
|
|
// fn_027E7170 @ 0x27e7170
|
|
void Gambit_fn_027E7170(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E7170: ; // 0x27e7170
|
|
/* 027E7170 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E7170 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7170 */ cpu->r[1] = _t0;
|
|
/* 027E7174 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 027E7178 */ _t1 = cpu->r[3] + 0x00000054u;
|
|
/* 027E7178 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027E717C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027E7180 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027E7184 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E7188 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E718C */ cpu->lr = cpu->r[0];
|
|
/* 027E7190 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7194 */ return;
|
|
}
|
|
|
|
// fn_027E7198 @ 0x27e7198
|
|
void Gambit_fn_027E7198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E7198: ; // 0x27e7198
|
|
/* 027E7198 */ cpu->r[0] = cpu->lr;
|
|
/* 027E719C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027E719C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027E71A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E71A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027E71A0 */ cpu->r[1] = _t1;
|
|
/* 027E71A4 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 027E71A8 */ _t2 = cpu->r[3] + 0x00000054u;
|
|
/* 027E71A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E71AC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027E71B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E71B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E71B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E71B8 */ cpu->lr = cpu->r[0];
|
|
/* 027E71BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E71C0 */ return;
|
|
}
|
|
|
|
// fn_027E71A0 @ 0x27e71a0
|
|
void Gambit_fn_027E71A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027E71A0: ; // 0x27e71a0
|
|
/* 027E71A0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027E71A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E71A0 */ cpu->r[1] = _t0;
|
|
/* 027E71A4 */ Gambit_fn_027E6E4C(cpu);
|
|
/* 027E71A8 */ _t1 = cpu->r[3] + 0x00000054u;
|
|
/* 027E71A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027E71AC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027E71B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027E71B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E71B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E71B8 */ cpu->lr = cpu->r[0];
|
|
/* 027E71BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027E71C0 */ return;
|
|
}
|
|
|
|
// fn_027E71C4 @ 0x27e71c4
|
|
void Gambit_fn_027E71C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_027E71C4: ; // 0x27e71c4
|
|
/* 027E71C4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E71C8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027E71C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E71C8 */ cpu->r[1] = _t0;
|
|
/* 027E71CC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027E71CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E71D0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E71D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E71D4 */ /* nop */
|
|
/* 027E71D8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 027E71D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027E71DC */ cpu->r[31] = cpu->r[6];
|
|
/* 027E71E0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 027E71E0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E71E4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027E71E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 027E71E8 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 027E71E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E71EC */ cpu->r[29] = cpu->r[3];
|
|
/* 027E71F0 */ cpu->r[3] = cpu->r[5];
|
|
/* 027E71F4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E71F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E71FC */ cpu->r[30] = cpu->r[7];
|
|
/* 027E7200 */ Gambit_fn_0281A9D0(cpu);
|
|
/* 027E7204 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7208 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027E720C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7210 */ Gambit_fn_0281BCA8(cpu);
|
|
/* 027E7214 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7218 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E721C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027E7220 */ Gambit_fn_0281DE48(cpu);
|
|
/* 027E7224 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E7228 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E722C */ _t7 = cpu->r[12] + 0xFFFFD850u;
|
|
/* 027E722C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E7230 */ cpu->r[30] = cpu->r[30] + 0xFFFFFD34u;
|
|
/* 027E7234 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E7238 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E723C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7240 */ _t8 = cpu->r[10] + 0xFFFFFCE8u;
|
|
/* 027E7240 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7244 */ cpu->r[4] = cpu->r[4] + 0x000013E0u;
|
|
/* 027E7248 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7248 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E7248 */ if (_t10) goto L_027E724C; else goto L_027E725C;
|
|
L_027E724C: ; // 0x27e724c
|
|
/* 027E724C */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 027E724C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 027E7250 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7254 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E7258 */ _t12 = cpu->r[11] + 0xFFFFD850u;
|
|
/* 027E7258 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_027E725C: ; // 0x27e725c
|
|
/* 027E725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7260 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7260 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E7260 */ if (_t14) goto L_027E72A8; else goto L_027E7264;
|
|
L_027E7264: ; // 0x27e7264
|
|
/* 027E7264 */ _t15 = cpu->r[31] + 0x00000090u;
|
|
/* 027E7264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7268 */ _t16 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E7268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E726C */ cpu->ctr = cpu->r[0];
|
|
/* 027E7270 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E727C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E727C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E727C */ if (_t18) goto L_027E72A8; else goto L_027E7280;
|
|
L_027E7280: ; // 0x27e7280
|
|
/* 027E7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7284 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7284 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E7284 */ if (_t20) goto L_027E72A8; else goto L_027E7288;
|
|
L_027E7288: ; // 0x27e7288
|
|
/* 027E7288 */ _t21 = cpu->r[31] + 0x00000094u;
|
|
/* 027E7288 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E728C */ cpu->f[13] = -cpu->f[31];
|
|
/* 027E7290 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E7294 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027E7298 */ /* nop */
|
|
/* 027E729C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E72A0 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027E72A4 */ goto L_027E7314;
|
|
L_027E72A8: ; // 0x27e72a8
|
|
/* 027E72A8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E72AC */ _t23 = cpu->r[11] + 0xFFFFD854u;
|
|
/* 027E72AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E72AC */ cpu->r[11] = _t23;
|
|
/* 027E72B0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E72B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E72B8 */ cpu->r[4] = cpu->r[4] + 0x0000157Cu;
|
|
/* 027E72BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E72BC */ if (_t25) goto L_027E72C0; else goto L_027E72CC;
|
|
L_027E72C0: ; // 0x27e72c0
|
|
/* 027E72C0 */ _t26 = cpu->r[4] + 0x00000000u;
|
|
/* 027E72C0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 027E72C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E72C8 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 027E72C8 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_027E72CC: ; // 0x27e72cc
|
|
/* 027E72CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E72D0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72D0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E72D0 */ if (_t29) goto L_027E72FC; else goto L_027E72D4;
|
|
L_027E72D4: ; // 0x27e72d4
|
|
/* 027E72D4 */ _t30 = cpu->r[31] + 0x00000090u;
|
|
/* 027E72D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E72D8 */ _t31 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E72D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E72DC */ cpu->ctr = cpu->r[0];
|
|
/* 027E72E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E72E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E72E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E72EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E72EC */ if (_t33) goto L_027E72FC; else goto L_027E72F0;
|
|
L_027E72F0: ; // 0x27e72f0
|
|
/* 027E72F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E72F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E72F4 */ if (_t35) goto L_027E72FC; else goto L_027E72F8;
|
|
L_027E72F8: ; // 0x27e72f8
|
|
/* 027E72F8 */ _t36 = cpu->r[31] + 0x00000094u;
|
|
/* 027E72F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
L_027E72FC: ; // 0x27e72fc
|
|
/* 027E72FC */ cpu->f[13] = -cpu->f[31];
|
|
/* 027E7300 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 027E7304 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027E7308 */ /* nop */
|
|
/* 027E730C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E7310 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
L_027E7314: ; // 0x27e7314
|
|
/* 027E7314 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7318 */ _t39 = cpu->r[1] + 0x00000038u;
|
|
/* 027E7318 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 027E731C */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 027E731C */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E7320 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 027E7320 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 027E7324 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7328 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7328 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E7328 */ if (_t44) goto L_027E732C; // else: addr-0 trap, fall-through
|
|
L_027E732C: ; // 0x27e732c
|
|
/* 027E732C */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027E732C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E7330 */ cpu->lr = cpu->r[0];
|
|
/* 027E7334 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027E7338 */ return;
|
|
}
|
|
|
|
// fn_027E71C8 @ 0x27e71c8
|
|
void Gambit_fn_027E71C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_027E71C8: ; // 0x27e71c8
|
|
/* 027E71C8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027E71C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E71C8 */ cpu->r[1] = _t0;
|
|
/* 027E71CC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027E71CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027E71D0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E71D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E71D4 */ /* nop */
|
|
/* 027E71D8 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 027E71D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027E71DC */ cpu->r[31] = cpu->r[6];
|
|
/* 027E71E0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 027E71E0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E71E4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027E71E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 027E71E8 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 027E71E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E71EC */ cpu->r[29] = cpu->r[3];
|
|
/* 027E71F0 */ cpu->r[3] = cpu->r[5];
|
|
/* 027E71F4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027E71F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E71FC */ cpu->r[30] = cpu->r[7];
|
|
/* 027E7200 */ Gambit_fn_0281A9D0(cpu);
|
|
/* 027E7204 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7208 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027E720C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7210 */ Gambit_fn_0281BCA8(cpu);
|
|
/* 027E7214 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7218 */ cpu->r[4] = cpu->r[29];
|
|
/* 027E721C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027E7220 */ Gambit_fn_0281DE48(cpu);
|
|
/* 027E7224 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E7228 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E722C */ _t7 = cpu->r[12] + 0xFFFFD850u;
|
|
/* 027E722C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E7230 */ cpu->r[30] = cpu->r[30] + 0xFFFFFD34u;
|
|
/* 027E7234 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E7238 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E723C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7240 */ _t8 = cpu->r[10] + 0xFFFFFCE8u;
|
|
/* 027E7240 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7244 */ cpu->r[4] = cpu->r[4] + 0x000013E0u;
|
|
/* 027E7248 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7248 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E7248 */ if (_t10) goto L_027E724C; else goto L_027E725C;
|
|
L_027E724C: ; // 0x27e724c
|
|
/* 027E724C */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 027E724C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 027E7250 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7254 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E7258 */ _t12 = cpu->r[11] + 0xFFFFD850u;
|
|
/* 027E7258 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_027E725C: ; // 0x27e725c
|
|
/* 027E725C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7260 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7260 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E7260 */ if (_t14) goto L_027E72A8; else goto L_027E7264;
|
|
L_027E7264: ; // 0x27e7264
|
|
/* 027E7264 */ _t15 = cpu->r[31] + 0x00000090u;
|
|
/* 027E7264 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7268 */ _t16 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E7268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E726C */ cpu->ctr = cpu->r[0];
|
|
/* 027E7270 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E727C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E727C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E727C */ if (_t18) goto L_027E72A8; else goto L_027E7280;
|
|
L_027E7280: ; // 0x27e7280
|
|
/* 027E7280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7284 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7284 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027E7284 */ if (_t20) goto L_027E72A8; else goto L_027E7288;
|
|
L_027E7288: ; // 0x27e7288
|
|
/* 027E7288 */ _t21 = cpu->r[31] + 0x00000094u;
|
|
/* 027E7288 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027E728C */ cpu->f[13] = -cpu->f[31];
|
|
/* 027E7290 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7290 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E7294 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027E7298 */ /* nop */
|
|
/* 027E729C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E72A0 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027E72A4 */ goto L_027E7314;
|
|
L_027E72A8: ; // 0x27e72a8
|
|
/* 027E72A8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E72AC */ _t23 = cpu->r[11] + 0xFFFFD854u;
|
|
/* 027E72AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E72AC */ cpu->r[11] = _t23;
|
|
/* 027E72B0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E72B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E72B8 */ cpu->r[4] = cpu->r[4] + 0x0000157Cu;
|
|
/* 027E72BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E72BC */ if (_t25) goto L_027E72C0; else goto L_027E72CC;
|
|
L_027E72C0: ; // 0x27e72c0
|
|
/* 027E72C0 */ _t26 = cpu->r[4] + 0x00000000u;
|
|
/* 027E72C0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 027E72C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E72C8 */ _t27 = cpu->r[11] + 0x00000000u;
|
|
/* 027E72C8 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_027E72CC: ; // 0x27e72cc
|
|
/* 027E72CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E72D0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72D0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E72D0 */ if (_t29) goto L_027E72FC; else goto L_027E72D4;
|
|
L_027E72D4: ; // 0x27e72d4
|
|
/* 027E72D4 */ _t30 = cpu->r[31] + 0x00000090u;
|
|
/* 027E72D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E72D8 */ _t31 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E72D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E72DC */ cpu->ctr = cpu->r[0];
|
|
/* 027E72E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E72E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E72E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E72EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E72EC */ if (_t33) goto L_027E72FC; else goto L_027E72F0;
|
|
L_027E72F0: ; // 0x27e72f0
|
|
/* 027E72F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E72F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E72F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E72F4 */ if (_t35) goto L_027E72FC; else goto L_027E72F8;
|
|
L_027E72F8: ; // 0x27e72f8
|
|
/* 027E72F8 */ _t36 = cpu->r[31] + 0x00000094u;
|
|
/* 027E72F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
L_027E72FC: ; // 0x27e72fc
|
|
/* 027E72FC */ cpu->f[13] = -cpu->f[31];
|
|
/* 027E7300 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7300 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 027E7304 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027E7308 */ /* nop */
|
|
/* 027E730C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E7310 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
L_027E7314: ; // 0x27e7314
|
|
/* 027E7314 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7318 */ _t39 = cpu->r[1] + 0x00000038u;
|
|
/* 027E7318 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 027E731C */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 027E731C */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E7320 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 027E7320 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 027E7324 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7324 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7328 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7328 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E7328 */ if (_t44) goto L_027E732C; // else: addr-0 trap, fall-through
|
|
L_027E732C: ; // 0x27e732c
|
|
/* 027E732C */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 027E732C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E7330 */ cpu->lr = cpu->r[0];
|
|
/* 027E7334 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027E7338 */ return;
|
|
}
|
|
|
|
// fn_027E733C @ 0x27e733c
|
|
void Gambit_fn_027E733C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E733C: ; // 0x27e733c
|
|
/* 027E733C */ cpu->r[0] = cpu->lr;
|
|
/* 027E7340 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E7340 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7340 */ cpu->r[1] = _t0;
|
|
/* 027E7344 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7344 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027E7348 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7348 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E734C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E734C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E7350 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7350 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E7354 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7354 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E7358 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E735C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E7360 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E7364 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E7368 */ Gambit_fn_02929174(cpu);
|
|
/* 027E736C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E7370 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E7374 */ Gambit_fn_029291C0(cpu);
|
|
/* 027E7378 */ cpu->r[6] = cpu->r[3];
|
|
/* 027E737C */ cpu->r[7] = cpu->r[29] + 0x00000030u;
|
|
/* 027E7380 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E7384 */ cpu->r[4] = cpu->r[28];
|
|
/* 027E7388 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E738C */ Gambit_fn_027E71C4(cpu);
|
|
/* 027E7390 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7390 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E7394 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E7398 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E739C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027E739C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E73A0 */ cpu->lr = cpu->r[0];
|
|
/* 027E73A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E73A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E73AC */ return;
|
|
}
|
|
|
|
// fn_027E7340 @ 0x27e7340
|
|
void Gambit_fn_027E7340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E7340: ; // 0x27e7340
|
|
/* 027E7340 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E7340 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7340 */ cpu->r[1] = _t0;
|
|
/* 027E7344 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7344 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027E7348 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7348 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E734C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E734C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E7350 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7350 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027E7354 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7354 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E7358 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E735C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E7360 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E7364 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E7368 */ Gambit_fn_02929174(cpu);
|
|
/* 027E736C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E7370 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E7374 */ Gambit_fn_029291C0(cpu);
|
|
/* 027E7378 */ cpu->r[6] = cpu->r[3];
|
|
/* 027E737C */ cpu->r[7] = cpu->r[29] + 0x00000030u;
|
|
/* 027E7380 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E7384 */ cpu->r[4] = cpu->r[28];
|
|
/* 027E7388 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E738C */ Gambit_fn_027E71C4(cpu);
|
|
/* 027E7390 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7390 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E7394 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7394 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E7398 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E739C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027E739C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E73A0 */ cpu->lr = cpu->r[0];
|
|
/* 027E73A4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E73A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E73AC */ return;
|
|
}
|
|
|
|
// fn_027E73B0 @ 0x27e73b0
|
|
void Gambit_fn_027E73B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027E73B0: ; // 0x27e73b0
|
|
/* 027E73B0 */ cpu->r[0] = cpu->lr;
|
|
/* 027E73B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E73B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E73B4 */ cpu->r[1] = _t0;
|
|
/* 027E73B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E73BC */ cpu->r[31] = cpu->r[4];
|
|
/* 027E73C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E73C4 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027E73C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E73CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E73CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E73CC */ if (_t4) goto L_027E73F8; else goto L_027E73D0;
|
|
L_027E73D0: ; // 0x27e73d0
|
|
/* 027E73D0 */ _t5 = cpu->r[3] + 0x00000094u;
|
|
/* 027E73D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E73D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E73D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E73D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E73D8 */ if (_t7) goto L_027E73F8; else goto L_027E73DC;
|
|
L_027E73DC: ; // 0x27e73dc
|
|
/* 027E73DC */ _t8 = cpu->r[12] + 0x0000067Cu;
|
|
/* 027E73DC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 027E73E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E73E4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E73E8 */ cpu->lr = cpu->r[0];
|
|
/* 027E73EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E73F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E73F4 */ return;
|
|
L_027E73F8: ; // 0x27e73f8
|
|
/* 027E73F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E73FC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7400 */ cpu->lr = cpu->r[0];
|
|
/* 027E7404 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7408 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E740C */ return;
|
|
}
|
|
|
|
// fn_027E73B4 @ 0x27e73b4
|
|
void Gambit_fn_027E73B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027E73B4: ; // 0x27e73b4
|
|
/* 027E73B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E73B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E73B4 */ cpu->r[1] = _t0;
|
|
/* 027E73B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E73BC */ cpu->r[31] = cpu->r[4];
|
|
/* 027E73C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E73C4 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027E73C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E73CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E73CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E73CC */ if (_t4) goto L_027E73F8; else goto L_027E73D0;
|
|
L_027E73D0: ; // 0x27e73d0
|
|
/* 027E73D0 */ _t5 = cpu->r[3] + 0x00000094u;
|
|
/* 027E73D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E73D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E73D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E73D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E73D8 */ if (_t7) goto L_027E73F8; else goto L_027E73DC;
|
|
L_027E73DC: ; // 0x27e73dc
|
|
/* 027E73DC */ _t8 = cpu->r[12] + 0x0000067Cu;
|
|
/* 027E73DC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 027E73E0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E73E4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E73E8 */ cpu->lr = cpu->r[0];
|
|
/* 027E73EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E73F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E73F4 */ return;
|
|
L_027E73F8: ; // 0x27e73f8
|
|
/* 027E73F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E73F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E73FC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E73FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7400 */ cpu->lr = cpu->r[0];
|
|
/* 027E7404 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7408 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E740C */ return;
|
|
}
|
|
|
|
// fn_027E7410 @ 0x27e7410
|
|
void Gambit_fn_027E7410(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_027E7410: ; // 0x27e7410
|
|
/* 027E7410 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E7414 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E7414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7414 */ cpu->r[1] = _t0;
|
|
/* 027E7418 */ /* nop */
|
|
/* 027E741C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7420 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E7424 */ /* nop */
|
|
/* 027E7428 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7428 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E742C */ cpu->r[9] = cpu->r[10] ^ 0x80000000u;
|
|
/* 027E7430 */ _t2 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7430 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 027E7434 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7434 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027E7438 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7438 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 027E743C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 027E7440 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7444 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 027E7448 */ /* nop */
|
|
/* 027E744C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000012u, 0x0000000Eu, 0x0000001Fu);
|
|
/* 027E7450 */ /* nop */
|
|
/* 027E7454 */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 027E7458 */ _t5 = cpu->r[12] + 0xFFFFFDC0u;
|
|
/* 027E7458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E745C */ cpu->r[9] = cpu->r[8] ^ 0x80000000u;
|
|
/* 027E7460 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7460 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027E7464 */ cpu->f[7] = cpu->f[10] / cpu->f[13];
|
|
/* 027E7468 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7468 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 027E746C */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 027E7470 */ /* nop */
|
|
/* 027E7474 */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 027E7478 */ /* nop */
|
|
/* 027E747C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7480 */ cpu->f[10] = cpu->f[12] / cpu->f[13];
|
|
/* 027E7484 */ _t8 = cpu->r[12] + 0xFFFFFDC4u;
|
|
/* 027E7484 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7488 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E748C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E748C */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027E7490 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7490 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027E7494 */ cpu->f[11] = cpu->f[12] - cpu->f[10];
|
|
/* 027E7498 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 027E749C */ /* nop */
|
|
/* 027E74A0 */ cpu->f[11] = cpu->f[12] - cpu->f[7];
|
|
/* 027E74A4 */ cpu->f[0] = (double)(float)cpu->f[9];
|
|
/* 027E74A8 */ /* nop */
|
|
/* 027E74AC */ cpu->f[10] = cpu->f[0] / cpu->f[13];
|
|
/* 027E74B0 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E74B0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 027E74B4 */ cpu->f[11] = cpu->f[12] - cpu->f[10];
|
|
/* 027E74B8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027E74B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E74BC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E74BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
|
|
/* 027E74C0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027E74C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E74C4 */ /* nop */
|
|
/* 027E74C8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 027E74C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E74CC */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027E74CC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]);
|
|
/* 027E74D0 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027E74D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E74D4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027E74D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 027E74D8 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 027E74D8 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 027E74DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E74E0 */ return;
|
|
}
|
|
|
|
// fn_027E7414 @ 0x27e7414
|
|
void Gambit_fn_027E7414(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_027E7414: ; // 0x27e7414
|
|
/* 027E7414 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E7414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7414 */ cpu->r[1] = _t0;
|
|
/* 027E7418 */ /* nop */
|
|
/* 027E741C */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7420 */ cpu->r[0] = 0x43300000u;
|
|
/* 027E7424 */ /* nop */
|
|
/* 027E7428 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7428 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E742C */ cpu->r[9] = cpu->r[10] ^ 0x80000000u;
|
|
/* 027E7430 */ _t2 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7430 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 027E7434 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7434 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027E7438 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7438 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 027E743C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 027E7440 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7444 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 027E7448 */ /* nop */
|
|
/* 027E744C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000012u, 0x0000000Eu, 0x0000001Fu);
|
|
/* 027E7450 */ /* nop */
|
|
/* 027E7454 */ cpu->f[10] = (double)(float)cpu->f[13];
|
|
/* 027E7458 */ _t5 = cpu->r[12] + 0xFFFFFDC0u;
|
|
/* 027E7458 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E745C */ cpu->r[9] = cpu->r[8] ^ 0x80000000u;
|
|
/* 027E7460 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7460 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027E7464 */ cpu->f[7] = cpu->f[10] / cpu->f[13];
|
|
/* 027E7468 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7468 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 027E746C */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 027E7470 */ /* nop */
|
|
/* 027E7474 */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 027E7478 */ /* nop */
|
|
/* 027E747C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7480 */ cpu->f[10] = cpu->f[12] / cpu->f[13];
|
|
/* 027E7484 */ _t8 = cpu->r[12] + 0xFFFFFDC4u;
|
|
/* 027E7484 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7488 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E748C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E748C */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027E7490 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7490 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027E7494 */ cpu->f[11] = cpu->f[12] - cpu->f[10];
|
|
/* 027E7498 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 027E749C */ /* nop */
|
|
/* 027E74A0 */ cpu->f[11] = cpu->f[12] - cpu->f[7];
|
|
/* 027E74A4 */ cpu->f[0] = (double)(float)cpu->f[9];
|
|
/* 027E74A8 */ /* nop */
|
|
/* 027E74AC */ cpu->f[10] = cpu->f[0] / cpu->f[13];
|
|
/* 027E74B0 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027E74B0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 027E74B4 */ cpu->f[11] = cpu->f[12] - cpu->f[10];
|
|
/* 027E74B8 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027E74B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E74BC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027E74BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
|
|
/* 027E74C0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027E74C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E74C4 */ /* nop */
|
|
/* 027E74C8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 027E74C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E74CC */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027E74CC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]);
|
|
/* 027E74D0 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027E74D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E74D4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 027E74D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 027E74D8 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 027E74D8 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 027E74DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E74E0 */ return;
|
|
}
|
|
|
|
// fn_027E74E4 @ 0x27e74e4
|
|
void Gambit_fn_027E74E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E74E4: ; // 0x27e74e4
|
|
/* 027E74E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E74E8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E74E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E74E8 */ cpu->r[1] = _t0;
|
|
/* 027E74EC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E74EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E74F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E74F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000020Bu);
|
|
/* 027E74F8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027E74F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E74FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E74FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E74FC */ if (_t4) goto L_027E7670; else goto L_027E7500;
|
|
L_027E7500: ; // 0x27e7500
|
|
/* 027E7500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000080Fu);
|
|
/* 027E7504 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7504 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E7504 */ if (_t6) goto L_027E7530; else goto L_027E7508;
|
|
L_027E7508: ; // 0x27e7508
|
|
/* 027E7508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000811u);
|
|
/* 027E750C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E750C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E750C */ if (_t8) goto L_027E7510; else goto L_027E7694;
|
|
L_027E7510: ; // 0x27e7510
|
|
/* 027E7510 */ _t9 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E7514 */ cpu->r[11] = cpu->r[4] + cpu->r[5];
|
|
/* 027E7518 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7518 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E751C */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 027E751C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E7520 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7520 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027E7524 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 027E7524 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027E7528 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7528 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027E752C */ goto L_027E7694;
|
|
L_027E7530: ; // 0x27e7530
|
|
/* 027E7530 */ _t15 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7530 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 027E7534 */ cpu->r[6] = cpu->r[4] + cpu->r[5];
|
|
/* 027E7538 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E7538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E753C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E7540 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E7544 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7544 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E7544 */ if (_t17) goto L_027E754C; else goto L_027E7548;
|
|
L_027E7548: ; // 0x27e7548
|
|
/* 027E7548 */ cpu->r[12] = 0x80000000u;
|
|
L_027E754C: ; // 0x27e754c
|
|
/* 027E754C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E7550 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7550 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E7550 */ if (_t19) goto L_027E7554; else goto L_027E757C;
|
|
L_027E7554: ; // 0x27e7554
|
|
/* 027E7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7558 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7558 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E7558 */ if (_t21) goto L_027E7580; else goto L_027E755C;
|
|
L_027E755C: ; // 0x27e755c
|
|
/* 027E755C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E7560 */ cpu->r[11] = 0x00000001u;
|
|
/* 027E7564 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7564 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E7564 */ if (_t23) goto L_027E7568; else goto L_027E7578;
|
|
L_027E7568: ; // 0x27e7568
|
|
/* 027E7568 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E756C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E756C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E7570 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E7574 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7574 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E7574 */ if (_t25) goto L_027E7568; else goto L_027E7578;
|
|
L_027E7578: ; // 0x27e7578
|
|
/* 027E7578 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E757C: ; // 0x27e757c
|
|
/* 027E757C */ cpu->r[11] = cpu->r[11] + 0x00000070u;
|
|
L_027E7580: ; // 0x27e7580
|
|
/* 027E7580 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E7584 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E7588 */ cpu->r[12] = cpu->r[12] | cpu->r[8];
|
|
/* 027E758C */ cpu->r[10] = cpu->r[12] | cpu->r[9];
|
|
/* 027E7590 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7590 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 027E7594 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7594 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027E7598 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7598 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 027E759C */ _t29 = cpu->r[6] + 0x00000002u;
|
|
/* 027E759C */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 027E75A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E75A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E75A4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E75A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E75AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E75AC */ if (_t31) goto L_027E75B4; else goto L_027E75B0;
|
|
L_027E75B0: ; // 0x27e75b0
|
|
/* 027E75B0 */ cpu->r[11] = 0x80000000u;
|
|
L_027E75B4: ; // 0x27e75b4
|
|
/* 027E75B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E75B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75B8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E75B8 */ if (_t33) goto L_027E75BC; else goto L_027E75E4;
|
|
L_027E75BC: ; // 0x27e75bc
|
|
/* 027E75BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E75C0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75C0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E75C0 */ if (_t35) goto L_027E75E8; else goto L_027E75C4;
|
|
L_027E75C4: ; // 0x27e75c4
|
|
/* 027E75C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E75C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E75C8 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E75CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75CC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E75CC */ if (_t37) goto L_027E75D0; else goto L_027E75E0;
|
|
L_027E75D0: ; // 0x27e75d0
|
|
/* 027E75D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E75D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E75D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E75D8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027E75DC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75DC */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E75DC */ if (_t39) goto L_027E75D0; else goto L_027E75E0;
|
|
L_027E75E0: ; // 0x27e75e0
|
|
/* 027E75E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E75E4: ; // 0x27e75e4
|
|
/* 027E75E4 */ cpu->r[7] = cpu->r[7] + 0x00000070u;
|
|
L_027E75E8: ; // 0x27e75e8
|
|
/* 027E75E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E75EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E75F0 */ cpu->r[11] = cpu->r[11] | cpu->r[0];
|
|
/* 027E75F4 */ cpu->r[0] = cpu->r[11] | cpu->r[10];
|
|
/* 027E75F8 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027E75F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E75FC */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 027E75FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027E7600 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7600 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 027E7604 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 027E7604 */ cpu->r[9] = rbrew_read16(cpu->mem, _t43);
|
|
/* 027E7608 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E760C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E7610 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E7614 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7614 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E7614 */ if (_t45) goto L_027E761C; else goto L_027E7618;
|
|
L_027E7618: ; // 0x27e7618
|
|
/* 027E7618 */ cpu->r[0] = 0x80000000u;
|
|
L_027E761C: ; // 0x27e761c
|
|
/* 027E761C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E7620 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7620 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E7620 */ if (_t47) goto L_027E7624; else goto L_027E764C;
|
|
L_027E7624: ; // 0x27e7624
|
|
/* 027E7624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7628 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7628 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E7628 */ if (_t49) goto L_027E7650; else goto L_027E762C;
|
|
L_027E762C: ; // 0x27e762c
|
|
/* 027E762C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E762C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E7630 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E7634 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7634 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E7634 */ if (_t51) goto L_027E7638; else goto L_027E7648;
|
|
L_027E7638: ; // 0x27e7638
|
|
/* 027E7638 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E763C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E763C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7640 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027E7644 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7644 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E7644 */ if (_t53) goto L_027E7638; else goto L_027E7648;
|
|
L_027E7648: ; // 0x27e7648
|
|
/* 027E7648 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E764C: ; // 0x27e764c
|
|
/* 027E764C */ cpu->r[10] = cpu->r[10] + 0x00000070u;
|
|
L_027E7650: ; // 0x27e7650
|
|
/* 027E7650 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E7654 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E7658 */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
/* 027E765C */ cpu->r[12] = cpu->r[0] | cpu->r[10];
|
|
/* 027E7660 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7660 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 027E7664 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027E7668 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7668 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027E766C */ goto L_027E7694;
|
|
L_027E7670: ; // 0x27e7670
|
|
/* 027E7670 */ _t57 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7674 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E7678 */ Gambit_fn_027E7410(cpu);
|
|
/* 027E767C */ _t58 = cpu->r[1] + 0x00000020u;
|
|
/* 027E767C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027E7680 */ _t59 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7680 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027E7684 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7684 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[13]);
|
|
/* 027E7688 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 027E7688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027E768C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E768C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 027E7690 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7690 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[13]);
|
|
L_027E7694: ; // 0x27e7694
|
|
/* 027E7694 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7694 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E7698 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E769C */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 027E769C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E76A0 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 027E76A0 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 027E76A4 */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 027E76A4 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 027E76A8 */ _t69 = cpu->r[31] + 0x00000004u;
|
|
/* 027E76A8 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 027E76AC */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 027E76AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E76B0 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E76B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E76B4 */ cpu->lr = cpu->r[0];
|
|
/* 027E76B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E76BC */ return;
|
|
}
|
|
|
|
// fn_027E74E8 @ 0x27e74e8
|
|
void Gambit_fn_027E74E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E74E8: ; // 0x27e74e8
|
|
/* 027E74E8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E74E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E74E8 */ cpu->r[1] = _t0;
|
|
/* 027E74EC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E74EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E74F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E74F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000020Bu);
|
|
/* 027E74F8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027E74F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E74FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E74FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E74FC */ if (_t4) goto L_027E7670; else goto L_027E7500;
|
|
L_027E7500: ; // 0x27e7500
|
|
/* 027E7500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x0000080Fu);
|
|
/* 027E7504 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7504 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E7504 */ if (_t6) goto L_027E7530; else goto L_027E7508;
|
|
L_027E7508: ; // 0x27e7508
|
|
/* 027E7508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000811u);
|
|
/* 027E750C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E750C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E750C */ if (_t8) goto L_027E7510; else goto L_027E7694;
|
|
L_027E7510: ; // 0x27e7510
|
|
/* 027E7510 */ _t9 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E7514 */ cpu->r[11] = cpu->r[4] + cpu->r[5];
|
|
/* 027E7518 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7518 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 027E751C */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 027E751C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027E7520 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7520 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027E7524 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 027E7524 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027E7528 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7528 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027E752C */ goto L_027E7694;
|
|
L_027E7530: ; // 0x27e7530
|
|
/* 027E7530 */ _t15 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7530 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 027E7534 */ cpu->r[6] = cpu->r[4] + cpu->r[5];
|
|
/* 027E7538 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E7538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E753C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E7540 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E7544 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7544 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E7544 */ if (_t17) goto L_027E754C; else goto L_027E7548;
|
|
L_027E7548: ; // 0x27e7548
|
|
/* 027E7548 */ cpu->r[12] = 0x80000000u;
|
|
L_027E754C: ; // 0x27e754c
|
|
/* 027E754C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E7550 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7550 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E7550 */ if (_t19) goto L_027E7554; else goto L_027E757C;
|
|
L_027E7554: ; // 0x27e7554
|
|
/* 027E7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7558 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7558 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E7558 */ if (_t21) goto L_027E7580; else goto L_027E755C;
|
|
L_027E755C: ; // 0x27e755c
|
|
/* 027E755C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E7560 */ cpu->r[11] = 0x00000001u;
|
|
/* 027E7564 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7564 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E7564 */ if (_t23) goto L_027E7568; else goto L_027E7578;
|
|
L_027E7568: ; // 0x27e7568
|
|
/* 027E7568 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E756C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E756C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E7570 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027E7574 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7574 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E7574 */ if (_t25) goto L_027E7568; else goto L_027E7578;
|
|
L_027E7578: ; // 0x27e7578
|
|
/* 027E7578 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E757C: ; // 0x27e757c
|
|
/* 027E757C */ cpu->r[11] = cpu->r[11] + 0x00000070u;
|
|
L_027E7580: ; // 0x27e7580
|
|
/* 027E7580 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E7584 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E7588 */ cpu->r[12] = cpu->r[12] | cpu->r[8];
|
|
/* 027E758C */ cpu->r[10] = cpu->r[12] | cpu->r[9];
|
|
/* 027E7590 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7590 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 027E7594 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7594 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027E7598 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7598 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 027E759C */ _t29 = cpu->r[6] + 0x00000002u;
|
|
/* 027E759C */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 027E75A0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E75A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E75A4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E75A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E75AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E75AC */ if (_t31) goto L_027E75B4; else goto L_027E75B0;
|
|
L_027E75B0: ; // 0x27e75b0
|
|
/* 027E75B0 */ cpu->r[11] = 0x80000000u;
|
|
L_027E75B4: ; // 0x27e75b4
|
|
/* 027E75B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E75B8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75B8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E75B8 */ if (_t33) goto L_027E75BC; else goto L_027E75E4;
|
|
L_027E75BC: ; // 0x27e75bc
|
|
/* 027E75BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E75C0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75C0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E75C0 */ if (_t35) goto L_027E75E8; else goto L_027E75C4;
|
|
L_027E75C4: ; // 0x27e75c4
|
|
/* 027E75C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E75C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E75C8 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E75CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75CC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E75CC */ if (_t37) goto L_027E75D0; else goto L_027E75E0;
|
|
L_027E75D0: ; // 0x27e75d0
|
|
/* 027E75D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E75D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E75D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E75D8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027E75DC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E75DC */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E75DC */ if (_t39) goto L_027E75D0; else goto L_027E75E0;
|
|
L_027E75E0: ; // 0x27e75e0
|
|
/* 027E75E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E75E4: ; // 0x27e75e4
|
|
/* 027E75E4 */ cpu->r[7] = cpu->r[7] + 0x00000070u;
|
|
L_027E75E8: ; // 0x27e75e8
|
|
/* 027E75E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E75EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E75F0 */ cpu->r[11] = cpu->r[11] | cpu->r[0];
|
|
/* 027E75F4 */ cpu->r[0] = cpu->r[11] | cpu->r[10];
|
|
/* 027E75F8 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027E75F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E75FC */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 027E75FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027E7600 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7600 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 027E7604 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 027E7604 */ cpu->r[9] = rbrew_read16(cpu->mem, _t43);
|
|
/* 027E7608 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 027E7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E760C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000016u, 0x0000001Bu, 0x0000001Fu);
|
|
/* 027E7610 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 027E7614 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7614 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E7614 */ if (_t45) goto L_027E761C; else goto L_027E7618;
|
|
L_027E7618: ; // 0x27e7618
|
|
/* 027E7618 */ cpu->r[0] = 0x80000000u;
|
|
L_027E761C: ; // 0x27e761c
|
|
/* 027E761C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E7620 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7620 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E7620 */ if (_t47) goto L_027E7624; else goto L_027E764C;
|
|
L_027E7624: ; // 0x27e7624
|
|
/* 027E7624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7628 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7628 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E7628 */ if (_t49) goto L_027E7650; else goto L_027E762C;
|
|
L_027E762C: ; // 0x27e762c
|
|
/* 027E762C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E762C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E7630 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E7634 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7634 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E7634 */ if (_t51) goto L_027E7638; else goto L_027E7648;
|
|
L_027E7638: ; // 0x27e7638
|
|
/* 027E7638 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027E763C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 027E763C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7640 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027E7644 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7644 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E7644 */ if (_t53) goto L_027E7638; else goto L_027E7648;
|
|
L_027E7648: ; // 0x27e7648
|
|
/* 027E7648 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
L_027E764C: ; // 0x27e764c
|
|
/* 027E764C */ cpu->r[10] = cpu->r[10] + 0x00000070u;
|
|
L_027E7650: ; // 0x27e7650
|
|
/* 027E7650 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x0000000Du, 0x00000009u, 0x00000012u);
|
|
/* 027E7654 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000017u, 0x00000001u, 0x00000008u);
|
|
/* 027E7658 */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
/* 027E765C */ cpu->r[12] = cpu->r[0] | cpu->r[10];
|
|
/* 027E7660 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7660 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 027E7664 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027E7668 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7668 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027E766C */ goto L_027E7694;
|
|
L_027E7670: ; // 0x27e7670
|
|
/* 027E7670 */ _t57 = cpu->r[4] + cpu->r[5];
|
|
/* 027E7670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7674 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E7678 */ Gambit_fn_027E7410(cpu);
|
|
/* 027E767C */ _t58 = cpu->r[1] + 0x00000020u;
|
|
/* 027E767C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 027E7680 */ _t59 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7680 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027E7684 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7684 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[13]);
|
|
/* 027E7688 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 027E7688 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 027E768C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E768C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 027E7690 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7690 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[13]);
|
|
L_027E7694: ; // 0x27e7694
|
|
/* 027E7694 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7694 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E7698 */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E769C */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 027E769C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E76A0 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 027E76A0 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 027E76A4 */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 027E76A4 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 027E76A8 */ _t69 = cpu->r[31] + 0x00000004u;
|
|
/* 027E76A8 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 027E76AC */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 027E76AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E76B0 */ _t71 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E76B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E76B4 */ cpu->lr = cpu->r[0];
|
|
/* 027E76B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E76BC */ return;
|
|
}
|
|
|
|
// fn_027E76C0 @ 0x27e76c0
|
|
void Gambit_fn_027E76C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_027E76C0: ; // 0x27e76c0
|
|
/* 027E76C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E76C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E76C0 */ cpu->r[1] = _t0;
|
|
/* 027E76C4 */ cpu->r[0] = cpu->lr;
|
|
/* 027E76C8 */ /* nop */
|
|
/* 027E76CC */ cpu->r[30] = cpu->r[3];
|
|
/* 027E76CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E76D0 */ cpu->r[27] = cpu->r[4];
|
|
/* 027E76D4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E76D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E76D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E76D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E76D8 */ if (_t3) goto L_027E77C8; else goto L_027E76DC;
|
|
L_027E76DC: ; // 0x27e76dc
|
|
/* 027E76DC */ cpu->r[3] = cpu->r[27];
|
|
/* 027E76E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E76E4 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 027E76E8 */ _t4 = cpu->r[27] + 0x0000001Cu;
|
|
/* 027E76E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E76EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E76F0 */ cpu->r[8] = 0x00000000u;
|
|
/* 027E76F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E76F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E76F4 */ if (_t6) goto L_027E7700; else goto L_027E76F8;
|
|
L_027E76F8: ; // 0x27e76f8
|
|
/* 027E76F8 */ _t7 = cpu->r[27] + 0x00000024u;
|
|
/* 027E76F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E76FC */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 027E76FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
L_027E7700: ; // 0x27e7700
|
|
/* 027E7700 */ _t9 = cpu->r[8] + 0x00000000u;
|
|
/* 027E7700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E7704 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 027E7704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E7708 */ _t11 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027E7708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E770C */ cpu->ctr = cpu->r[0];
|
|
/* 027E7710 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7718 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7718 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E771C */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 027E771C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7720 */ cpu->ctr = cpu->r[5];
|
|
/* 027E7724 */ _t14 = cpu->r[30] + 0x000000B8u;
|
|
/* 027E7724 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E7728 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E772C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7730 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7734 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E7738 */ _t16 = cpu->r[31] + 0x00007399u;
|
|
/* 027E7738 */ cpu->r[31] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027E773C */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027E773C */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027E7740 */ cpu->r[5] = 0x00080000u;
|
|
/* 027E7744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E7748 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E774C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E774C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E774C */ if (_t19) goto L_027E7774; else goto L_027E7750;
|
|
L_027E7750: ; // 0x27e7750
|
|
/* 027E7750 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E7754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 027E7758 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E775C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E775C */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E775C */ if (_t21) goto L_027E7770; else goto L_027E7760;
|
|
L_027E7760: ; // 0x27e7760
|
|
/* 027E7760 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 027E7760 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027E7764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E7768 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7768 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E7768 */ if (_t24) goto L_027E776C; else goto L_027E7750;
|
|
L_027E776C: ; // 0x27e776c
|
|
/* 027E776C */ goto L_027E7774;
|
|
L_027E7770: ; // 0x27e7770
|
|
/* 027E7770 */ cpu->r[29] = 0x00000000u;
|
|
L_027E7774: ; // 0x27e7774
|
|
/* 027E7774 */ _t25 = cpu->r[30] + 0x000000C0u;
|
|
/* 027E7774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E7778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 027E777C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E777C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E777C */ if (_t27) goto L_027E7784; else goto L_027E7780;
|
|
L_027E7780: ; // 0x27e7780
|
|
/* 027E7780 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_027E7784: ; // 0x27e7784
|
|
/* 027E7784 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7784 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E7788 */ _t29 = cpu->r[8] + 0x00000014u;
|
|
/* 027E7788 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E778C */ cpu->ctr = cpu->r[9];
|
|
/* 027E7790 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7794 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7798 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E779C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E77A0 */ cpu->r[5] = cpu->r[29];
|
|
/* 027E77A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E77A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E77AC */ _t31 = cpu->r[28] + cpu->r[29];
|
|
/* 027E77AC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 027E77B0 */ _t32 = cpu->r[30] + 0x00000018u;
|
|
/* 027E77B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E77B4 */ _t33 = cpu->r[10] + 0x000000BCu;
|
|
/* 027E77B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E77B8 */ cpu->ctr = cpu->r[0];
|
|
/* 027E77BC */ cpu->r[3] = cpu->r[30];
|
|
/* 027E77C0 */ cpu->r[4] = cpu->r[27];
|
|
/* 027E77C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E77C8: ; // 0x27e77c8
|
|
/* 027E77C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E77CC */ /* nop */
|
|
/* 027E77D0 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E77D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E77D4 */ cpu->lr = cpu->r[0];
|
|
/* 027E77D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E77DC */ return;
|
|
}
|
|
|
|
// fn_027E77E0 @ 0x27e77e0
|
|
void Gambit_fn_027E77E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_027E77E0: ; // 0x27e77e0
|
|
/* 027E77E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027E77E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E77E0 */ cpu->r[1] = _t0;
|
|
/* 027E77E4 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 027E77E4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027E77E8 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 027E77E8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E77EC */ cpu->f[12] = cpu->f[7] - cpu->f[8];
|
|
/* 027E77F0 */ /* nop */
|
|
/* 027E77F4 */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 027E77F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E77F8 */ /* nop */
|
|
/* 027E77FC */ cpu->f[10] = cpu->f[0] - cpu->f[11];
|
|
/* 027E7800 */ cpu->f[9] = cpu->f[0] - cpu->f[13];
|
|
/* 027E7804 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7808 */ /* nop */
|
|
/* 027E780C */ _t4 = cpu->r[12] + 0xFFFFFDC8u;
|
|
/* 027E780C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 027E7810 */ /* nop */
|
|
/* 027E7814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[12]);
|
|
/* 027E7818 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E781C */ cpu->f[6] = cpu->f[5] - cpu->f[11];
|
|
/* 027E7820 */ _t5 = cpu->r[11] + 0xFFFFFDC4u;
|
|
/* 027E7820 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E7824 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7824 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[5]);
|
|
/* 027E7828 */ cpu->f[10] = cpu->f[6];
|
|
/* 027E782C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E782C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E782C */ if (_t8) goto L_027E7830; else goto L_027E7854;
|
|
L_027E7830: ; // 0x27e7830
|
|
/* 027E7830 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7830 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
|
|
/* 027E7834 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7834 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E7838 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7838 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[10]);
|
|
/* 027E783C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E783C */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7840 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7844 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7844 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027E7848 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 027E7848 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E784C */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 027E784C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 027E7850 */ goto L_027E7924;
|
|
L_027E7854: ; // 0x27e7854
|
|
/* 027E7854 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7858 */ _t17 = cpu->r[11] + 0xFFFFFCE8u;
|
|
/* 027E7858 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E785C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[9]);
|
|
/* 027E7860 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7860 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E7860 */ if (_t19) goto L_027E7864; else goto L_027E7874;
|
|
L_027E7864: ; // 0x27e7864
|
|
/* 027E7864 */ cpu->f[13] = cpu->f[6] / cpu->f[5];
|
|
/* 027E7868 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7868 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 027E786C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E786C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027E7870 */ goto L_027E790C;
|
|
L_027E7874: ; // 0x27e7874
|
|
/* 027E7874 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[8]);
|
|
/* 027E7878 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E787C */ _t22 = cpu->r[10] + 0xFFFFFDD0u;
|
|
/* 027E787C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027E7880 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7880 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E7880 */ if (_t24) goto L_027E7884; else goto L_027E78A4;
|
|
L_027E7884: ; // 0x27e7884
|
|
/* 027E7884 */ cpu->f[11] = cpu->f[7] - cpu->f[0];
|
|
/* 027E7888 */ cpu->f[12] = cpu->f[11] / cpu->f[6];
|
|
/* 027E788C */ cpu->f[8] = cpu->f[12] * cpu->f[13];
|
|
/* 027E7890 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7894 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 027E7898 */ _t25 = cpu->r[12] + 0xFFFFFDDCu;
|
|
/* 027E7898 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E789C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E789C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E789C */ if (_t27) goto L_027E78A0; else goto L_027E78FC;
|
|
L_027E78A0: ; // 0x27e78a0
|
|
/* 027E78A0 */ goto L_027E78F8;
|
|
L_027E78A4: ; // 0x27e78a4
|
|
/* 027E78A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[7]);
|
|
/* 027E78A8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E78A8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E78A8 */ if (_t29) goto L_027E78AC; else goto L_027E78D4;
|
|
L_027E78AC: ; // 0x27e78ac
|
|
/* 027E78AC */ cpu->f[0] = cpu->f[0] - cpu->f[8];
|
|
/* 027E78B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E78B4 */ cpu->f[8] = cpu->f[0] / cpu->f[6];
|
|
/* 027E78B8 */ _t30 = cpu->r[12] + 0xFFFFFDD4u;
|
|
/* 027E78B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027E78BC */ cpu->f[8] = fma(cpu->f[8], cpu->f[13], cpu->f[0]);
|
|
/* 027E78C0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E78C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 027E78C8 */ _t31 = cpu->r[12] + 0xFFFFFDDCu;
|
|
/* 027E78C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027E78CC */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E78CC */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E78CC */ if (_t33) goto L_027E78D0; else goto L_027E78FC;
|
|
L_027E78D0: ; // 0x27e78d0
|
|
/* 027E78D0 */ goto L_027E78F8;
|
|
L_027E78D4: ; // 0x27e78d4
|
|
/* 027E78D4 */ cpu->f[10] = cpu->f[8] - cpu->f[7];
|
|
/* 027E78D8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E78DC */ cpu->f[11] = cpu->f[10] / cpu->f[6];
|
|
/* 027E78E0 */ _t34 = cpu->r[11] + 0xFFFFFDD8u;
|
|
/* 027E78E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027E78E4 */ cpu->f[8] = fma(cpu->f[11], cpu->f[13], cpu->f[10]);
|
|
/* 027E78E8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E78EC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[9]);
|
|
/* 027E78F0 */ _t35 = cpu->r[12] + 0xFFFFFDDCu;
|
|
/* 027E78F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027E78F4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E78F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E78F4 */ if (_t37) goto L_027E78F8; else goto L_027E78FC;
|
|
L_027E78F8: ; // 0x27e78f8
|
|
/* 027E78F8 */ cpu->f[8] = cpu->f[8] + cpu->f[13];
|
|
L_027E78FC: ; // 0x27e78fc
|
|
/* 027E78FC */ cpu->f[12] = cpu->f[8] / cpu->f[13];
|
|
/* 027E7900 */ cpu->f[13] = cpu->f[6] / cpu->f[5];
|
|
/* 027E7904 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7904 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
|
|
/* 027E7908 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7908 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
L_027E790C: ; // 0x27e790c
|
|
/* 027E790C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E790C */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E7910 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7910 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E7914 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7918 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 027E7918 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 027E791C */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 027E791C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 027E7920 */ _t45 = cpu->r[3] + 0x00000004u;
|
|
/* 027E7920 */ rbrew_write32(cpu->mem, _t45, cpu->r[11]);
|
|
L_027E7924: ; // 0x27e7924
|
|
/* 027E7924 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027E7928 */ return;
|
|
}
|
|
|
|
// fn_027E792C @ 0x27e792c
|
|
void Gambit_fn_027E792C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87;
|
|
|
|
L_027E792C: ; // 0x27e792c
|
|
/* 027E792C */ cpu->r[0] = cpu->lr;
|
|
/* 027E7930 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E7930 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7930 */ cpu->r[1] = _t0;
|
|
/* 027E7934 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7934 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E7938 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7938 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E793C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E7940 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7940 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E7944 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 027E7944 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E7948 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E794C */ Gambit_fn_02C883FC(cpu);
|
|
/* 027E7950 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027E7950 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E7954 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7958 */ cpu->f[9] = cpu->f[10] - cpu->f[1];
|
|
/* 027E795C */ _t6 = cpu->r[8] + 0xFFFFFDE0u;
|
|
/* 027E795C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E7960 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7964 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027E7964 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027E7968 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E796C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 027E7970 */ _t8 = cpu->r[12] + 0xFFFFFD9Cu;
|
|
/* 027E7970 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7974 */ _t9 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7974 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 027E7978 */ cpu->r[0] = cpu->r[1] + 0x00000018u;
|
|
/* 027E797C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 027E7980 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 027E7980 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E7984 */ cpu->f[12] = cpu->f[0] - cpu->f[7];
|
|
/* 027E7988 */ cpu->r[10] = 0x43300000u;
|
|
/* 027E798C */ /* nop */
|
|
/* 027E7990 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7994 */ cpu->f[12] = cpu->f[6] * cpu->f[12];
|
|
/* 027E7998 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7998 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E799C */ cpu->r[12] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E79A0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E79A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 027E79A4 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 027E79A4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027E79A8 */ cpu->f[8] = cpu->f[11] - cpu->f[13];
|
|
/* 027E79AC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 027E79B0 */ cpu->f[10] = cpu->f[9] - cpu->f[8];
|
|
/* 027E79B4 */ cpu->f[9] = cpu->f[0] - cpu->f[10];
|
|
/* 027E79B8 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[10], -(cpu->f[0]));
|
|
/* 027E79BC */ cpu->f[10] = -fma(cpu->f[7], cpu->f[9], -(cpu->f[0]));
|
|
/* 027E79C0 */ cpu->f[9] = cpu->f[6] * cpu->f[8];
|
|
/* 027E79C4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027E79C4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 027E79C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 027E79CC */ cpu->f[7] = cpu->f[6] * cpu->f[10];
|
|
/* 027E79D0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79D0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E79D0 */ if (_t17) goto L_027E79D4; else goto L_027E79E0;
|
|
L_027E79D4: ; // 0x27e79d4
|
|
/* 027E79D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 027E79D8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E79D8 */ if (_t19) goto L_027E7A04; else goto L_027E79DC;
|
|
L_027E79DC: ; // 0x27e79dc
|
|
/* 027E79DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E79DC */ if (_t21) goto L_027E7A34; else goto L_027E79E0;
|
|
L_027E79E0: ; // 0x27e79e0
|
|
/* 027E79E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 027E79E4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E79E4 */ if (_t23) goto L_027E7A64; else goto L_027E79E8;
|
|
L_027E79E8: ; // 0x27e79e8
|
|
/* 027E79E8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79E8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E79E8 */ if (_t25) goto L_027E7A94; else goto L_027E79EC;
|
|
L_027E79EC: ; // 0x27e79ec
|
|
/* 027E79EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 027E79F0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79F0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E79F0 */ if (_t27) goto L_027E7AC4; else goto L_027E79F4;
|
|
L_027E79F4: ; // 0x27e79f4
|
|
/* 027E79F4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027E79F4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[6]);
|
|
/* 027E79F8 */ cpu->f[11] = cpu->f[9];
|
|
/* 027E79FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E79FC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 027E7A00 */ goto L_027E7AD0;
|
|
L_027E7A04: ; // 0x27e7a04
|
|
/* 027E7A04 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A04 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 027E7A08 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E7A0C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A0C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[6]);
|
|
/* 027E7A10 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E7A14 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A14 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[7]);
|
|
/* 027E7A18 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E7A1C */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A1C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 027E7A20 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A20 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027E7A24 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7A28 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A28 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 027E7A2C */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A2C */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 027E7A30 */ goto L_027E7AF4;
|
|
L_027E7A34: ; // 0x27e7a34
|
|
/* 027E7A34 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A34 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 027E7A38 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7A3C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A3C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[9]);
|
|
/* 027E7A40 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E7A44 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A44 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[6]);
|
|
/* 027E7A48 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E7A4C */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A4C */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 027E7A50 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A50 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 027E7A54 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E7A58 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A58 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 027E7A5C */ _t51 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A5C */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 027E7A60 */ goto L_027E7AF4;
|
|
L_027E7A64: ; // 0x27e7a64
|
|
/* 027E7A64 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A64 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027E7A68 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E7A6C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A6C */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 027E7A70 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E7A74 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A74 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[6]);
|
|
/* 027E7A78 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7A7C */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A7C */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 027E7A80 */ _t59 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A80 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 027E7A84 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E7A88 */ _t61 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A88 */ rbrew_write32(cpu->mem, _t61, cpu->r[8]);
|
|
/* 027E7A8C */ _t62 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A8C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 027E7A90 */ goto L_027E7AF4;
|
|
L_027E7A94: ; // 0x27e7a94
|
|
/* 027E7A94 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A94 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[6]);
|
|
/* 027E7A98 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E7A9C */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A9C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 027E7AA0 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E7AA4 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7AA4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[9]);
|
|
/* 027E7AA8 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E7AAC */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7AAC */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 027E7AB0 */ _t70 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7AB0 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 027E7AB4 */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E7AB8 */ _t72 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7AB8 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 027E7ABC */ _t73 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7ABC */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 027E7AC0 */ goto L_027E7AF4;
|
|
L_027E7AC4: ; // 0x27e7ac4
|
|
/* 027E7AC4 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AC4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[7]);
|
|
/* 027E7AC8 */ cpu->f[11] = cpu->f[6];
|
|
/* 027E7ACC */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7ACC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[12]);
|
|
L_027E7AD0: ; // 0x27e7ad0
|
|
/* 027E7AD0 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7AD0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 027E7AD4 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7AD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E7AD8 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027E7ADC */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027E7AE0 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7AE0 */ rbrew_write32(cpu->mem, _t80, cpu->r[11]);
|
|
/* 027E7AE4 */ _t81 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7AE4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 027E7AE8 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027E7AEC */ _t83 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7AEC */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 027E7AF0 */ _t84 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7AF0 */ rbrew_write32(cpu->mem, _t84, cpu->r[9]);
|
|
L_027E7AF4: ; // 0x27e7af4
|
|
/* 027E7AF4 */ _t85 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027E7AF8 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7AF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027E7AFC */ cpu->lr = cpu->r[0];
|
|
/* 027E7B00 */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7B00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027E7B04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E7B08 */ return;
|
|
}
|
|
|
|
// fn_027E7930 @ 0x27e7930
|
|
void Gambit_fn_027E7930(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87;
|
|
|
|
L_027E7930: ; // 0x27e7930
|
|
/* 027E7930 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E7930 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7930 */ cpu->r[1] = _t0;
|
|
/* 027E7934 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7934 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E7938 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7938 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E793C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E7940 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7940 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E7944 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 027E7944 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027E7948 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E794C */ Gambit_fn_02C883FC(cpu);
|
|
/* 027E7950 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 027E7950 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E7954 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7958 */ cpu->f[9] = cpu->f[10] - cpu->f[1];
|
|
/* 027E795C */ _t6 = cpu->r[8] + 0xFFFFFDE0u;
|
|
/* 027E795C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027E7960 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E7964 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027E7964 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027E7968 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E796C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 027E7970 */ _t8 = cpu->r[12] + 0xFFFFFD9Cu;
|
|
/* 027E7970 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E7974 */ _t9 = cpu->r[11] + 0xFFFFFDB8u;
|
|
/* 027E7974 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 027E7978 */ cpu->r[0] = cpu->r[1] + 0x00000018u;
|
|
/* 027E797C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 027E7980 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 027E7980 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E7984 */ cpu->f[12] = cpu->f[0] - cpu->f[7];
|
|
/* 027E7988 */ cpu->r[10] = 0x43300000u;
|
|
/* 027E798C */ /* nop */
|
|
/* 027E7990 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7994 */ cpu->f[12] = cpu->f[6] * cpu->f[12];
|
|
/* 027E7998 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027E7998 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027E799C */ cpu->r[12] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027E79A0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E79A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 027E79A4 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 027E79A4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027E79A8 */ cpu->f[8] = cpu->f[11] - cpu->f[13];
|
|
/* 027E79AC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 027E79B0 */ cpu->f[10] = cpu->f[9] - cpu->f[8];
|
|
/* 027E79B4 */ cpu->f[9] = cpu->f[0] - cpu->f[10];
|
|
/* 027E79B8 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[10], -(cpu->f[0]));
|
|
/* 027E79BC */ cpu->f[10] = -fma(cpu->f[7], cpu->f[9], -(cpu->f[0]));
|
|
/* 027E79C0 */ cpu->f[9] = cpu->f[6] * cpu->f[8];
|
|
/* 027E79C4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027E79C4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 027E79C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 027E79CC */ cpu->f[7] = cpu->f[6] * cpu->f[10];
|
|
/* 027E79D0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79D0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E79D0 */ if (_t17) goto L_027E79D4; else goto L_027E79E0;
|
|
L_027E79D4: ; // 0x27e79d4
|
|
/* 027E79D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 027E79D8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E79D8 */ if (_t19) goto L_027E7A04; else goto L_027E79DC;
|
|
L_027E79DC: ; // 0x27e79dc
|
|
/* 027E79DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E79DC */ if (_t21) goto L_027E7A34; else goto L_027E79E0;
|
|
L_027E79E0: ; // 0x27e79e0
|
|
/* 027E79E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 027E79E4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E79E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E79E4 */ if (_t23) goto L_027E7A64; else goto L_027E79E8;
|
|
L_027E79E8: ; // 0x27e79e8
|
|
/* 027E79E8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79E8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E79E8 */ if (_t25) goto L_027E7A94; else goto L_027E79EC;
|
|
L_027E79EC: ; // 0x27e79ec
|
|
/* 027E79EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 027E79F0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E79F0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E79F0 */ if (_t27) goto L_027E7AC4; else goto L_027E79F4;
|
|
L_027E79F4: ; // 0x27e79f4
|
|
/* 027E79F4 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027E79F4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[6]);
|
|
/* 027E79F8 */ cpu->f[11] = cpu->f[9];
|
|
/* 027E79FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E79FC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 027E7A00 */ goto L_027E7AD0;
|
|
L_027E7A04: ; // 0x27e7a04
|
|
/* 027E7A04 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A04 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 027E7A08 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E7A0C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A0C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[6]);
|
|
/* 027E7A10 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E7A14 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A14 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[7]);
|
|
/* 027E7A18 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E7A1C */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A1C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 027E7A20 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A20 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027E7A24 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7A28 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A28 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 027E7A2C */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A2C */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 027E7A30 */ goto L_027E7AF4;
|
|
L_027E7A34: ; // 0x27e7a34
|
|
/* 027E7A34 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A34 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 027E7A38 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7A3C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A3C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[9]);
|
|
/* 027E7A40 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E7A44 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A44 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[6]);
|
|
/* 027E7A48 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E7A4C */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A4C */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 027E7A50 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A50 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 027E7A54 */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E7A58 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A58 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 027E7A5C */ _t51 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A5C */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 027E7A60 */ goto L_027E7AF4;
|
|
L_027E7A64: ; // 0x27e7a64
|
|
/* 027E7A64 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A64 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 027E7A68 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E7A6C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A6C */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 027E7A70 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E7A74 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A74 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[6]);
|
|
/* 027E7A78 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7A7C */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7A7C */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 027E7A80 */ _t59 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7A80 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 027E7A84 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7A84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E7A88 */ _t61 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7A88 */ rbrew_write32(cpu->mem, _t61, cpu->r[8]);
|
|
/* 027E7A8C */ _t62 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7A8C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 027E7A90 */ goto L_027E7AF4;
|
|
L_027E7A94: ; // 0x27e7a94
|
|
/* 027E7A94 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A94 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[6]);
|
|
/* 027E7A98 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7A98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027E7A9C */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7A9C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[12]);
|
|
/* 027E7AA0 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027E7AA4 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7AA4 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[9]);
|
|
/* 027E7AA8 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E7AAC */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7AAC */ rbrew_write32(cpu->mem, _t69, cpu->r[11]);
|
|
/* 027E7AB0 */ _t70 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7AB0 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 027E7AB4 */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E7AB8 */ _t72 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7AB8 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 027E7ABC */ _t73 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7ABC */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 027E7AC0 */ goto L_027E7AF4;
|
|
L_027E7AC4: ; // 0x27e7ac4
|
|
/* 027E7AC4 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AC4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[7]);
|
|
/* 027E7AC8 */ cpu->f[11] = cpu->f[6];
|
|
/* 027E7ACC */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7ACC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[12]);
|
|
L_027E7AD0: ; // 0x27e7ad0
|
|
/* 027E7AD0 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7AD0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 027E7AD4 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7AD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E7AD8 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027E7ADC */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027E7AE0 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7AE0 */ rbrew_write32(cpu->mem, _t80, cpu->r[11]);
|
|
/* 027E7AE4 */ _t81 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7AE4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 027E7AE8 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027E7AEC */ _t83 = cpu->r[30] + 0x00000008u;
|
|
/* 027E7AEC */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 027E7AF0 */ _t84 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E7AF0 */ rbrew_write32(cpu->mem, _t84, cpu->r[9]);
|
|
L_027E7AF4: ; // 0x27e7af4
|
|
/* 027E7AF4 */ _t85 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027E7AF8 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7AF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027E7AFC */ cpu->lr = cpu->r[0];
|
|
/* 027E7B00 */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7B00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027E7B04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E7B08 */ return;
|
|
}
|
|
|
|
// fn_027E7B0C @ 0x27e7b0c
|
|
void Gambit_fn_027E7B0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E7B0C: ; // 0x27e7b0c
|
|
/* 027E7B0C */ cpu->r[0] = cpu->lr;
|
|
/* 027E7B10 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E7B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7B10 */ cpu->r[1] = _t0;
|
|
/* 027E7B14 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7B14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E7B18 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7B18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E7B1C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E7B20 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E7B24 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E7B28 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7B28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E7B2C */ _t5 = cpu->r[9] + 0xFFFFE218u;
|
|
/* 027E7B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E7B2C */ cpu->r[9] = _t5;
|
|
/* 027E7B30 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E7B34 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E7B38 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E7B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E7B40 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u;
|
|
/* 027E7B44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E7B44 */ if (_t7) goto L_027E7B48; else goto L_027E7B5C;
|
|
L_027E7B48: ; // 0x27e7b48
|
|
/* 027E7B48 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7B4C */ cpu->r[6] = 0x00000001u;
|
|
/* 027E7B50 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD64u;
|
|
/* 027E7B54 */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 027E7B54 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027E7B58 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 027E7B58 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_027E7B5C: ; // 0x27e7b5c
|
|
/* 027E7B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7B60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B60 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E7B60 */ if (_t11) goto L_027E7B80; else goto L_027E7B64;
|
|
L_027E7B64: ; // 0x27e7b64
|
|
/* 027E7B64 */ _t12 = cpu->r[31] + 0x00000088u;
|
|
/* 027E7B64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7B68 */ _t13 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E7B68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7B6C */ cpu->ctr = cpu->r[8];
|
|
/* 027E7B70 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7B74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7B7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E7B7C */ if (_t15) goto L_027E7B80; else goto L_027E7B84;
|
|
L_027E7B80: ; // 0x27e7b80
|
|
/* 027E7B80 */ cpu->r[31] = 0x00000000u;
|
|
L_027E7B84: ; // 0x27e7b84
|
|
/* 027E7B84 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000003Cu);
|
|
/* 027E7B88 */ _t16 = cpu->r[31] + 0x000000B4u;
|
|
/* 027E7B88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E7B8C */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E7B90 */ _t18 = cpu->r[11] + cpu->r[0];
|
|
/* 027E7B90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E7B94 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 027E7B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E7B98 */ _t20 = cpu->r[6] + 0x00000048u;
|
|
/* 027E7B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E7B9C */ cpu->ctr = cpu->r[7];
|
|
/* 027E7BA0 */ _t21 = cpu->r[8] + 0x00000030u;
|
|
/* 027E7BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E7BA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7BA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7BAC */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E7BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E7BB0 */ cpu->r[10] = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E7BB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E7BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7BBC */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7BBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E7BC0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7BC0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E7BC0 */ if (_t25) goto L_027E7BC8; else goto L_027E7BC4;
|
|
L_027E7BC4: ; // 0x27e7bc4
|
|
/* 027E7BC4 */ cpu->r[3] = cpu->r[10] + cpu->r[9];
|
|
L_027E7BC8: ; // 0x27e7bc8
|
|
/* 027E7BC8 */ Gambit_fn_02C60464(cpu);
|
|
/* 027E7BCC */ cpu->r[0] = 0x00000000u;
|
|
/* 027E7BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7BD4 */ cpu->r[31] = cpu->r[0];
|
|
/* 027E7BD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7BD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E7BD8 */ if (_t27) goto L_027E7CA4; else goto L_027E7BDC;
|
|
L_027E7BDC: ; // 0x27e7bdc
|
|
/* 027E7BDC */ cpu->r[7] = 0x10110000u;
|
|
/* 027E7BE0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E7BE4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFD0Cu;
|
|
/* 027E7BE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDE4u;
|
|
/* 027E7BEC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7BEC */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 027E7BF0 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7BF0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027E7BF4 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027E7BF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E7BF8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7BFC */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 027E7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7C04 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E7C08 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C08 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E7C08 */ if (_t32) goto L_027E7C10; else goto L_027E7C0C;
|
|
L_027E7C0C: ; // 0x27e7c0c
|
|
/* 027E7C0C */ cpu->r[0] = cpu->r[11] + cpu->r[12];
|
|
L_027E7C10: ; // 0x27e7c10
|
|
/* 027E7C10 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7C10 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 027E7C14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C18 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C18 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027E7C1C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7C20 */ Gambit_fn_027E8C3C(cpu);
|
|
/* 027E7C24 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7C24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E7C28 */ _t36 = cpu->r[8] + 0x00000014u;
|
|
/* 027E7C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E7C2C */ cpu->ctr = cpu->r[0];
|
|
/* 027E7C30 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7C38 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7C38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E7C3C */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 027E7C3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7C40 */ cpu->ctr = cpu->r[8];
|
|
/* 027E7C44 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E7C48 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7C50 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E7C54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 027E7C58 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C58 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E7C58 */ if (_t42) goto L_027E7CA0; else goto L_027E7C5C;
|
|
L_027E7C5C: ; // 0x27e7c5c
|
|
/* 027E7C5C */ cpu->r[9] = 0x00080000u;
|
|
/* 027E7C60 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7C64 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E7C68 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027E7C6C */ cpu->ctr = cpu->r[9];
|
|
/* 027E7C70 */ _t44 = cpu->r[12] + 0x00007399u;
|
|
/* 027E7C70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t44);
|
|
/* 027E7C74 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_027E7C78: ; // 0x27e7c78
|
|
/* 027E7C78 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 027E7C78 */ cpu->r[7] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E7C7C */ _t46 = cpu->r[11] + 0x00000001u;
|
|
/* 027E7C7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027E7C7C */ cpu->r[11] = _t46;
|
|
/* 027E7C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027E7C84 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C84 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E7C84 */ if (_t48) goto L_027E7C88; else goto L_027E7CA4;
|
|
L_027E7C88: ; // 0x27e7c88
|
|
/* 027E7C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 027E7C8C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C8C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E7C8C */ if (_t50) goto L_027E7CA0; else goto L_027E7C90;
|
|
L_027E7C90: ; // 0x27e7c90
|
|
/* 027E7C90 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E7C94 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E7C94 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E7C94 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 027E7C94 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E7C94 */ if (_t53) goto L_027E7C78; else goto L_027E7C98;
|
|
L_027E7C98: ; // 0x27e7c98
|
|
/* 027E7C98 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027E7C9C */ goto L_027E7CA8;
|
|
L_027E7CA0: ; // 0x27e7ca0
|
|
/* 027E7CA0 */ cpu->r[31] = 0x00000001u;
|
|
L_027E7CA4: ; // 0x27e7ca4
|
|
/* 027E7CA4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_027E7CA8: ; // 0x27e7ca8
|
|
/* 027E7CA8 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7CA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E7CAC */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E7CB0 */ _t56 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7CB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E7CB4 */ cpu->lr = cpu->r[0];
|
|
/* 027E7CB8 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7CB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7CBC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E7CC0 */ return;
|
|
}
|
|
|
|
// fn_027E7B10 @ 0x27e7b10
|
|
void Gambit_fn_027E7B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E7B10: ; // 0x27e7b10
|
|
/* 027E7B10 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E7B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7B10 */ cpu->r[1] = _t0;
|
|
/* 027E7B14 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7B14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E7B18 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7B18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E7B1C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027E7B20 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E7B24 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027E7B28 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7B28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027E7B2C */ _t5 = cpu->r[9] + 0xFFFFE218u;
|
|
/* 027E7B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E7B2C */ cpu->r[9] = _t5;
|
|
/* 027E7B30 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E7B34 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E7B38 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E7B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E7B40 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u;
|
|
/* 027E7B44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E7B44 */ if (_t7) goto L_027E7B48; else goto L_027E7B5C;
|
|
L_027E7B48: ; // 0x27e7b48
|
|
/* 027E7B48 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7B4C */ cpu->r[6] = 0x00000001u;
|
|
/* 027E7B50 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD64u;
|
|
/* 027E7B54 */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 027E7B54 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027E7B58 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 027E7B58 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_027E7B5C: ; // 0x27e7b5c
|
|
/* 027E7B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7B60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B60 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027E7B60 */ if (_t11) goto L_027E7B80; else goto L_027E7B64;
|
|
L_027E7B64: ; // 0x27e7b64
|
|
/* 027E7B64 */ _t12 = cpu->r[31] + 0x00000088u;
|
|
/* 027E7B64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E7B68 */ _t13 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E7B68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E7B6C */ cpu->ctr = cpu->r[8];
|
|
/* 027E7B70 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7B74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7B7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7B7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E7B7C */ if (_t15) goto L_027E7B80; else goto L_027E7B84;
|
|
L_027E7B80: ; // 0x27e7b80
|
|
/* 027E7B80 */ cpu->r[31] = 0x00000000u;
|
|
L_027E7B84: ; // 0x27e7b84
|
|
/* 027E7B84 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[29] * (int32_t)0x0000003Cu);
|
|
/* 027E7B88 */ _t16 = cpu->r[31] + 0x000000B4u;
|
|
/* 027E7B88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E7B8C */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 027E7B8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E7B90 */ _t18 = cpu->r[11] + cpu->r[0];
|
|
/* 027E7B90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E7B94 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 027E7B94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E7B98 */ _t20 = cpu->r[6] + 0x00000048u;
|
|
/* 027E7B98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E7B9C */ cpu->ctr = cpu->r[7];
|
|
/* 027E7BA0 */ _t21 = cpu->r[8] + 0x00000030u;
|
|
/* 027E7BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E7BA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7BA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7BAC */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E7BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E7BB0 */ cpu->r[10] = cpu->r[31] + 0x0000001Cu;
|
|
/* 027E7BB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E7BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7BBC */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027E7BBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E7BC0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7BC0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E7BC0 */ if (_t25) goto L_027E7BC8; else goto L_027E7BC4;
|
|
L_027E7BC4: ; // 0x27e7bc4
|
|
/* 027E7BC4 */ cpu->r[3] = cpu->r[10] + cpu->r[9];
|
|
L_027E7BC8: ; // 0x27e7bc8
|
|
/* 027E7BC8 */ Gambit_fn_02C60464(cpu);
|
|
/* 027E7BCC */ cpu->r[0] = 0x00000000u;
|
|
/* 027E7BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7BD4 */ cpu->r[31] = cpu->r[0];
|
|
/* 027E7BD8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7BD8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E7BD8 */ if (_t27) goto L_027E7CA4; else goto L_027E7BDC;
|
|
L_027E7BDC: ; // 0x27e7bdc
|
|
/* 027E7BDC */ cpu->r[7] = 0x10110000u;
|
|
/* 027E7BE0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E7BE4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFD0Cu;
|
|
/* 027E7BE8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDE4u;
|
|
/* 027E7BEC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7BEC */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 027E7BF0 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7BF0 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 027E7BF4 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 027E7BF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E7BF8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7BFC */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 027E7C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7C04 */ cpu->r[0] = 0x00000000u;
|
|
/* 027E7C08 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C08 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E7C08 */ if (_t32) goto L_027E7C10; else goto L_027E7C0C;
|
|
L_027E7C0C: ; // 0x27e7c0c
|
|
/* 027E7C0C */ cpu->r[0] = cpu->r[11] + cpu->r[12];
|
|
L_027E7C10: ; // 0x27e7c10
|
|
/* 027E7C10 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7C10 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 027E7C14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C18 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C18 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027E7C1C */ cpu->r[0] = 0x00000001u;
|
|
/* 027E7C20 */ Gambit_fn_027E8C3C(cpu);
|
|
/* 027E7C24 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7C24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E7C28 */ _t36 = cpu->r[8] + 0x00000014u;
|
|
/* 027E7C28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E7C2C */ cpu->ctr = cpu->r[0];
|
|
/* 027E7C30 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7C38 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027E7C38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E7C3C */ _t38 = cpu->r[6] + 0x00000014u;
|
|
/* 027E7C3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7C40 */ cpu->ctr = cpu->r[8];
|
|
/* 027E7C44 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E7C48 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7C50 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 027E7C50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E7C54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 027E7C58 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C58 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E7C58 */ if (_t42) goto L_027E7CA0; else goto L_027E7C5C;
|
|
L_027E7C5C: ; // 0x27e7c5c
|
|
/* 027E7C5C */ cpu->r[9] = 0x00080000u;
|
|
/* 027E7C60 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E7C64 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E7C68 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7C68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027E7C6C */ cpu->ctr = cpu->r[9];
|
|
/* 027E7C70 */ _t44 = cpu->r[12] + 0x00007399u;
|
|
/* 027E7C70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t44);
|
|
/* 027E7C74 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_027E7C78: ; // 0x27e7c78
|
|
/* 027E7C78 */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 027E7C78 */ cpu->r[7] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E7C7C */ _t46 = cpu->r[11] + 0x00000001u;
|
|
/* 027E7C7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027E7C7C */ cpu->r[11] = _t46;
|
|
/* 027E7C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027E7C84 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C84 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E7C84 */ if (_t48) goto L_027E7C88; else goto L_027E7CA4;
|
|
L_027E7C88: ; // 0x27e7c88
|
|
/* 027E7C88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 027E7C8C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7C8C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E7C8C */ if (_t50) goto L_027E7CA0; else goto L_027E7C90;
|
|
L_027E7C90: ; // 0x27e7c90
|
|
/* 027E7C90 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E7C94 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E7C94 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E7C94 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 027E7C94 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E7C94 */ if (_t53) goto L_027E7C78; else goto L_027E7C98;
|
|
L_027E7C98: ; // 0x27e7c98
|
|
/* 027E7C98 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027E7C9C */ goto L_027E7CA8;
|
|
L_027E7CA0: ; // 0x27e7ca0
|
|
/* 027E7CA0 */ cpu->r[31] = 0x00000001u;
|
|
L_027E7CA4: ; // 0x27e7ca4
|
|
/* 027E7CA4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_027E7CA8: ; // 0x27e7ca8
|
|
/* 027E7CA8 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E7CA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E7CAC */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E7CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E7CB0 */ _t56 = cpu->r[1] + 0x00000020u;
|
|
/* 027E7CB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E7CB4 */ cpu->lr = cpu->r[0];
|
|
/* 027E7CB8 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 027E7CB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7CBC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E7CC0 */ return;
|
|
}
|
|
|
|
// fn_027E7CC4 @ 0x27e7cc4
|
|
void Gambit_fn_027E7CC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E7CC4: ; // 0x27e7cc4
|
|
/* 027E7CC4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027E7CC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7CC4 */ cpu->r[1] = _t0;
|
|
/* 027E7CC8 */ /* nop */
|
|
/* 027E7CCC */ cpu->r[0] = cpu->lr;
|
|
/* 027E7CD0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E7CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E7CD4 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E7CD8 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E7CDC */ _t2 = cpu->r[27] + 0x0000001Cu;
|
|
/* 027E7CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E7CE0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E7CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 027E7CE8 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E7CEC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7CEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E7CEC */ if (_t4) goto L_027E7CF0; else goto L_027E7E64;
|
|
L_027E7CF0: ; // 0x27e7cf0
|
|
/* 027E7CF0 */ cpu->r[26] = 0x00000001u;
|
|
/* 027E7CF4 */ cpu->r[25] = 0x101D0000u;
|
|
/* 027E7CF8 */ cpu->r[24] = 0x00000000u;
|
|
/* 027E7CFC */ cpu->r[23] = 0x101D0000u;
|
|
L_027E7D00: ; // 0x27e7d00
|
|
/* 027E7D00 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E7D04 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E7D08 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 027E7D0C */ _t5 = cpu->r[27] + 0x0000001Cu;
|
|
/* 027E7D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E7D10 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E7D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 027E7D18 */ _t6 = cpu->r[25] + 0xFFFFE218u;
|
|
/* 027E7D18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E7D1C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7D1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E7D1C */ if (_t8) goto L_027E7D20; else goto L_027E7D28;
|
|
L_027E7D20: ; // 0x27e7d20
|
|
/* 027E7D20 */ _t9 = cpu->r[27] + 0x00000024u;
|
|
/* 027E7D20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E7D24 */ _t10 = cpu->r[5] + cpu->r[24];
|
|
/* 027E7D24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
L_027E7D28: ; // 0x27e7d28
|
|
/* 027E7D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E7D2C */ _t11 = cpu->r[6] + 0x00000000u;
|
|
/* 027E7D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E7D30 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7D30 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E7D30 */ if (_t13) goto L_027E7D34; else goto L_027E7D44;
|
|
L_027E7D34: ; // 0x27e7d34
|
|
/* 027E7D34 */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7D38 */ _t14 = cpu->r[25] + 0xFFFFE218u;
|
|
/* 027E7D38 */ rbrew_write32(cpu->mem, _t14, cpu->r[26]);
|
|
/* 027E7D3C */ cpu->r[8] = cpu->r[8] + 0xFFFFFD64u;
|
|
/* 027E7D40 */ _t15 = cpu->r[23] + 0xFFFFEF88u;
|
|
/* 027E7D40 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
L_027E7D44: ; // 0x27e7d44
|
|
/* 027E7D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7D48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7D48 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E7D48 */ if (_t17) goto L_027E7E50; else goto L_027E7D4C;
|
|
L_027E7D4C: ; // 0x27e7d4c
|
|
/* 027E7D4C */ _t18 = cpu->r[31] + 0x00000088u;
|
|
/* 027E7D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E7D50 */ _t19 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E7D50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E7D54 */ cpu->ctr = cpu->r[10];
|
|
/* 027E7D58 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7D5C */ cpu->r[4] = cpu->r[23] + 0xFFFFEF88u;
|
|
/* 027E7D60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7D68 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7D68 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E7D68 */ if (_t21) goto L_027E7E50; else goto L_027E7D6C;
|
|
L_027E7D6C: ; // 0x27e7d6c
|
|
/* 027E7D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E7D70 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7D70 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E7D70 */ if (_t23) goto L_027E7E50; else goto L_027E7D74;
|
|
L_027E7D74: ; // 0x27e7d74
|
|
/* 027E7D74 */ _t24 = cpu->r[31] + 0x00000088u;
|
|
/* 027E7D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E7D78 */ _t25 = cpu->r[12] + 0x000000B4u;
|
|
/* 027E7D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E7D7C */ cpu->ctr = cpu->r[4];
|
|
/* 027E7D80 */ cpu->r[21] = 0x00000000u;
|
|
/* 027E7D84 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7D88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[3]);
|
|
/* 027E7D90 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7D90 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E7D90 */ if (_t27) goto L_027E7D94; else goto L_027E7E50;
|
|
L_027E7D94: ; // 0x27e7d94
|
|
/* 027E7D94 */ cpu->r[20] = 0x00000000u;
|
|
L_027E7D98: ; // 0x27e7d98
|
|
/* 027E7D98 */ _t28 = cpu->r[31] + 0x000000B4u;
|
|
/* 027E7D98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E7D9C */ _t29 = cpu->r[5] + cpu->r[20];
|
|
/* 027E7D9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E7DA0 */ _t30 = cpu->r[6] + 0x00000048u;
|
|
/* 027E7DA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E7DA4 */ _t31 = cpu->r[5] + 0x00000030u;
|
|
/* 027E7DA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E7DA8 */ _t32 = cpu->r[11] + 0x00000024u;
|
|
/* 027E7DA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E7DAC */ _t33 = cpu->r[28] + 0x00000004u;
|
|
/* 027E7DAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E7DB0 */ cpu->r[22] = 0x00000000u;
|
|
/* 027E7DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7DB8 */ cpu->r[12] = cpu->r[11] + 0x00000024u;
|
|
/* 027E7DBC */ _t34 = cpu->r[7] + 0x00000014u;
|
|
/* 027E7DBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E7DC0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7DC0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027E7DC0 */ if (_t36) goto L_027E7DC8; else goto L_027E7DC4;
|
|
L_027E7DC4: ; // 0x27e7dc4
|
|
/* 027E7DC4 */ cpu->r[22] = cpu->r[12] + cpu->r[9];
|
|
L_027E7DC8: ; // 0x27e7dc8
|
|
/* 027E7DC8 */ cpu->ctr = cpu->r[8];
|
|
/* 027E7DCC */ cpu->r[3] = cpu->r[28];
|
|
/* 027E7DD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7DD4 */ _t37 = cpu->r[22] + 0x00000018u;
|
|
/* 027E7DD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E7DD8 */ cpu->r[7] = cpu->r[22] + 0x00000018u;
|
|
/* 027E7DDC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E7DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E7DE4 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 027E7DE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7DE8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7DE8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027E7DE8 */ if (_t40) goto L_027E7DF0; else goto L_027E7DEC;
|
|
L_027E7DEC: ; // 0x27e7dec
|
|
/* 027E7DEC */ cpu->r[3] = cpu->r[7] + cpu->r[10];
|
|
L_027E7DF0: ; // 0x27e7df0
|
|
/* 027E7DF0 */ Gambit_fn_02C60464(cpu);
|
|
/* 027E7DF4 */ cpu->r[12] = cpu->r[3];
|
|
/* 027E7DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E7DF8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7DF8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E7DF8 */ if (_t42) goto L_027E7E2C; else goto L_027E7DFC;
|
|
L_027E7DFC: ; // 0x27e7dfc
|
|
/* 027E7DFC */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 027E7DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E7E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000031u);
|
|
/* 027E7E04 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7E04 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E7E04 */ if (_t45) goto L_027E7E08; else goto L_027E7E2C;
|
|
L_027E7E08: ; // 0x27e7e08
|
|
/* 027E7E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E7E0C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7E0C */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E7E0C */ if (_t47) goto L_027E7E14; else goto L_027E7E10;
|
|
L_027E7E10: ; // 0x27e7e10
|
|
/* 027E7E10 */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 027E7E10 */ rbrew_write32(cpu->mem, _t48, cpu->r[21]);
|
|
L_027E7E14: ; // 0x27e7e14
|
|
/* 027E7E14 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7E18 */ /* nop */
|
|
/* 027E7E1C */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E7E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027E7E20 */ cpu->lr = cpu->r[0];
|
|
/* 027E7E24 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027E7E28 */ return;
|
|
L_027E7E2C: ; // 0x27e7e2c
|
|
/* 027E7E2C */ _t50 = cpu->r[31] + 0x00000088u;
|
|
/* 027E7E2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027E7E30 */ _t51 = cpu->r[4] + 0x000000B4u;
|
|
/* 027E7E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E7E34 */ cpu->ctr = cpu->r[0];
|
|
/* 027E7E38 */ cpu->r[20] = cpu->r[20] + 0x0000003Cu;
|
|
/* 027E7E3C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E7E40 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 027E7E44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[3]);
|
|
/* 027E7E4C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7E4C */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E7E4C */ if (_t53) goto L_027E7D98; else goto L_027E7E50;
|
|
L_027E7E50: ; // 0x27e7e50
|
|
/* 027E7E50 */ _t54 = cpu->r[27] + 0x0000001Cu;
|
|
/* 027E7E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E7E54 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E7E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 027E7E5C */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 027E7E60 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7E60 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027E7E60 */ if (_t56) goto L_027E7D00; else goto L_027E7E64;
|
|
L_027E7E64: ; // 0x27e7e64
|
|
/* 027E7E64 */ /* nop */
|
|
/* 027E7E68 */ _t57 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E7E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E7E6C */ cpu->lr = cpu->r[0];
|
|
/* 027E7E70 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027E7E74 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027E7E78 */ return;
|
|
}
|
|
|
|
// fn_027E7E7C @ 0x27e7e7c
|
|
void Gambit_fn_027E7E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E7E7C: ; // 0x27e7e7c
|
|
/* 027E7E7C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027E7E7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E7E7C */ cpu->r[1] = _t0;
|
|
/* 027E7E80 */ /* nop */
|
|
/* 027E7E84 */ cpu->r[0] = cpu->lr;
|
|
/* 027E7E88 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E7E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E7E8C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E7E90 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E7E94 */ _t2 = cpu->r[12] + 0xFFFFE218u;
|
|
/* 027E7E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E7E94 */ cpu->r[12] = _t2;
|
|
/* 027E7E98 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E7E9C */ cpu->r[4] = 0x101D0000u;
|
|
/* 027E7EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E7EA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEF88u;
|
|
/* 027E7EA8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7EA8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E7EA8 */ if (_t4) goto L_027E7EAC; else goto L_027E7EC0;
|
|
L_027E7EAC: ; // 0x27e7eac
|
|
/* 027E7EAC */ cpu->r[8] = 0x10110000u;
|
|
/* 027E7EB0 */ cpu->r[7] = 0x00000001u;
|
|
/* 027E7EB4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFD64u;
|
|
/* 027E7EB8 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027E7EB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 027E7EBC */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 027E7EBC */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
L_027E7EC0: ; // 0x27e7ec0
|
|
/* 027E7EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E7EC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7EC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E7EC4 */ if (_t8) goto L_027E8028; else goto L_027E7EC8;
|
|
L_027E7EC8: ; // 0x27e7ec8
|
|
/* 027E7EC8 */ _t9 = cpu->r[30] + 0x00000088u;
|
|
/* 027E7EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E7ECC */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E7ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E7ED0 */ cpu->ctr = cpu->r[0];
|
|
/* 027E7ED4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E7EE0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7EE0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E7EE0 */ if (_t12) goto L_027E8028; else goto L_027E7EE4;
|
|
L_027E7EE4: ; // 0x27e7ee4
|
|
/* 027E7EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E7EE8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7EE8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E7EE8 */ if (_t14) goto L_027E8028; else goto L_027E7EEC;
|
|
L_027E7EEC: ; // 0x27e7eec
|
|
/* 027E7EEC */ _t15 = cpu->r[30] + 0x00000088u;
|
|
/* 027E7EEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E7EF0 */ _t16 = cpu->r[10] + 0x000000B4u;
|
|
/* 027E7EF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E7EF4 */ cpu->ctr = cpu->r[12];
|
|
/* 027E7EF8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E7EFC */ cpu->r[3] = cpu->r[30];
|
|
/* 027E7F00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 027E7F08 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E7F08 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E7F08 */ if (_t18) goto L_027E7F0C; else goto L_027E8028;
|
|
L_027E7F0C: ; // 0x27e7f0c
|
|
/* 027E7F0C */ cpu->r[31] = 0x10110000u;
|
|
/* 027E7F10 */ cpu->r[26] = 0x00080000u;
|
|
/* 027E7F14 */ cpu->r[25] = 0x00000000u;
|
|
/* 027E7F18 */ cpu->r[27] = 0x10110000u;
|
|
/* 027E7F1C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027E7F20 */ _t19 = cpu->r[31] + 0x00007399u;
|
|
/* 027E7F20 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
|
|
/* 027E7F24 */ cpu->r[27] = cpu->r[27] + 0xFFFFFD0Cu;
|
|
L_027E7F28: ; // 0x27e7f28
|
|
/* 027E7F28 */ _t20 = cpu->r[30] + 0x000000B4u;
|
|
/* 027E7F28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E7F2C */ _t21 = cpu->r[5] + cpu->r[25];
|
|
/* 027E7F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E7F30 */ _t22 = cpu->r[12] + 0x00000048u;
|
|
/* 027E7F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E7F34 */ _t23 = cpu->r[11] + 0x00000030u;
|
|
/* 027E7F34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E7F38 */ _t24 = cpu->r[7] + 0x00000024u;
|
|
/* 027E7F38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E7F3C */ cpu->r[4] = 0x00000000u;
|
|
/* 027E7F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027E7F44 */ cpu->r[11] = cpu->r[7] + 0x00000024u;
|
|
/* 027E7F48 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7F48 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E7F48 */ if (_t26) goto L_027E7F50; else goto L_027E7F4C;
|
|
L_027E7F4C: ; // 0x27e7f4c
|
|
/* 027E7F4C */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
L_027E7F50: ; // 0x27e7f50
|
|
/* 027E7F50 */ _t27 = cpu->r[4] + 0x00000004u;
|
|
/* 027E7F50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E7F54 */ cpu->r[6] = cpu->r[4] + 0x00000004u;
|
|
/* 027E7F58 */ cpu->r[8] = 0x00000000u;
|
|
/* 027E7F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E7F60 */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 027E7F60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E7F64 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7F64 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E7F64 */ if (_t30) goto L_027E7F6C; else goto L_027E7F68;
|
|
L_027E7F68: ; // 0x27e7f68
|
|
/* 027E7F68 */ cpu->r[8] = cpu->r[6] + cpu->r[9];
|
|
L_027E7F6C: ; // 0x27e7f6c
|
|
/* 027E7F6C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7F6C */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 027E7F70 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7F70 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 027E7F74 */ _t33 = cpu->r[7] + 0x00000014u;
|
|
/* 027E7F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E7F78 */ cpu->ctr = cpu->r[0];
|
|
/* 027E7F7C */ cpu->r[3] = cpu->r[28];
|
|
/* 027E7F80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7F84 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 027E7F84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E7F88 */ _t35 = cpu->r[11] + 0x00000014u;
|
|
/* 027E7F88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E7F8C */ cpu->ctr = cpu->r[5];
|
|
/* 027E7F90 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E7F94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7F98 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E7F98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E7F9C */ _t37 = cpu->r[6] + 0x00000014u;
|
|
/* 027E7F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E7FA0 */ cpu->ctr = cpu->r[9];
|
|
/* 027E7FA4 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 027E7FA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E7FA8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E7FAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E7FB0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E7FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 027E7FB8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7FB8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027E7FB8 */ if (_t41) goto L_027E7FBC; else goto L_027E7FD4;
|
|
L_027E7FBC: ; // 0x27e7fbc
|
|
/* 027E7FBC */ cpu->r[3] = cpu->r[29];
|
|
/* 027E7FC0 */ /* nop */
|
|
/* 027E7FC4 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 027E7FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E7FC8 */ cpu->lr = cpu->r[0];
|
|
/* 027E7FCC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E7FD0 */ return;
|
|
L_027E7FD4: ; // 0x27e7fd4
|
|
/* 027E7FD4 */ _t43 = cpu->r[28] + 0x00000000u;
|
|
/* 027E7FD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027E7FD8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027E7FD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E7FDC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027E7FE0 */ cpu->ctr = cpu->r[26];
|
|
/* 027E7FE4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_027E7FE8: ; // 0x27e7fe8
|
|
/* 027E7FE8 */ _t45 = cpu->r[7] + 0x00000001u;
|
|
/* 027E7FE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E7FE8 */ cpu->r[7] = _t45;
|
|
/* 027E7FEC */ _t46 = cpu->r[6] + 0x00000001u;
|
|
/* 027E7FEC */ cpu->r[11] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027E7FEC */ cpu->r[6] = _t46;
|
|
/* 027E7FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 027E7FF4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7FF4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E7FF4 */ if (_t48) goto L_027E7FF8; else goto L_027E8004;
|
|
L_027E7FF8: ; // 0x27e7ff8
|
|
/* 027E7FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E7FFC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E7FFC */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E7FFC */ if (_t50) goto L_027E7FBC; else goto L_027E8000;
|
|
L_027E8000: ; // 0x27e8000
|
|
/* 027E8000 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E8000 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E8000 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 027E8000 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E8000 */ if (_t53) goto L_027E7FE8; else goto L_027E8004;
|
|
L_027E8004: ; // 0x27e8004
|
|
/* 027E8004 */ _t54 = cpu->r[30] + 0x00000088u;
|
|
/* 027E8004 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E8008 */ _t55 = cpu->r[4] + 0x000000B4u;
|
|
/* 027E8008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E800C */ cpu->ctr = cpu->r[0];
|
|
/* 027E8010 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E8014 */ cpu->r[25] = cpu->r[25] + 0x0000003Cu;
|
|
/* 027E8018 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E801C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[3]);
|
|
/* 027E8024 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8024 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027E8024 */ if (_t57) goto L_027E7F28; else goto L_027E8028;
|
|
L_027E8028: ; // 0x27e8028
|
|
/* 027E8028 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 027E802C */ cpu->r[3] = cpu->r[29];
|
|
/* 027E8030 */ /* nop */
|
|
/* 027E8034 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 027E8034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027E8038 */ cpu->lr = cpu->r[0];
|
|
/* 027E803C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027E8040 */ return;
|
|
}
|
|
|
|
// fn_027E8044 @ 0x27e8044
|
|
void Gambit_fn_027E8044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E8044: ; // 0x27e8044
|
|
/* 027E8044 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027E8044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E8044 */ cpu->r[1] = _t0;
|
|
/* 027E8048 */ /* nop */
|
|
/* 027E804C */ cpu->r[0] = cpu->lr;
|
|
/* 027E8050 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E8050 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E8054 */ cpu->r[29] = 0x00000001u;
|
|
/* 027E8058 */ cpu->r[24] = cpu->r[3];
|
|
/* 027E805C */ cpu->r[25] = cpu->r[4];
|
|
/* 027E8060 */ cpu->r[26] = 0x00000000u;
|
|
/* 027E8064 */ cpu->r[27] = 0x101D0000u;
|
|
/* 027E8068 */ cpu->r[7] = 0x10200000u;
|
|
/* 027E806C */ cpu->r[28] = 0x101D0000u;
|
|
/* 027E8070 */ _t2 = cpu->r[7] + 0xFFFF8818u;
|
|
/* 027E8070 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E8074 */ goto L_027E8180;
|
|
L_027E8078: ; // 0x27e8078
|
|
/* 027E8078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027E807C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E807C */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E807C */ if (_t4) goto L_027E80F4; else goto L_027E8080;
|
|
L_027E8080: ; // 0x27e8080
|
|
/* 027E8080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027E8084 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8084 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E8084 */ if (_t6) goto L_027E8088; else goto L_027E80A0;
|
|
L_027E8088: ; // 0x27e8088
|
|
/* 027E8088 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E808C */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
/* 027E8090 */ _t7 = cpu->r[9] + 0x00000002u;
|
|
/* 027E8090 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 027E8094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[11]);
|
|
/* 027E8098 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8098 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E8098 */ if (_t9) goto L_027E809C; else goto L_027E80F4;
|
|
L_027E809C: ; // 0x27e809c
|
|
/* 027E809C */ goto L_027E80AC;
|
|
L_027E80A0: ; // 0x27e80a0
|
|
/* 027E80A0 */ _t10 = cpu->r[10] + 0x00000002u;
|
|
/* 027E80A0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t10);
|
|
/* 027E80A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[11]);
|
|
/* 027E80A8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E80A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E80A8 */ if (_t12) goto L_027E80AC; else goto L_027E80F4;
|
|
L_027E80AC: ; // 0x27e80ac
|
|
/* 027E80AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027E80B0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E80B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E80B0 */ if (_t14) goto L_027E80B4; else goto L_027E80BC;
|
|
L_027E80B4: ; // 0x27e80b4
|
|
/* 027E80B4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E80B8 */ cpu->r[10] = cpu->r[10] + cpu->r[4];
|
|
L_027E80BC: ; // 0x27e80bc
|
|
/* 027E80BC */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 027E80BC */ cpu->r[6] = rbrew_read16(cpu->mem, _t15);
|
|
/* 027E80C0 */ _t16 = cpu->r[24] + 0x00000010u;
|
|
/* 027E80C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E80C4 */ cpu->r[5] = cpu->r[6] + cpu->r[26];
|
|
/* 027E80C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 027E80CC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E80D0 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E80D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E80D0 */ if (_t18) goto L_027E80D4; else goto L_027E80E0;
|
|
L_027E80D4: ; // 0x27e80d4
|
|
/* 027E80D4 */ _t19 = cpu->r[24] + 0x00000014u;
|
|
/* 027E80D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E80D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E80DC */ cpu->r[7] = cpu->r[10] + cpu->r[9];
|
|
L_027E80E0: ; // 0x27e80e0
|
|
/* 027E80E0 */ _t20 = cpu->r[28] + 0x00001584u;
|
|
/* 027E80E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E80E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E80E8 */ _t21 = cpu->r[7] + 0x00000000u;
|
|
/* 027E80E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E80EC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E80EC */ _t23 = _t22 & 0x00000001u;
|
|
/* 027E80EC */ if (_t23) goto L_027E80F0; else goto L_027E8114;
|
|
L_027E80F0: ; // 0x27e80f0
|
|
/* 027E80F0 */ goto L_027E8104;
|
|
L_027E80F4: ; // 0x27e80f4
|
|
/* 027E80F4 */ _t24 = cpu->r[28] + 0x00001584u;
|
|
/* 027E80F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E80F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027E80FC */ cpu->r[31] = 0x00000000u;
|
|
/* 027E8100 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8100 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E8100 */ if (_t26) goto L_027E8104; else goto L_027E8114;
|
|
L_027E8104: ; // 0x27e8104
|
|
/* 027E8104 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E8108 */ _t27 = cpu->r[28] + 0x00001584u;
|
|
/* 027E8108 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 027E810C */ cpu->r[0] = cpu->r[0] + 0xFFFFFD54u;
|
|
/* 027E8110 */ _t28 = cpu->r[27] + 0x00001580u;
|
|
/* 027E8110 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_027E8114: ; // 0x27e8114
|
|
/* 027E8114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E8118 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8118 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E8118 */ if (_t30) goto L_027E813C; else goto L_027E811C;
|
|
L_027E811C: ; // 0x27e811c
|
|
/* 027E811C */ _t31 = cpu->r[31] + 0x00000018u;
|
|
/* 027E811C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E8120 */ _t32 = cpu->r[4] + 0x0000004Cu;
|
|
/* 027E8120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E8124 */ cpu->ctr = cpu->r[0];
|
|
/* 027E8128 */ cpu->r[4] = cpu->r[27] + 0x00001580u;
|
|
/* 027E812C */ cpu->r[3] = cpu->r[31];
|
|
/* 027E8130 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8138 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8138 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027E8138 */ if (_t34) goto L_027E813C; else goto L_027E8140;
|
|
L_027E813C: ; // 0x27e813c
|
|
/* 027E813C */ cpu->r[31] = 0x00000000u;
|
|
L_027E8140: ; // 0x27e8140
|
|
/* 027E8140 */ _t35 = cpu->r[31] + 0x000001C0u;
|
|
/* 027E8140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E8144 */ cpu->r[9] = cpu->r[31] + 0x000001B4u;
|
|
/* 027E8148 */ _t36 = cpu->r[31] + 0x000001B8u;
|
|
/* 027E8148 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E814C */ cpu->r[5] = cpu->r[9] - cpu->r[0];
|
|
/* 027E8150 */ cpu->r[11] = cpu->r[8] - cpu->r[0];
|
|
/* 027E8154 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]);
|
|
/* 027E8158 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8158 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E8158 */ if (_t38) goto L_027E817C; else goto L_027E815C;
|
|
L_027E815C: ; // 0x27e815c
|
|
/* 027E815C */ cpu->r[7] = cpu->r[11] + cpu->r[0];
|
|
/* 027E8160 */ _t39 = cpu->r[11] + 0x000000C4u;
|
|
/* 027E8160 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[25]);
|
|
/* 027E8164 */ _t40 = cpu->r[7] + 0x00000004u;
|
|
/* 027E8164 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E8168 */ _t41 = cpu->r[9] + 0x0000000Cu;
|
|
/* 027E8168 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E816C */ cpu->r[11] = cpu->r[10] - cpu->r[0];
|
|
/* 027E8170 */ cpu->r[12] = cpu->r[9] - cpu->r[6];
|
|
/* 027E8174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 027E8178 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8178 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027E8178 */ if (_t43) goto L_027E817C; else goto L_027E815C;
|
|
L_027E817C: ; // 0x27e817c
|
|
/* 027E817C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_027E8180: ; // 0x27e8180
|
|
/* 027E8180 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 027E8180 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 027E8184 */ _t45 = cpu->r[24] + 0x00000008u;
|
|
/* 027E8184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E8188 */ cpu->r[6] = cpu->r[12];
|
|
/* 027E818C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 027E8190 */ _t46 = cpu->r[24] + 0x0000000Cu;
|
|
/* 027E8190 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E8194 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8194 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E8194 */ if (_t48) goto L_027E8198; else goto L_027E81B0;
|
|
L_027E8198: ; // 0x27e8198
|
|
/* 027E8198 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027E819C */ cpu->r[7] = cpu->r[10] + cpu->r[11];
|
|
/* 027E81A0 */ _t49 = cpu->r[7] + 0x00000002u;
|
|
/* 027E81A0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t49);
|
|
/* 027E81A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[5]);
|
|
/* 027E81A8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E81A8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E81A8 */ if (_t51) goto L_027E8078; else goto L_027E81AC;
|
|
L_027E81AC: ; // 0x27e81ac
|
|
/* 027E81AC */ goto L_027E81BC;
|
|
L_027E81B0: ; // 0x27e81b0
|
|
/* 027E81B0 */ _t52 = cpu->r[10] + 0x00000002u;
|
|
/* 027E81B0 */ cpu->r[5] = rbrew_read16(cpu->mem, _t52);
|
|
/* 027E81B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[5]);
|
|
/* 027E81B8 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E81B8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 027E81B8 */ if (_t54) goto L_027E8078; else goto L_027E81BC;
|
|
L_027E81BC: ; // 0x27e81bc
|
|
/* 027E81BC */ /* nop */
|
|
/* 027E81C0 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E81C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E81C4 */ cpu->lr = cpu->r[0];
|
|
/* 027E81C8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027E81CC */ return;
|
|
}
|
|
|
|
// fn_027E81D0 @ 0x27e81d0
|
|
void Gambit_fn_027E81D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E81D0: ; // 0x27e81d0
|
|
/* 027E81D0 */ _t0 = cpu->r[1] + 0xFFFFFD80u;
|
|
/* 027E81D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E81D0 */ cpu->r[1] = _t0;
|
|
/* 027E81D4 */ _t1 = cpu->r[1] + 0x00000260u;
|
|
/* 027E81D4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027E81D8 */ /* nop */
|
|
/* 027E81DC */ cpu->r[0] = cpu->lr;
|
|
/* 027E81E0 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E81E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E81E8 */ /* nop */
|
|
/* 027E81EC */ _t2 = cpu->r[1] + 0x00000270u;
|
|
/* 027E81EC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027E81F0 */ /* nop */
|
|
/* 027E81F4 */ _t3 = cpu->r[1] + 0x00000268u;
|
|
/* 027E81F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027E81F8 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 027E81FC */ _t4 = cpu->r[1] + 0x00000278u;
|
|
/* 027E81FC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E8200 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E8204 */ _t5 = cpu->r[1] + 0x00000284u;
|
|
/* 027E8204 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E8208 */ Gambit_fn_0281E19C(cpu);
|
|
/* 027E820C */ cpu->r[27] = 0x00000000u;
|
|
/* 027E8210 */ _t6 = cpu->r[1] + 0x0000009Cu;
|
|
/* 027E8210 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[27]);
|
|
/* 027E8214 */ _t7 = cpu->r[1] + 0x00000090u;
|
|
/* 027E8214 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[27]);
|
|
/* 027E8218 */ cpu->r[3] = cpu->r[1] + 0x00000090u;
|
|
/* 027E821C */ _t8 = cpu->r[1] + 0x00000091u;
|
|
/* 027E821C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[27]);
|
|
/* 027E8220 */ Gambit_fn_0281E2C8(cpu);
|
|
/* 027E8224 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E8228 */ Gambit_fn_028F047C(cpu);
|
|
/* 027E822C */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8230 */ Gambit_fn_028F18E8(cpu);
|
|
/* 027E8234 */ _t9 = cpu->r[28] + 0x00000008u;
|
|
/* 027E8234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E8238 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E823C */ _t10 = cpu->r[28] + 0x0000007Cu;
|
|
/* 027E823C */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027E8240 */ /* nop */
|
|
/* 027E8244 */ _t11 = cpu->r[11] + 0xFFFFFD90u;
|
|
/* 027E8244 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027E8248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]);
|
|
/* 027E824C */ _t12 = cpu->r[28] + 0x0000007Du;
|
|
/* 027E824C */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027E8250 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E8250 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E8250 */ if (_t14) goto L_027E8254; else goto L_027E8258;
|
|
L_027E8254: ; // 0x27e8254
|
|
/* 027E8254 */ cpu->r[8] = cpu->r[9];
|
|
L_027E8258: ; // 0x27e8258
|
|
/* 027E8258 */ _t15 = cpu->r[28] + 0x0000000Cu;
|
|
/* 027E8258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E825C */ cpu->r[0] = 0x43300000u;
|
|
/* 027E8260 */ /* nop */
|
|
/* 027E8264 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8264 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027E8268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[10]);
|
|
/* 027E826C */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E826C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E826C */ if (_t18) goto L_027E8270; else goto L_027E8274;
|
|
L_027E8270: ; // 0x27e8270
|
|
/* 027E8270 */ cpu->r[10] = cpu->r[11];
|
|
L_027E8274: ; // 0x27e8274
|
|
/* 027E8274 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8274 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 027E8278 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8278 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 027E827C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E8280 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8280 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 027E8284 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8284 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 027E8288 */ cpu->f[0] = cpu->f[13] - cpu->f[12];
|
|
/* 027E828C */ cpu->r[10] = 0x10110000u;
|
|
/* 027E8290 */ cpu->r[12] = cpu->r[12] + 0xFFFFFDECu;
|
|
/* 027E8294 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 027E8298 */ cpu->r[10] = cpu->r[10] + 0xFFFFFD0Cu;
|
|
/* 027E829C */ cpu->f[31] = (double)(float)cpu->f[0];
|
|
/* 027E82A0 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E82A4 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 027E82A4 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 027E82A8 */ cpu->f[30] = (double)(float)cpu->f[13];
|
|
/* 027E82AC */ _t24 = cpu->r[1] + 0x00000030u;
|
|
/* 027E82AC */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 027E82B0 */ cpu->f[9] = cpu->f[31];
|
|
/* 027E82B4 */ _t25 = cpu->r[9] + 0xFFFFFDE8u;
|
|
/* 027E82B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E82B8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E82B8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[30]);
|
|
/* 027E82BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[10]);
|
|
/* 027E82C0 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 027E82C0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
/* 027E82C4 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E82C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E82C4 */ if (_t29) goto L_027E82C8; else goto L_027E82E8;
|
|
L_027E82C8: ; // 0x27e82c8
|
|
/* 027E82C8 */ cpu->f[12] = cpu->f[30];
|
|
/* 027E82CC */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 027E82D0 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 027E82D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[10]);
|
|
/* 027E82D8 */ /* nop */
|
|
/* 027E82DC */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 027E82DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E82E0 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E82E0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027E82E0 */ if (_t32) goto L_027E82E4; else goto L_027E8378;
|
|
L_027E82E4: ; // 0x27e82e4
|
|
/* 027E82E4 */ goto L_027E830C;
|
|
L_027E82E8: ; // 0x27e82e8
|
|
/* 027E82E8 */ cpu->f[7] = cpu->f[9] - cpu->f[10];
|
|
/* 027E82EC */ cpu->f[12] = cpu->f[30];
|
|
/* 027E82F0 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[7];
|
|
/* 027E82F4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027E82F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[10]);
|
|
/* 027E82FC */ /* nop */
|
|
/* 027E8300 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8300 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E8304 */ cpu->r[6] = cpu->r[12] + 0x80000000u;
|
|
/* 027E8308 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8308 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E8308 */ if (_t35) goto L_027E830C; else goto L_027E8378;
|
|
L_027E830C: ; // 0x27e830c
|
|
/* 027E830C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 027E8310 */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 027E8314 */ /* nop */
|
|
/* 027E8318 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8318 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E831C */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E8320 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E8324 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 027E8324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E8328 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E832C */ _t38 = cpu->r[29] + 0xFFFFA504u;
|
|
/* 027E832C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E832C */ cpu->r[29] = _t38;
|
|
/* 027E8330 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 027E8334 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027E8334 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 027E8338 */ cpu->r[10] = cpu->r[9];
|
|
/* 027E833C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E833C */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 027E8340 */ Gambit_fn_029456B0(cpu);
|
|
/* 027E8344 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E8348 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027E8348 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027E834C */ _t42 = cpu->r[10] + 0xFFFFFCE8u;
|
|
/* 027E834C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 027E8350 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E8350 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027E8354 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 027E8358 */ _t44 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E8358 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[30]);
|
|
/* 027E835C */ cpu->r[0] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8360 */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 027E8360 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
/* 027E8364 */ _t46 = cpu->r[1] + 0x00000074u;
|
|
/* 027E8364 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 027E8368 */ cpu->r[26] = cpu->r[3];
|
|
/* 027E836C */ _t47 = cpu->r[1] + 0x00000054u;
|
|
/* 027E836C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 027E8370 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8370 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E8370 */ if (_t49) goto L_027E8374; else goto L_027E83FC;
|
|
L_027E8374: ; // 0x27e8374
|
|
/* 027E8374 */ goto L_027E83E8;
|
|
L_027E8378: ; // 0x27e8378
|
|
/* 027E8378 */ cpu->f[11] = cpu->f[12] - cpu->f[10];
|
|
/* 027E837C */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 027E8380 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 027E8384 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E8388 */ /* nop */
|
|
/* 027E838C */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E838C */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027E8390 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027E8394 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E8398 */ _t51 = cpu->r[29] + 0xFFFFA504u;
|
|
/* 027E8398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027E8398 */ cpu->r[29] = _t51;
|
|
/* 027E839C */ cpu->r[7] = cpu->r[5] + 0x80000000u;
|
|
/* 027E83A0 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 027E83A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E83A4 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 027E83A8 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 027E83A8 */ rbrew_write32(cpu->mem, _t53, cpu->r[8]);
|
|
/* 027E83AC */ cpu->r[10] = cpu->r[9];
|
|
/* 027E83B0 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E83B0 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
/* 027E83B4 */ Gambit_fn_029456B0(cpu);
|
|
/* 027E83B8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027E83BC */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 027E83BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 027E83C0 */ _t56 = cpu->r[10] + 0xFFFFFCE8u;
|
|
/* 027E83C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 027E83C4 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E83C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027E83C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 027E83CC */ _t58 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027E83CC */ rbrew_write_f32(cpu->mem, _t58, cpu->f[30]);
|
|
/* 027E83D0 */ cpu->r[0] = cpu->r[1] + 0x00000108u;
|
|
/* 027E83D4 */ _t59 = cpu->r[1] + 0x00000038u;
|
|
/* 027E83D4 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[31]);
|
|
/* 027E83D8 */ _t60 = cpu->r[1] + 0x00000074u;
|
|
/* 027E83D8 */ rbrew_write32(cpu->mem, _t60, cpu->r[27]);
|
|
/* 027E83DC */ cpu->r[26] = cpu->r[3];
|
|
/* 027E83E0 */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 027E83E0 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 027E83E4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E83E4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027E83E4 */ if (_t63) goto L_027E83E8; else goto L_027E83FC;
|
|
L_027E83E8: ; // 0x27e83e8
|
|
/* 027E83E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 027E83EC */ _t64 = cpu->r[1] + 0x00000020u;
|
|
/* 027E83EC */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 027E83F0 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 027E83F0 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 027E83F4 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E83F4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027E83F4 */ if (_t67) goto L_027E83F8; else goto L_027E8448;
|
|
L_027E83F8: ; // 0x27e83f8
|
|
/* 027E83F8 */ goto L_027E840C;
|
|
L_027E83FC: ; // 0x27e83fc
|
|
/* 027E83FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[9]);
|
|
/* 027E8400 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8400 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]);
|
|
/* 027E8404 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 027E8404 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]);
|
|
/* 027E8408 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8408 */ _t71 = _t70 & 0x00000001u;
|
|
/* 027E8408 */ if (_t71) goto L_027E840C; else goto L_027E8448;
|
|
L_027E840C: ; // 0x27e840c
|
|
/* 027E840C */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 027E840C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027E8410 */ _t73 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E8410 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[9]);
|
|
/* 027E8414 */ _t74 = cpu->r[1] + 0x00000040u;
|
|
/* 027E8414 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[0]);
|
|
/* 027E8418 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E841C */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 027E841C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[11]);
|
|
/* 027E8420 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 027E8420 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 027E8424 */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8428 */ _t77 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8428 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027E842C */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E842C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[11]);
|
|
/* 027E8430 */ _t79 = cpu->r[1] + 0x00000048u;
|
|
/* 027E8430 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[8]);
|
|
/* 027E8434 */ Gambit_fn_020195C0(cpu);
|
|
/* 027E8438 */ _t80 = cpu->r[1] + 0x00000190u;
|
|
/* 027E8438 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027E843C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E8440 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8440 */ _t82 = _t81 & 0x00000001u;
|
|
/* 027E8440 */ if (_t82) goto L_027E8444; else goto L_027E8480;
|
|
L_027E8444: ; // 0x27e8444
|
|
/* 027E8444 */ goto L_027E848C;
|
|
L_027E8448: ; // 0x27e8448
|
|
/* 027E8448 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 027E8448 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027E844C */ _t84 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027E844C */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
/* 027E8450 */ _t85 = cpu->r[1] + 0x00000040u;
|
|
/* 027E8450 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[0]);
|
|
/* 027E8454 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E8458 */ _t86 = cpu->r[1] + 0x00000044u;
|
|
/* 027E8458 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[9]);
|
|
/* 027E845C */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 027E845C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[11]);
|
|
/* 027E8460 */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8464 */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8464 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027E8468 */ _t89 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E8468 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[9]);
|
|
/* 027E846C */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 027E846C */ rbrew_write_f32(cpu->mem, _t90, cpu->f[8]);
|
|
/* 027E8470 */ Gambit_fn_020195C0(cpu);
|
|
/* 027E8474 */ _t91 = cpu->r[1] + 0x00000190u;
|
|
/* 027E8474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027E8478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027E847C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E847C */ _t93 = _t92 & 0x00000001u;
|
|
/* 027E847C */ if (_t93) goto L_027E848C; else goto L_027E8480;
|
|
L_027E8480: ; // 0x27e8480
|
|
/* 027E8480 */ _t94 = cpu->r[1] + 0x00000190u;
|
|
/* 027E8480 */ rbrew_write32(cpu->mem, _t94, cpu->r[27]);
|
|
/* 027E8484 */ cpu->r[12] = 0x00000001u;
|
|
/* 027E8488 */ _t95 = cpu->r[1] + 0x0000018Cu;
|
|
/* 027E8488 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[12]);
|
|
L_027E848C: ; // 0x27e848c
|
|
/* 027E848C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E8490 */ Gambit_fn_0281BAE0(cpu);
|
|
/* 027E8494 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 027E8498 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 027E849C */ Gambit_fn_0281D990(cpu);
|
|
/* 027E84A0 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 027E84A4 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 027E84A8 */ Gambit_fn_0281DCCC(cpu);
|
|
/* 027E84AC */ cpu->r[27] = 0x101F0000u;
|
|
/* 027E84B0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E84B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 027E84B8 */ cpu->r[9] = cpu->r[31];
|
|
/* 027E84BC */ cpu->r[10] = cpu->r[30];
|
|
/* 027E84C0 */ cpu->r[8] = cpu->r[27] + 0x00006318u;
|
|
/* 027E84C4 */ cpu->r[6] = cpu->r[5];
|
|
/* 027E84C8 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 027E84CC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E84D0 */ Gambit_fn_027E68E4(cpu);
|
|
/* 027E84D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E84D8 */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E84DC */ Gambit_fn_028F1A48(cpu);
|
|
/* 027E84E0 */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E84E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 027E84E8 */ Gambit_fn_020195C0(cpu);
|
|
/* 027E84EC */ _t96 = cpu->r[1] + 0x00000190u;
|
|
/* 027E84EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027E84F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027E84F4 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E84F4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027E84F4 */ if (_t98) goto L_027E8504; else goto L_027E84F8;
|
|
L_027E84F8: ; // 0x27e84f8
|
|
/* 027E84F8 */ _t99 = cpu->r[1] + 0x00000190u;
|
|
/* 027E84F8 */ rbrew_write32(cpu->mem, _t99, cpu->r[31]);
|
|
/* 027E84FC */ cpu->r[0] = 0x00000001u;
|
|
/* 027E8500 */ _t100 = cpu->r[1] + 0x0000018Cu;
|
|
/* 027E8500 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[0]);
|
|
L_027E8504: ; // 0x27e8504
|
|
/* 027E8504 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E8508 */ Gambit_fn_0281BAE0(cpu);
|
|
/* 027E850C */ cpu->r[6] = 0x10110000u;
|
|
/* 027E8510 */ cpu->r[9] = cpu->r[31] ^ 0x80000000u;
|
|
/* 027E8514 */ _t101 = cpu->r[6] + 0xFFFFFDB8u;
|
|
/* 027E8514 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 027E8518 */ cpu->r[8] = 0x43300000u;
|
|
/* 027E851C */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 027E851C */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 027E8520 */ _t103 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8520 */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 027E8524 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8524 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t104);
|
|
/* 027E8528 */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 027E852C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E8530 */ cpu->f[2] = (double)(float)cpu->f[8];
|
|
/* 027E8534 */ _t105 = cpu->r[12] + 0xFFFFFD84u;
|
|
/* 027E8534 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 027E8538 */ Gambit_fn_02C88860(cpu);
|
|
/* 027E853C */ cpu->r[6] = 0x00000000u;
|
|
/* 027E8540 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 027E8544 */ cpu->r[7] = cpu->r[6];
|
|
/* 027E8548 */ cpu->r[8] = cpu->r[27] + 0x00006318u;
|
|
/* 027E854C */ cpu->r[5] = 0x00000001u;
|
|
/* 027E8550 */ cpu->r[9] = cpu->r[7];
|
|
/* 027E8554 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E8558 */ cpu->r[10] = cpu->r[30];
|
|
/* 027E855C */ Gambit_fn_027E68E4(cpu);
|
|
/* 027E8560 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E8564 */ cpu->r[3] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8568 */ Gambit_fn_028F1A48(cpu);
|
|
/* 027E856C */ _t106 = cpu->r[29] + 0x00000000u;
|
|
/* 027E856C */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027E8570 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E8574 */ Gambit_fn_02945C10(cpu);
|
|
/* 027E8578 */ cpu->r[4] = 0x00000002u;
|
|
/* 027E857C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027E8580 */ Gambit_fn_028F0780(cpu);
|
|
/* 027E8584 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E8588 */ /* nop */
|
|
/* 027E858C */ _t107 = cpu->r[1] + 0x00000268u;
|
|
/* 027E858C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027E8590 */ _t108 = cpu->r[1] + 0x00000278u;
|
|
/* 027E8590 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 027E8594 */ _t109 = cpu->r[1] + 0x00000260u;
|
|
/* 027E8594 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t109);
|
|
/* 027E8598 */ _t110 = cpu->r[1] + 0x00000270u;
|
|
/* 027E8598 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 027E859C */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E859C */ _t112 = _t111 & 0x00000001u;
|
|
/* 027E859C */ if (_t112) goto L_027E85A0; // else: addr-0 trap, fall-through
|
|
L_027E85A0: ; // 0x27e85a0
|
|
/* 027E85A0 */ _t113 = cpu->r[1] + 0x00000284u;
|
|
/* 027E85A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027E85A4 */ cpu->lr = cpu->r[0];
|
|
/* 027E85A8 */ cpu->r[1] = cpu->r[1] + 0x00000280u;
|
|
/* 027E85AC */ return;
|
|
}
|
|
|
|
// fn_027E85B0 @ 0x27e85b0
|
|
void Gambit_fn_027E85B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_027E85B0: ; // 0x27e85b0
|
|
/* 027E85B0 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 027E85B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E85B0 */ cpu->r[1] = _t0;
|
|
/* 027E85B4 */ _t1 = cpu->r[1] + 0x00000108u;
|
|
/* 027E85B4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 027E85B8 */ /* nop */
|
|
/* 027E85BC */ _t2 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E85BC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[22]);
|
|
/* 027E85C0 */ _t3 = cpu->r[1] + 0x00000138u;
|
|
/* 027E85C0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027E85C4 */ /* nop */
|
|
/* 027E85C8 */ _t4 = cpu->r[1] + 0x00000128u;
|
|
/* 027E85C8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 027E85CC */ /* nop */
|
|
/* 027E85D0 */ _t5 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E85D0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[22]);
|
|
/* 027E85D4 */ /* nop */
|
|
/* 027E85D8 */ _t6 = cpu->r[1] + 0x000000C8u;
|
|
/* 027E85D8 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[23]);
|
|
/* 027E85DC */ _t7 = cpu->r[1] + 0x00000118u;
|
|
/* 027E85DC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 027E85E0 */ /* nop */
|
|
/* 027E85E4 */ _t8 = cpu->r[1] + 0x00000110u;
|
|
/* 027E85E4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[27]);
|
|
/* 027E85E8 */ /* nop */
|
|
/* 027E85EC */ _t9 = cpu->r[1] + 0x00000140u;
|
|
/* 027E85EC */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 027E85F0 */ _t10 = cpu->r[1] + 0x000000D0u;
|
|
/* 027E85F0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[23]);
|
|
/* 027E85F4 */ _t11 = cpu->r[1] + 0x000000D8u;
|
|
/* 027E85F4 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[24]);
|
|
/* 027E85F8 */ _t12 = cpu->r[1] + 0x000000F8u;
|
|
/* 027E85F8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[26]);
|
|
/* 027E85FC */ /* nop */
|
|
/* 027E8600 */ _t13 = cpu->r[1] + 0x00000120u;
|
|
/* 027E8600 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[28]);
|
|
/* 027E8604 */ /* nop */
|
|
/* 027E8608 */ _t14 = cpu->r[1] + 0x000000E0u;
|
|
/* 027E8608 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[24]);
|
|
/* 027E860C */ _t15 = cpu->r[1] + 0x00000100u;
|
|
/* 027E860C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]);
|
|
/* 027E8610 */ _t16 = cpu->r[1] + 0x000000E8u;
|
|
/* 027E8610 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[25]);
|
|
/* 027E8614 */ _t17 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E8614 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[21]);
|
|
/* 027E8618 */ /* nop */
|
|
/* 027E861C */ _t18 = cpu->r[1] + 0x00000130u;
|
|
/* 027E861C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 027E8620 */ /* nop */
|
|
/* 027E8624 */ _t19 = cpu->r[1] + 0x000000F0u;
|
|
/* 027E8624 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[25]);
|
|
/* 027E8628 */ cpu->r[0] = cpu->lr;
|
|
/* 027E862C */ _t20 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E862C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[21]);
|
|
/* 027E8630 */ _t21 = cpu->r[1] + 0x00000148u;
|
|
/* 027E8630 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[31]);
|
|
/* 027E8634 */ /* nop */
|
|
/* 027E8638 */ _t22 = cpu->r[1] + 0x00000150u;
|
|
/* 027E8638 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 027E863C */ _t23 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E863C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027E8640 */ /* nop */
|
|
/* 027E8644 */ cpu->r[26] = cpu->r[3];
|
|
/* 027E8648 */ cpu->f[31] = cpu->f[1];
|
|
/* 027E864C */ cpu->r[27] = cpu->r[4];
|
|
/* 027E8650 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E8654 */ cpu->r[28] = cpu->r[6];
|
|
/* 027E8658 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E865C */ cpu->r[10] = 0x101D0000u;
|
|
/* 027E8660 */ _t24 = cpu->r[10] + 0xFFFFA330u;
|
|
/* 027E8660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E8664 */ _t25 = cpu->r[10] + 0x00000014u;
|
|
/* 027E8664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E8668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000008Eu);
|
|
/* 027E866C */ cpu->r[30] = 0x00000000u;
|
|
/* 027E8670 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E8670 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E8670 */ if (_t27) goto L_027E8674; else goto L_027E867C;
|
|
L_027E8674: ; // 0x27e8674
|
|
/* 027E8674 */ _t28 = cpu->r[10] + 0x0000001Cu;
|
|
/* 027E8674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027E8678 */ _t29 = cpu->r[12] + 0x00000238u;
|
|
/* 027E8678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
L_027E867C: ; // 0x27e867c
|
|
/* 027E867C */ cpu->r[3] = cpu->r[30];
|
|
/* 027E8680 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E8684 */ cpu->r[4] = cpu->r[31];
|
|
/* 027E8688 */ Gambit_fn_028F40F4(cpu);
|
|
/* 027E868C */ cpu->r[10] = 0x101F0000u;
|
|
/* 027E8690 */ cpu->r[10] = cpu->r[10] + 0x00006368u;
|
|
/* 027E8694 */ cpu->f[9] = cpu->f[31] + cpu->f[31];
|
|
/* 027E8698 */ /* nop */
|
|
/* 027E869C */ _t30 = cpu->r[10] + 0x00000008u;
|
|
/* 027E869C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 027E86A0 */ /* nop */
|
|
/* 027E86A4 */ /* nop */
|
|
/* 027E86A8 */ cpu->f[9] = cpu->f[11] * cpu->f[9];
|
|
/* 027E86AC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E86AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E86B0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 027E86B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E86B4 */ cpu->r[4] = cpu->r[1] + 0x00000084u;
|
|
/* 027E86B8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027E86B8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 027E86BC */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 027E86BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E86C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E86C4 */ _t35 = cpu->r[1] + 0x00000088u;
|
|
/* 027E86C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 027E86C8 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 027E86CC */ _t36 = cpu->r[1] + 0x00000084u;
|
|
/* 027E86CC */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 027E86D0 */ cpu->r[5] = cpu->r[26];
|
|
/* 027E86D4 */ _t37 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E86D4 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 027E86D8 */ Gambit_fn_020FF2BC(cpu);
|
|
/* 027E86DC */ /* nop */
|
|
/* 027E86E0 */ /* nop */
|
|
/* 027E86E4 */ /* nop */
|
|
/* 027E86E8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E86EC */ /* nop */
|
|
/* 027E86F0 */ /* nop */
|
|
/* 027E86F4 */ /* nop */
|
|
/* 027E86F8 */ /* nop */
|
|
/* 027E86FC */ /* nop */
|
|
/* 027E8700 */ /* nop */
|
|
/* 027E8704 */ /* nop */
|
|
/* 027E8708 */ /* nop */
|
|
/* 027E870C */ /* nop */
|
|
/* 027E8710 */ /* nop */
|
|
/* 027E8714 */ /* nop */
|
|
/* 027E8718 */ /* nop */
|
|
/* 027E871C */ /* nop */
|
|
/* 027E8720 */ cpu->r[9] = cpu->r[9] + 0xFFFFFCF4u;
|
|
/* 027E8724 */ /* nop */
|
|
/* 027E8728 */ /* nop */
|
|
/* 027E872C */ /* nop */
|
|
/* 027E8730 */ /* nop */
|
|
/* 027E8734 */ /* nop */
|
|
/* 027E8738 */ /* nop */
|
|
/* 027E873C */ /* nop */
|
|
/* 027E8740 */ /* nop */
|
|
/* 027E8744 */ /* nop */
|
|
/* 027E8748 */ /* nop */
|
|
/* 027E874C */ /* nop */
|
|
/* 027E8750 */ /* nop */
|
|
/* 027E8754 */ /* nop */
|
|
/* 027E8758 */ /* nop */
|
|
/* 027E875C */ /* nop */
|
|
/* 027E8760 */ /* nop */
|
|
/* 027E8764 */ /* nop */
|
|
/* 027E8768 */ /* nop */
|
|
/* 027E876C */ /* nop */
|
|
/* 027E8770 */ /* nop */
|
|
/* 027E8774 */ /* nop */
|
|
/* 027E8778 */ /* nop */
|
|
/* 027E877C */ /* nop */
|
|
/* 027E8780 */ /* nop */
|
|
/* 027E8784 */ /* nop */
|
|
/* 027E8788 */ /* nop */
|
|
/* 027E878C */ /* nop */
|
|
/* 027E8790 */ /* nop */
|
|
/* 027E8794 */ /* nop */
|
|
/* 027E8798 */ /* nop */
|
|
/* 027E879C */ /* nop */
|
|
/* 027E87A0 */ /* nop */
|
|
/* 027E87A4 */ /* nop */
|
|
/* 027E87A8 */ /* nop */
|
|
/* 027E87AC */ /* nop */
|
|
/* 027E87B0 */ /* nop */
|
|
/* 027E87B4 */ /* nop */
|
|
/* 027E87B8 */ /* nop */
|
|
/* 027E87BC */ /* nop */
|
|
/* 027E87C0 */ /* nop */
|
|
/* 027E87C4 */ /* nop */
|
|
/* 027E87C8 */ /* nop */
|
|
/* 027E87CC */ /* nop */
|
|
/* 027E87D0 */ /* nop */
|
|
/* 027E87D4 */ /* nop */
|
|
/* 027E87D8 */ /* nop */
|
|
/* 027E87DC */ /* nop */
|
|
/* 027E87E0 */ /* nop */
|
|
/* 027E87E4 */ /* nop */
|
|
/* 027E87E8 */ /* nop */
|
|
/* 027E87EC */ /* nop */
|
|
/* 027E87F0 */ /* nop */
|
|
/* 027E87F4 */ /* nop */
|
|
/* 027E87F8 */ /* nop */
|
|
/* 027E87FC */ /* nop */
|
|
/* 027E8800 */ /* nop */
|
|
/* 027E8804 */ /* nop */
|
|
/* 027E8808 */ /* nop */
|
|
/* 027E880C */ /* nop */
|
|
/* 027E8810 */ /* nop */
|
|
/* 027E8814 */ /* nop */
|
|
/* 027E8818 */ /* nop */
|
|
/* 027E881C */ /* nop */
|
|
/* 027E8820 */ /* nop */
|
|
/* 027E8824 */ /* nop */
|
|
/* 027E8828 */ /* nop */
|
|
/* 027E882C */ /* nop */
|
|
/* 027E8830 */ /* nop */
|
|
/* 027E8834 */ /* nop */
|
|
/* 027E8838 */ _t38 = cpu->r[30] + 0x00000028u;
|
|
/* 027E8838 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E883C */ _t39 = cpu->r[29] + 0x00000008u;
|
|
/* 027E883C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t39);
|
|
/* 027E8840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 027E8844 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8844 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027E8844 */ if (_t41) goto L_027E8858; else goto L_027E8848;
|
|
L_027E8848: ; // 0x27e8848
|
|
/* 027E8848 */ _t42 = cpu->r[29] + 0x00000008u;
|
|
/* 027E8848 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42);
|
|
/* 027E884C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027E8850 */ cpu->r[4] = 0x00000010u;
|
|
/* 027E8854 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_027E8858: ; // 0x27e8858
|
|
/* 027E8858 */ _t43 = cpu->r[29] + 0x0000000Au;
|
|
/* 027E8858 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t43);
|
|
/* 027E885C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E8860 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8860 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027E8860 */ if (_t45) goto L_027E8870; else goto L_027E8864;
|
|
L_027E8864: ; // 0x27e8864
|
|
/* 027E8864 */ cpu->r[4] = 0x00000010u;
|
|
/* 027E8868 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 027E886C */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
L_027E8870: ; // 0x27e8870
|
|
/* 027E8870 */ _t46 = cpu->r[30] + 0x00000024u;
|
|
/* 027E8870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E8874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 027E8878 */ _t47 = cpu->r[30] + 0x00000028u;
|
|
/* 027E8878 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027E887C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E887C */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E887C */ if (_t49) goto L_027E8880; else goto L_027E8884;
|
|
L_027E8880: ; // 0x27e8880
|
|
/* 027E8880 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
L_027E8884: ; // 0x27e8884
|
|
/* 027E8884 */ _t50 = cpu->r[29] + 0x00000008u;
|
|
/* 027E8884 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50);
|
|
/* 027E8888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 027E888C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E888C */ _t52 = _t51 & 0x00000001u;
|
|
/* 027E888C */ if (_t52) goto L_027E88A0; else goto L_027E8890;
|
|
L_027E8890: ; // 0x27e8890
|
|
/* 027E8890 */ _t53 = cpu->r[29] + 0x00000008u;
|
|
/* 027E8890 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t53);
|
|
/* 027E8894 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 027E8898 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 027E889C */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_027E88A0: ; // 0x27e88a0
|
|
/* 027E88A0 */ _t54 = cpu->r[29] + 0x0000000Au;
|
|
/* 027E88A0 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t54);
|
|
/* 027E88A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E88A8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E88A8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027E88A8 */ if (_t56) goto L_027E88B8; else goto L_027E88AC;
|
|
L_027E88AC: ; // 0x27e88ac
|
|
/* 027E88AC */ cpu->r[4] = 0x0000000Cu;
|
|
/* 027E88B0 */ cpu->r[5] = cpu->r[1] + 0x00000054u;
|
|
/* 027E88B4 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
L_027E88B8: ; // 0x27e88b8
|
|
/* 027E88B8 */ _t57 = cpu->r[30] + 0x00000024u;
|
|
/* 027E88B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E88BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 027E88C0 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 027E88C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027E88C4 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E88C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027E88C4 */ if (_t60) goto L_027E88C8; else goto L_027E88CC;
|
|
L_027E88C8: ; // 0x27e88c8
|
|
/* 027E88C8 */ cpu->r[30] = cpu->r[30] + 0x00000020u;
|
|
L_027E88CC: ; // 0x27e88cc
|
|
/* 027E88CC */ _t61 = cpu->r[30] + 0x00000008u;
|
|
/* 027E88CC */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t61);
|
|
/* 027E88D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027E88D4 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E88D4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 027E88D4 */ if (_t63) goto L_027E88E8; else goto L_027E88D8;
|
|
L_027E88D8: ; // 0x27e88d8
|
|
/* 027E88D8 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 027E88D8 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t64);
|
|
/* 027E88DC */ cpu->r[5] = cpu->r[28];
|
|
/* 027E88E0 */ cpu->r[4] = 0x00000004u;
|
|
/* 027E88E4 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_027E88E8: ; // 0x27e88e8
|
|
/* 027E88E8 */ _t65 = cpu->r[30] + 0x0000000Au;
|
|
/* 027E88E8 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t65);
|
|
/* 027E88EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027E88F0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E88F0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027E88F0 */ if (_t67) goto L_027E8900; else goto L_027E88F4;
|
|
L_027E88F4: ; // 0x27e88f4
|
|
/* 027E88F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 027E88F8 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E88FC */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
L_027E8900: ; // 0x27e8900
|
|
/* 027E8900 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027E8904 */ _t68 = cpu->r[12] + 0xFFFFA544u;
|
|
/* 027E8904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027E8908 */ cpu->r[3] = cpu->r[12] + 0x000005C8u;
|
|
/* 027E890C */ Gambit_fn_028FB628(cpu);
|
|
/* 027E8910 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027E8914 */ _t69 = cpu->r[11] + 0xFFFFA52Cu;
|
|
/* 027E8914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E8918 */ _t70 = cpu->r[11] + 0x00000AF8u;
|
|
/* 027E8918 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E891C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E8920 */ cpu->r[6] = cpu->r[11] + 0x00000AECu;
|
|
/* 027E8924 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8924 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027E8924 */ if (_t72) goto L_027E8940; else goto L_027E8928;
|
|
L_027E8928: ; // 0x27e8928
|
|
/* 027E8928 */ _t73 = cpu->r[6] + 0x00000000u;
|
|
/* 027E8928 */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E892C */ cpu->r[7] = 0x00000000u;
|
|
/* 027E8930 */ _t74 = cpu->r[6] + 0x00000004u;
|
|
/* 027E8930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E8934 */ _t75 = cpu->r[6] + 0x00000008u;
|
|
/* 027E8934 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027E8938 */ cpu->r[8] = 0x00000001u;
|
|
/* 027E893C */ rbrew_dispatch(cpu, 0x02d05930u);
|
|
L_027E8940: ; // 0x27e8940
|
|
/* 027E8940 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E8944 */ /* nop */
|
|
/* 027E8948 */ _t76 = cpu->r[1] + 0x00000100u;
|
|
/* 027E8948 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027E894C */ _t77 = cpu->r[1] + 0x000000E0u;
|
|
/* 027E894C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 027E8950 */ _t78 = cpu->r[1] + 0x000000F8u;
|
|
/* 027E8950 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 027E8954 */ _t79 = cpu->r[1] + 0x000000D0u;
|
|
/* 027E8954 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 027E8958 */ _t80 = cpu->r[1] + 0x000000D8u;
|
|
/* 027E8958 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 027E895C */ _t81 = cpu->r[1] + 0x000000C8u;
|
|
/* 027E895C */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 027E8960 */ _t82 = cpu->r[1] + 0x00000120u;
|
|
/* 027E8960 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 027E8964 */ _t83 = cpu->r[1] + 0x000000F0u;
|
|
/* 027E8964 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 027E8968 */ _t84 = cpu->r[1] + 0x00000118u;
|
|
/* 027E8968 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 027E896C */ _t85 = cpu->r[1] + 0x000000E8u;
|
|
/* 027E896C */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 027E8970 */ _t86 = cpu->r[1] + 0x00000140u;
|
|
/* 027E8970 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 027E8974 */ _t87 = cpu->r[1] + 0x00000110u;
|
|
/* 027E8974 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 027E8978 */ _t88 = cpu->r[1] + 0x00000138u;
|
|
/* 027E8978 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 027E897C */ _t89 = cpu->r[1] + 0x00000108u;
|
|
/* 027E897C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 027E8980 */ _t90 = cpu->r[1] + 0x000000C0u;
|
|
/* 027E8980 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 027E8984 */ _t91 = cpu->r[1] + 0x00000130u;
|
|
/* 027E8984 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 027E8988 */ _t92 = cpu->r[1] + 0x000000B8u;
|
|
/* 027E8988 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 027E898C */ _t93 = cpu->r[1] + 0x00000128u;
|
|
/* 027E898C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 027E8990 */ _t94 = cpu->r[1] + 0x000000B0u;
|
|
/* 027E8990 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 027E8994 */ _t95 = cpu->r[1] + 0x00000150u;
|
|
/* 027E8994 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 027E8998 */ _t96 = cpu->r[1] + 0x000000A8u;
|
|
/* 027E8998 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 027E899C */ _t97 = cpu->r[1] + 0x00000148u;
|
|
/* 027E899C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 027E89A0 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E89A0 */ _t99 = _t98 & 0x00000001u;
|
|
/* 027E89A0 */ if (_t99) goto L_027E89A4; // else: addr-0 trap, fall-through
|
|
L_027E89A4: ; // 0x27e89a4
|
|
/* 027E89A4 */ _t100 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027E89A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E89A8 */ cpu->lr = cpu->r[0];
|
|
/* 027E89AC */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027E89B0 */ return;
|
|
}
|
|
|
|
// fn_027E89B4 @ 0x27e89b4
|
|
void Gambit_fn_027E89B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027E89B4: ; // 0x27e89b4
|
|
/* 027E89B4 */ _t0 = cpu->r[1] + 0xFFFFFE50u;
|
|
/* 027E89B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E89B4 */ cpu->r[1] = _t0;
|
|
/* 027E89B8 */ _t1 = cpu->r[1] + 0x00000190u;
|
|
/* 027E89B8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027E89BC */ /* nop */
|
|
/* 027E89C0 */ _t2 = cpu->r[1] + 0x00000180u;
|
|
/* 027E89C0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 027E89C4 */ _t3 = cpu->r[1] + 0x00000198u;
|
|
/* 027E89C4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027E89C8 */ _t4 = cpu->r[1] + 0x000001A0u;
|
|
/* 027E89C8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027E89CC */ _t5 = cpu->r[1] + 0x00000150u;
|
|
/* 027E89CC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]);
|
|
/* 027E89D0 */ _t6 = cpu->r[1] + 0x00000160u;
|
|
/* 027E89D0 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
|
|
/* 027E89D4 */ /* nop */
|
|
/* 027E89D8 */ _t7 = cpu->r[1] + 0x00000170u;
|
|
/* 027E89D8 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 027E89DC */ /* nop */
|
|
/* 027E89E0 */ _t8 = cpu->r[1] + 0x000001A8u;
|
|
/* 027E89E0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 027E89E4 */ /* nop */
|
|
/* 027E89E8 */ /* nop */
|
|
/* 027E89EC */ cpu->r[0] = cpu->lr;
|
|
/* 027E89F0 */ /* nop */
|
|
/* 027E89F4 */ cpu->r[28] = cpu->r[4];
|
|
/* 027E89F8 */ cpu->r[9] = 0x00000003u;
|
|
/* 027E89FC */ /* nop */
|
|
/* 027E8A00 */ cpu->ctr = cpu->r[9];
|
|
/* 027E8A04 */ _t9 = cpu->r[1] + 0x00000158u;
|
|
/* 027E8A04 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[26]);
|
|
/* 027E8A08 */ cpu->r[31] = cpu->r[7];
|
|
/* 027E8A0C */ _t10 = cpu->r[1] + 0x00000178u;
|
|
/* 027E8A0C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[28]);
|
|
/* 027E8A10 */ cpu->r[7] = cpu->r[1] + 0x00000074u;
|
|
/* 027E8A14 */ _t11 = cpu->r[1] + 0x00000188u;
|
|
/* 027E8A14 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]);
|
|
/* 027E8A18 */ cpu->r[30] = cpu->r[6];
|
|
/* 027E8A1C */ _t12 = cpu->r[1] + 0x00000168u;
|
|
/* 027E8A1C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[27]);
|
|
/* 027E8A20 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E8A24 */ _t13 = cpu->r[1] + 0x000001B4u;
|
|
/* 027E8A24 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027E8A28 */ cpu->r[29] = cpu->r[5];
|
|
/* 027E8A2C */ cpu->r[5] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_027E8A30: ; // 0x27e8a30
|
|
/* 027E8A30 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 027E8A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E8A34 */ _t15 = cpu->r[7] + 0x00000004u;
|
|
/* 027E8A34 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027E8A38 */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 027E8A38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E8A3C */ _t17 = cpu->r[7] + 0x00000008u;
|
|
/* 027E8A3C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 027E8A40 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027E8A40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E8A44 */ _t19 = cpu->r[7] + 0x0000000Cu;
|
|
/* 027E8A44 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 027E8A48 */ _t20 = cpu->r[5] + 0x00000010u;
|
|
/* 027E8A48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E8A48 */ cpu->r[5] = _t20;
|
|
/* 027E8A4C */ _t21 = cpu->r[7] + 0x00000010u;
|
|
/* 027E8A4C */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 027E8A4C */ cpu->r[7] = _t21;
|
|
/* 027E8A50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E8A50 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E8A50 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 027E8A50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E8A50 */ if (_t24) goto L_027E8A30; else goto L_027E8A54;
|
|
L_027E8A54: ; // 0x27e8a54
|
|
/* 027E8A54 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027E8A58 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 027E8A5C */ cpu->r[5] = 0x00000003u;
|
|
/* 027E8A60 */ cpu->r[4] = cpu->r[4] + 0x00006338u;
|
|
/* 027E8A64 */ Gambit_fn_022F6E60(cpu);
|
|
/* 027E8A68 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E8A6C */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 027E8A70 */ Gambit_fn_027E8C44(cpu);
|
|
/* 027E8A74 */ _t25 = cpu->r[28] + 0x00000008u;
|
|
/* 027E8A74 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027E8A78 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E8A7C */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 027E8A7C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027E8A80 */ _t27 = cpu->r[28] + 0x00000004u;
|
|
/* 027E8A80 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 027E8A84 */ Gambit_fn_02C69840(cpu);
|
|
/* 027E8A88 */ cpu->r[5] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8A8C */ cpu->r[4] = cpu->r[1] + 0x000000A8u;
|
|
/* 027E8A90 */ cpu->r[3] = cpu->r[1] + 0x000000D8u;
|
|
/* 027E8A94 */ Gambit_fn_02C69544(cpu);
|
|
/* 027E8A98 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 027E8A9C */ cpu->r[4] = cpu->r[1] + 0x00000108u;
|
|
/* 027E8AA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E8AA4 */ Gambit_fn_02C69544(cpu);
|
|
/* 027E8AA8 */ /* nop */
|
|
/* 027E8AAC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E8AB0 */ /* nop */
|
|
/* 027E8AB4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFCECu;
|
|
/* 027E8AB8 */ /* nop */
|
|
/* 027E8ABC */ /* nop */
|
|
/* 027E8AC0 */ /* nop */
|
|
/* 027E8AC4 */ /* nop */
|
|
/* 027E8AC8 */ /* nop */
|
|
/* 027E8ACC */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 027E8ACC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027E8AD0 */ /* nop */
|
|
/* 027E8AD4 */ /* nop */
|
|
/* 027E8AD8 */ /* nop */
|
|
/* 027E8ADC */ /* nop */
|
|
/* 027E8AE0 */ /* nop */
|
|
/* 027E8AE4 */ /* nop */
|
|
/* 027E8AE8 */ /* nop */
|
|
/* 027E8AEC */ /* nop */
|
|
/* 027E8AF0 */ /* nop */
|
|
/* 027E8AF4 */ /* nop */
|
|
/* 027E8AF8 */ /* nop */
|
|
/* 027E8AFC */ /* nop */
|
|
/* 027E8B00 */ /* nop */
|
|
/* 027E8B04 */ /* nop */
|
|
/* 027E8B08 */ /* nop */
|
|
/* 027E8B0C */ /* nop */
|
|
/* 027E8B10 */ /* nop */
|
|
/* 027E8B14 */ /* nop */
|
|
/* 027E8B18 */ /* nop */
|
|
/* 027E8B1C */ /* nop */
|
|
/* 027E8B20 */ /* nop */
|
|
/* 027E8B24 */ /* nop */
|
|
/* 027E8B28 */ /* nop */
|
|
/* 027E8B2C */ cpu->r[12] = 0x10110000u;
|
|
/* 027E8B30 */ /* nop */
|
|
/* 027E8B34 */ /* nop */
|
|
/* 027E8B38 */ cpu->r[12] = cpu->r[12] + 0xFFFFFCF4u;
|
|
/* 027E8B3C */ /* nop */
|
|
/* 027E8B40 */ /* nop */
|
|
/* 027E8B44 */ /* nop */
|
|
/* 027E8B48 */ /* nop */
|
|
/* 027E8B4C */ /* nop */
|
|
/* 027E8B50 */ /* nop */
|
|
/* 027E8B54 */ /* nop */
|
|
/* 027E8B58 */ /* nop */
|
|
/* 027E8B5C */ /* nop */
|
|
/* 027E8B60 */ /* nop */
|
|
/* 027E8B64 */ /* nop */
|
|
/* 027E8B68 */ /* nop */
|
|
/* 027E8B6C */ /* nop */
|
|
/* 027E8B70 */ /* nop */
|
|
/* 027E8B74 */ /* nop */
|
|
/* 027E8B78 */ /* nop */
|
|
/* 027E8B7C */ /* nop */
|
|
/* 027E8B80 */ /* nop */
|
|
/* 027E8B84 */ /* nop */
|
|
/* 027E8B88 */ /* nop */
|
|
/* 027E8B8C */ /* nop */
|
|
/* 027E8B90 */ cpu->r[12] = 0x00000004u;
|
|
/* 027E8B94 */ /* nop */
|
|
/* 027E8B98 */ /* nop */
|
|
/* 027E8B9C */ /* nop */
|
|
/* 027E8BA0 */ cpu->ctr = cpu->r[12];
|
|
/* 027E8BA4 */ /* nop */
|
|
/* 027E8BA8 */ /* nop */
|
|
/* 027E8BAC */ /* nop */
|
|
/* 027E8BB0 */ cpu->r[11] = cpu->r[27] + 0xFFFFFFFCu;
|
|
/* 027E8BB4 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
/* 027E8BB8 */ /* nop */
|
|
L_027E8BBC: ; // 0x27e8bbc
|
|
/* 027E8BBC */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 027E8BBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E8BC0 */ _t30 = cpu->r[11] + 0x00000004u;
|
|
/* 027E8BC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 027E8BC4 */ _t31 = cpu->r[10] + 0x00000008u;
|
|
/* 027E8BC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E8BC8 */ _t32 = cpu->r[11] + 0x00000008u;
|
|
/* 027E8BC8 */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 027E8BCC */ _t33 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027E8BCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E8BD0 */ _t34 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027E8BD0 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 027E8BD4 */ _t35 = cpu->r[10] + 0x00000010u;
|
|
/* 027E8BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E8BD4 */ cpu->r[10] = _t35;
|
|
/* 027E8BD8 */ _t36 = cpu->r[11] + 0x00000010u;
|
|
/* 027E8BD8 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 027E8BD8 */ cpu->r[11] = _t36;
|
|
/* 027E8BDC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E8BDC */ _t37 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E8BDC */ _t38 = _t37 >> (0x00000002u & 31u);
|
|
/* 027E8BDC */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E8BDC */ if (_t39) goto L_027E8BBC; else goto L_027E8BE0;
|
|
L_027E8BE0: ; // 0x27e8be0
|
|
/* 027E8BE0 */ /* nop */
|
|
/* 027E8BE4 */ _t40 = cpu->r[1] + 0x00000198u;
|
|
/* 027E8BE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027E8BE8 */ _t41 = cpu->r[1] + 0x00000178u;
|
|
/* 027E8BE8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027E8BEC */ _t42 = cpu->r[1] + 0x00000190u;
|
|
/* 027E8BEC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t42);
|
|
/* 027E8BF0 */ _t43 = cpu->r[1] + 0x00000170u;
|
|
/* 027E8BF0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 027E8BF4 */ _t44 = cpu->r[1] + 0x00000168u;
|
|
/* 027E8BF4 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027E8BF8 */ _t45 = cpu->r[1] + 0x00000188u;
|
|
/* 027E8BF8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027E8BFC */ _t46 = cpu->r[1] + 0x00000160u;
|
|
/* 027E8BFC */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 027E8C00 */ _t47 = cpu->r[1] + 0x00000180u;
|
|
/* 027E8C00 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 027E8C04 */ _t48 = cpu->r[1] + 0x00000158u;
|
|
/* 027E8C04 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 027E8C08 */ _t49 = cpu->r[1] + 0x000001A8u;
|
|
/* 027E8C08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027E8C0C */ _t50 = cpu->r[1] + 0x00000150u;
|
|
/* 027E8C0C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 027E8C10 */ _t51 = cpu->r[1] + 0x000001A0u;
|
|
/* 027E8C10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 027E8C14 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8C14 */ _t53 = _t52 & 0x00000001u;
|
|
/* 027E8C14 */ if (_t53) goto L_027E8C18; // else: addr-0 trap, fall-through
|
|
L_027E8C18: ; // 0x27e8c18
|
|
/* 027E8C18 */ _t54 = cpu->r[1] + 0x000001B4u;
|
|
/* 027E8C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E8C1C */ cpu->lr = cpu->r[0];
|
|
/* 027E8C20 */ cpu->r[1] = cpu->r[1] + 0x000001B0u;
|
|
/* 027E8C24 */ return;
|
|
}
|
|
|
|
// fn_027E8C28 @ 0x27e8c28
|
|
void Gambit_fn_027E8C28(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_027E8C28: ; // 0x27e8c28
|
|
/* 027E8C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8C2C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8C2C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E8C2C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E8C2C */ goto L_027E8C30;
|
|
L_027E8C30: ; // 0x27e8c30
|
|
/* 027E8C30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E8C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E8C34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8C34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E8C34 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E8C34 */ goto L_027E8C38;
|
|
L_027E8C38: ; // 0x27e8c38
|
|
/* 027E8C38 */ 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_027E8C3C @ 0x27e8c3c
|
|
void Gambit_fn_027E8C3C(CPUState* cpu) {
|
|
L_027E8C3C: ; // 0x27e8c3c
|
|
/* 027E8C3C */ return;
|
|
}
|
|
|
|
// fn_027E8C40 @ 0x27e8c40
|
|
void Gambit_fn_027E8C40(CPUState* cpu) {
|
|
L_027E8C40: ; // 0x27e8c40
|
|
/* 027E8C40 */ return;
|
|
}
|
|
|
|
// fn_027E8C44 @ 0x27e8c44
|
|
void Gambit_fn_027E8C44(CPUState* cpu) {
|
|
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_027E8C44: ; // 0x27e8c44
|
|
/* 027E8C44 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 027E8C44 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027E8C48 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E8C4C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 027E8C4C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 027E8C50 */ _t2 = cpu->r[4] + 0x00000010u;
|
|
/* 027E8C50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027E8C54 */ _t3 = cpu->r[12] + 0xFFFFFCE8u;
|
|
/* 027E8C54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027E8C58 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027E8C58 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 027E8C5C */ _t5 = cpu->r[4] + 0x00000020u;
|
|
/* 027E8C5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027E8C60 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E8C60 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 027E8C64 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 027E8C64 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027E8C68 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 027E8C68 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027E8C6C */ _t9 = cpu->r[3] + 0x00000010u;
|
|
/* 027E8C6C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027E8C70 */ _t10 = cpu->r[4] + 0x00000014u;
|
|
/* 027E8C70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027E8C74 */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 027E8C74 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 027E8C78 */ _t12 = cpu->r[4] + 0x00000024u;
|
|
/* 027E8C78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027E8C7C */ _t13 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027E8C7C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 027E8C80 */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 027E8C80 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027E8C84 */ _t15 = cpu->r[4] + 0x00000008u;
|
|
/* 027E8C84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 027E8C88 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 027E8C88 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 027E8C8C */ _t17 = cpu->r[4] + 0x00000018u;
|
|
/* 027E8C8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027E8C90 */ _t18 = cpu->r[3] + 0x00000024u;
|
|
/* 027E8C90 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 027E8C94 */ _t19 = cpu->r[4] + 0x00000028u;
|
|
/* 027E8C94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027E8C98 */ _t20 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027E8C98 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 027E8C9C */ _t21 = cpu->r[3] + 0x00000028u;
|
|
/* 027E8C9C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027E8CA0 */ return;
|
|
}
|
|
|
|
// fn_027E8CA4 @ 0x27e8ca4
|
|
void Gambit_fn_027E8CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027E8CA4: ; // 0x27e8ca4
|
|
/* 027E8CA4 */ _t0 = cpu->r[1] + 0xFFFFFEB8u;
|
|
/* 027E8CA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E8CA4 */ cpu->r[1] = _t0;
|
|
/* 027E8CA8 */ /* nop */
|
|
/* 027E8CAC */ cpu->r[17] = cpu->r[5];
|
|
/* 027E8CB0 */ cpu->r[14] = cpu->r[6];
|
|
/* 027E8CB4 */ cpu->r[6] = 0x10110000u;
|
|
/* 027E8CB8 */ cpu->r[5] = 0x00000080u;
|
|
/* 027E8CBC */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E8CBC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 027E8CC0 */ cpu->r[6] = cpu->r[6] + 0xFFFFFE50u;
|
|
/* 027E8CC4 */ _t2 = cpu->r[1] + 0x00000078u;
|
|
/* 027E8CC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 027E8CC8 */ cpu->r[0] = cpu->lr;
|
|
/* 027E8CCC */ _t3 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E8CCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E8CD0 */ cpu->r[12] = cpu->r[1] + 0x00000080u;
|
|
/* 027E8CD4 */ _t4 = cpu->r[1] + 0x00000074u;
|
|
/* 027E8CD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027E8CD8 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E8CDC */ cpu->r[31] = cpu->r[4];
|
|
/* 027E8CE0 */ _t5 = cpu->r[30] + 0x00007399u;
|
|
/* 027E8CE0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027E8CE4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 027E8CE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E8CE8 */ _t7 = cpu->r[1] + 0x00000080u;
|
|
/* 027E8CE8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027E8CEC */ _t8 = cpu->r[1] + 0x000000FFu;
|
|
/* 027E8CEC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 027E8CF0 */ _t9 = cpu->r[7] + 0x00000014u;
|
|
/* 027E8CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E8CF4 */ cpu->r[15] = cpu->r[3];
|
|
/* 027E8CF8 */ cpu->r[25] = 0x10110000u;
|
|
/* 027E8CFC */ cpu->ctr = cpu->r[0];
|
|
/* 027E8D00 */ cpu->r[18] = 0x00000000u;
|
|
/* 027E8D04 */ cpu->r[25] = cpu->r[25] + 0xFFFFFE08u;
|
|
/* 027E8D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E8D0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8D10 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E8D14 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 027E8D14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E8D18 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 027E8D1C */ cpu->r[4] = cpu->r[4] + 0xFFFFFEFCu;
|
|
/* 027E8D20 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E8D20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E8D20 */ if (_t12) goto L_027E8D24; // else: addr-0 trap, fall-through
|
|
L_027E8D24: ; // 0x27e8d24
|
|
/* 027E8D24 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E8D28 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 027E8D2C */ Gambit_fn_027E2BBC(cpu);
|
|
/* 027E8D30 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027E8D34 */ cpu->r[29] = 0x10110000u;
|
|
/* 027E8D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8D3C */ cpu->r[28] = 0x101D0000u;
|
|
/* 027E8D40 */ cpu->r[29] = cpu->r[29] + 0xFFFFFEA8u;
|
|
/* 027E8D44 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8D44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E8D44 */ if (_t14) goto L_027E8DC8; else goto L_027E8D48;
|
|
L_027E8D48: ; // 0x27e8d48
|
|
/* 027E8D48 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 027E8D4C */ cpu->r[4] = 0x00002000u;
|
|
/* 027E8D50 */ Gambit_fn_027E2BB4(cpu);
|
|
/* 027E8D54 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E8D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027E8D58 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8D58 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E8D58 */ if (_t16) goto L_027E8DC8; else goto L_027E8D5C;
|
|
L_027E8D5C: ; // 0x27e8d5c
|
|
/* 027E8D5C */ _t17 = cpu->r[28] + 0xFFFFDDB4u;
|
|
/* 027E8D5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E8D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027E8D64 */ cpu->r[4] = cpu->r[31] + 0xFFFFDDCCu;
|
|
/* 027E8D68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8D68 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E8D68 */ if (_t19) goto L_027E8D6C; else goto L_027E8D78;
|
|
L_027E8D6C: ; // 0x27e8d6c
|
|
/* 027E8D6C */ _t20 = cpu->r[4] + 0x00000000u;
|
|
/* 027E8D6C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 027E8D70 */ cpu->r[10] = 0x00000001u;
|
|
/* 027E8D74 */ _t21 = cpu->r[28] + 0xFFFFDDB4u;
|
|
/* 027E8D74 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
L_027E8D78: ; // 0x27e8d78
|
|
/* 027E8D78 */ _t22 = cpu->r[27] + 0x00000000u;
|
|
/* 027E8D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E8D7C */ _t23 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027E8D7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027E8D80 */ cpu->ctr = cpu->r[12];
|
|
/* 027E8D84 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E8D88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8D90 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8D90 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E8D90 */ if (_t25) goto L_027E8D94; else goto L_027E8DC0;
|
|
L_027E8D94: ; // 0x27e8d94
|
|
/* 027E8D94 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E8D98 */ _t26 = cpu->r[1] + 0x00000070u;
|
|
/* 027E8D98 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]);
|
|
/* 027E8D9C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E8DA0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEE8u;
|
|
/* 027E8DA4 */ cpu->r[4] = 0x00002000u;
|
|
/* 027E8DA8 */ cpu->r[18] = 0x00000000u;
|
|
/* 027E8DAC */ _t27 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E8DAC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 027E8DB0 */ Gambit_fn_027E2BB4(cpu);
|
|
/* 027E8DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8DB8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8DB8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E8DB8 */ if (_t29) goto L_027E8E28; else goto L_027E8DBC;
|
|
L_027E8DBC: ; // 0x27e8dbc
|
|
/* 027E8DBC */ goto L_027E8DEC;
|
|
L_027E8DC0: ; // 0x27e8dc0
|
|
/* 027E8DC0 */ cpu->r[18] = cpu->r[27];
|
|
/* 027E8DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 027E8DC4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8DC4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E8DC4 */ if (_t31) goto L_027E8DC8; else goto L_027E8E28;
|
|
L_027E8DC8: ; // 0x27e8dc8
|
|
/* 027E8DC8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E8DCC */ _t32 = cpu->r[1] + 0x00000070u;
|
|
/* 027E8DCC */ rbrew_write32(cpu->mem, _t32, cpu->r[25]);
|
|
/* 027E8DD0 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E8DD4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEE8u;
|
|
/* 027E8DD8 */ cpu->r[4] = 0x00002000u;
|
|
/* 027E8DDC */ _t33 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E8DDC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 027E8DE0 */ Gambit_fn_027E2BB4(cpu);
|
|
/* 027E8DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8DE8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8DE8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E8DE8 */ if (_t35) goto L_027E8E28; else goto L_027E8DEC;
|
|
L_027E8DEC: ; // 0x27e8dec
|
|
/* 027E8DEC */ _t36 = cpu->r[28] + 0xFFFFDDB4u;
|
|
/* 027E8DEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027E8DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027E8DF4 */ cpu->r[4] = cpu->r[31] + 0xFFFFDDCCu;
|
|
/* 027E8DF8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8DF8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027E8DF8 */ if (_t38) goto L_027E8DFC; else goto L_027E8E08;
|
|
L_027E8DFC: ; // 0x27e8dfc
|
|
/* 027E8DFC */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 027E8DFC */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 027E8E00 */ cpu->r[6] = 0x00000001u;
|
|
/* 027E8E04 */ _t40 = cpu->r[28] + 0xFFFFDDB4u;
|
|
/* 027E8E04 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
L_027E8E08: ; // 0x27e8e08
|
|
/* 027E8E08 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 027E8E08 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027E8E0C */ _t42 = cpu->r[7] + 0x0000000Cu;
|
|
/* 027E8E0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027E8E10 */ cpu->ctr = cpu->r[8];
|
|
/* 027E8E14 */ cpu->r[18] = cpu->r[3];
|
|
/* 027E8E18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E8E20 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8E20 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E8E20 */ if (_t44) goto L_027E8E24; else goto L_027E8E28;
|
|
L_027E8E24: ; // 0x27e8e24
|
|
/* 027E8E24 */ cpu->r[18] = 0x00000000u;
|
|
L_027E8E28: ; // 0x27e8e28
|
|
/* 027E8E28 */ _t45 = cpu->r[15] + 0x000008E0u;
|
|
/* 027E8E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027E8E2C */ cpu->r[0] = cpu->r[17];
|
|
/* 027E8E30 */ cpu->r[19] = cpu->r[15] + 0x000000C8u;
|
|
/* 027E8E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 027E8E38 */ _t46 = cpu->r[15] + 0x000008E4u;
|
|
/* 027E8E38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027E8E3C */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8E3C */ _t48 = _t47 & 0x00000001u;
|
|
/* 027E8E3C */ if (_t48) goto L_027E8E40; else goto L_027E8E48;
|
|
L_027E8E40: ; // 0x27e8e40
|
|
/* 027E8E40 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x000003C4u);
|
|
/* 027E8E44 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
L_027E8E48: ; // 0x27e8e48
|
|
/* 027E8E48 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E8E4C */ cpu->r[3] = cpu->r[19];
|
|
/* 027E8E50 */ Gambit_fn_029B2720(cpu);
|
|
/* 027E8E54 */ cpu->r[3] = cpu->r[18];
|
|
/* 027E8E58 */ Gambit_fn_027E2E18(cpu);
|
|
/* 027E8E5C */ cpu->r[20] = cpu->r[3];
|
|
/* 027E8E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 027E8E60 */ cpu->r[22] = 0x00000000u;
|
|
/* 027E8E64 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E8E64 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E8E64 */ if (_t50) goto L_027E8E68; else goto L_027E910C;
|
|
L_027E8E68: ; // 0x27e8e68
|
|
/* 027E8E68 */ cpu->r[27] = 0x10110000u;
|
|
/* 027E8E6C */ cpu->r[26] = 0x10110000u;
|
|
/* 027E8E70 */ cpu->r[27] = cpu->r[27] + 0xFFFFFE80u;
|
|
/* 027E8E74 */ cpu->r[26] = cpu->r[26] + 0xFFFFFEE0u;
|
|
/* 027E8E78 */ cpu->r[24] = 0x00000040u;
|
|
/* 027E8E7C */ cpu->r[23] = 0x00000000u;
|
|
/* 027E8E80 */ cpu->r[31] = cpu->r[1] + 0x0000002Cu;
|
|
L_027E8E84: ; // 0x27e8e84
|
|
/* 027E8E84 */ _t51 = cpu->r[31] + 0x0000003Fu;
|
|
/* 027E8E84 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[30]);
|
|
/* 027E8E88 */ cpu->r[4] = cpu->r[18];
|
|
/* 027E8E8C */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 027E8E8C */ rbrew_write32(cpu->mem, _t52, cpu->r[24]);
|
|
/* 027E8E90 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E8E94 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8E94 */ rbrew_write32(cpu->mem, _t53, cpu->r[31]);
|
|
/* 027E8E98 */ cpu->r[5] = cpu->r[22];
|
|
/* 027E8E9C */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 027E8E9C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[30]);
|
|
/* 027E8EA0 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 027E8EA0 */ rbrew_write32(cpu->mem, _t55, cpu->r[27]);
|
|
/* 027E8EA4 */ Gambit_fn_027E2F9C(cpu);
|
|
/* 027E8EA8 */ _t56 = cpu->r[1] + 0x00000024u;
|
|
/* 027E8EA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E8EAC */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8EAC */ rbrew_write32(cpu->mem, _t57, cpu->r[25]);
|
|
/* 027E8EB0 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8EB0 */ rbrew_write32(cpu->mem, _t58, cpu->r[26]);
|
|
/* 027E8EB4 */ _t59 = cpu->r[4] + 0x00000014u;
|
|
/* 027E8EB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027E8EB8 */ cpu->ctr = cpu->r[8];
|
|
/* 027E8EBC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027E8EC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8EC4 */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8EC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E8EC8 */ cpu->r[0] = cpu->r[30];
|
|
/* 027E8ECC */ _t61 = cpu->r[12] + 0x00000000u;
|
|
/* 027E8ECC */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 027E8ED0 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E8ED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027E8ED8 */ cpu->r[5] = 0x00080000u;
|
|
/* 027E8EDC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8EDC */ _t63 = _t62 & 0x00000001u;
|
|
/* 027E8EDC */ if (_t63) goto L_027E8F34; else goto L_027E8EE0;
|
|
L_027E8EE0: ; // 0x27e8ee0
|
|
/* 027E8EE0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027E8EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[5]);
|
|
/* 027E8EE8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E8EEC */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E8EEC */ _t65 = _t64 & 0x00000001u;
|
|
/* 027E8EEC */ if (_t65) goto L_027E8F30; else goto L_027E8EF0;
|
|
L_027E8EF0: ; // 0x27e8ef0
|
|
/* 027E8EF0 */ _t66 = cpu->r[12] + 0x00000000u;
|
|
/* 027E8EF0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t66);
|
|
/* 027E8EF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 027E8EF8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8EF8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 027E8EF8 */ if (_t68) goto L_027E8EFC; else goto L_027E8EE0;
|
|
L_027E8EFC: ; // 0x27e8efc
|
|
/* 027E8EFC */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8EFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E8F00 */ _t70 = cpu->r[4] + 0x00000014u;
|
|
/* 027E8F00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027E8F04 */ cpu->ctr = cpu->r[6];
|
|
/* 027E8F08 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E8F0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8F10 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8F10 */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027E8F14 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E8F18 */ _t72 = cpu->r[6] + 0x00000000u;
|
|
/* 027E8F18 */ cpu->r[7] = rbrew_read8(cpu->mem, _t72);
|
|
/* 027E8F1C */ cpu->r[9] = 0x00000000u;
|
|
/* 027E8F20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 027E8F24 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E8F28 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8F28 */ _t74 = _t73 & 0x00000001u;
|
|
/* 027E8F28 */ if (_t74) goto L_027E8F2C; else goto L_027E8F64;
|
|
L_027E8F2C: ; // 0x27e8f2c
|
|
/* 027E8F2C */ goto L_027E8FA8;
|
|
L_027E8F30: ; // 0x27e8f30
|
|
/* 027E8F30 */ cpu->r[28] = 0x00000000u;
|
|
L_027E8F34: ; // 0x27e8f34
|
|
/* 027E8F34 */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027E8F38 */ _t76 = cpu->r[4] + 0x00000014u;
|
|
/* 027E8F38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027E8F3C */ cpu->ctr = cpu->r[6];
|
|
/* 027E8F40 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E8F44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8F48 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 027E8F48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027E8F4C */ cpu->r[5] = cpu->r[30];
|
|
/* 027E8F50 */ _t78 = cpu->r[6] + 0x00000000u;
|
|
/* 027E8F50 */ cpu->r[7] = rbrew_read8(cpu->mem, _t78);
|
|
/* 027E8F54 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E8F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 027E8F5C */ cpu->r[0] = 0x00080000u;
|
|
/* 027E8F60 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8F60 */ _t80 = _t79 & 0x00000001u;
|
|
/* 027E8F60 */ if (_t80) goto L_027E8FA8; else goto L_027E8F64;
|
|
L_027E8F64: ; // 0x27e8f64
|
|
/* 027E8F64 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027E8F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 027E8F6C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E8F70 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E8F70 */ _t82 = _t81 & 0x00000001u;
|
|
/* 027E8F70 */ if (_t82) goto L_027E8F94; else goto L_027E8F74;
|
|
L_027E8F74: ; // 0x27e8f74
|
|
/* 027E8F74 */ _t83 = cpu->r[6] + 0x00000000u;
|
|
/* 027E8F74 */ cpu->r[8] = rbrew_read8(cpu->mem, _t83);
|
|
/* 027E8F78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 027E8F7C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E8F7C */ _t85 = _t84 & 0x00000001u;
|
|
/* 027E8F7C */ if (_t85) goto L_027E8F80; else goto L_027E8F64;
|
|
L_027E8F80: ; // 0x27e8f80
|
|
/* 027E8F80 */ cpu->r[29] = cpu->r[9];
|
|
/* 027E8F84 */ cpu->r[10] = cpu->r[28] - cpu->r[29];
|
|
/* 027E8F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E8F88 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E8F8C */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8F8C */ _t87 = _t86 & 0x00000001u;
|
|
/* 027E8F8C */ if (_t87) goto L_027E8F90; else goto L_027E8FB8;
|
|
L_027E8F90: ; // 0x27e8f90
|
|
/* 027E8F90 */ goto L_027E9080;
|
|
L_027E8F94: ; // 0x27e8f94
|
|
/* 027E8F94 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E8F98 */ cpu->r[10] = cpu->r[28];
|
|
/* 027E8F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E8F9C */ cpu->r[28] = cpu->r[29];
|
|
/* 027E8FA0 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8FA0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027E8FA0 */ if (_t89) goto L_027E8FA4; else goto L_027E8FB8;
|
|
L_027E8FA4: ; // 0x27e8fa4
|
|
/* 027E8FA4 */ goto L_027E9080;
|
|
L_027E8FA8: ; // 0x27e8fa8
|
|
/* 027E8FA8 */ cpu->r[29] = cpu->r[9];
|
|
/* 027E8FAC */ cpu->r[10] = cpu->r[28] - cpu->r[29];
|
|
/* 027E8FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027E8FB0 */ cpu->r[28] = 0x00000000u;
|
|
/* 027E8FB4 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E8FB4 */ _t91 = _t90 & 0x00000001u;
|
|
/* 027E8FB4 */ if (_t91) goto L_027E9080; else goto L_027E8FB8;
|
|
L_027E8FB8: ; // 0x27e8fb8
|
|
/* 027E8FB8 */ cpu->r[21] = cpu->r[10];
|
|
L_027E8FBC: ; // 0x27e8fbc
|
|
/* 027E8FBC */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 027E8FBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E8FC0 */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E8FC0 */ rbrew_write32(cpu->mem, _t93, cpu->r[25]);
|
|
/* 027E8FC4 */ cpu->r[9] = cpu->r[11] + cpu->r[28];
|
|
/* 027E8FC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E8FCC */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 027E8FCC */ rbrew_write32(cpu->mem, _t94, cpu->r[9]);
|
|
/* 027E8FD0 */ Gambit_fn_027E96B0(cpu);
|
|
/* 027E8FD4 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E8FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027E8FD8 */ _t96 = cpu->r[12] + 0x00000014u;
|
|
/* 027E8FD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t96);
|
|
/* 027E8FDC */ cpu->ctr = cpu->r[4];
|
|
/* 027E8FE0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E8FE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E8FE8 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 027E8FE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027E8FEC */ _t98 = cpu->r[5] + 0x00000014u;
|
|
/* 027E8FEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027E8FF0 */ cpu->ctr = cpu->r[6];
|
|
/* 027E8FF4 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 027E8FF4 */ cpu->r[16] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027E8FF8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E8FFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9000 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027E9004 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[8]);
|
|
/* 027E9008 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9008 */ _t102 = _t101 & 0x00000001u;
|
|
/* 027E9008 */ if (_t102) goto L_027E9060; else goto L_027E900C;
|
|
L_027E900C: ; // 0x27e900c
|
|
/* 027E900C */ cpu->r[12] = cpu->r[29];
|
|
/* 027E900C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E9010 */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9010 */ _t104 = _t103 & 0x00000001u;
|
|
/* 027E9010 */ if (_t104) goto L_027E9014; else goto L_027E9060;
|
|
L_027E9014: ; // 0x27e9014
|
|
/* 027E9014 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027E9018 */ cpu->ctr = cpu->r[12];
|
|
/* 027E901C */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 027E901C */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 027E9020 */ cpu->r[0] = cpu->r[30];
|
|
L_027E9024: ; // 0x27e9024
|
|
/* 027E9024 */ _t107 = cpu->r[12] + 0x00000000u;
|
|
/* 027E9024 */ cpu->r[9] = rbrew_read8(cpu->mem, _t107);
|
|
/* 027E9028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 027E902C */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E902C */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E902C */ if (_t109) goto L_027E9030; else goto L_027E9040;
|
|
L_027E9030: ; // 0x27e9030
|
|
/* 027E9030 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9030 */ cpu->r[10] = rbrew_read8(cpu->mem, _t110);
|
|
/* 027E9034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 027E9038 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9038 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027E9038 */ if (_t112) goto L_027E903C; else goto L_027E9074;
|
|
L_027E903C: ; // 0x27e903c
|
|
/* 027E903C */ goto L_027E9060;
|
|
L_027E9040: ; // 0x27e9040
|
|
/* 027E9040 */ _t113 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9040 */ cpu->r[7] = rbrew_read8(cpu->mem, _t113);
|
|
/* 027E9044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027E9048 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9048 */ _t115 = _t114 & 0x00000001u;
|
|
/* 027E9048 */ if (_t115) goto L_027E9074; else goto L_027E904C;
|
|
L_027E904C: ; // 0x27e904c
|
|
/* 027E904C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 027E9050 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9050 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027E9050 */ if (_t117) goto L_027E9054; else goto L_027E9074;
|
|
L_027E9054: ; // 0x27e9054
|
|
/* 027E9054 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E9058 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E905C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E905C */ _t118 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E905C */ _t119 = _t118 >> (0x00000002u & 31u);
|
|
/* 027E905C */ _t120 = _t119 & 0x00000001u;
|
|
/* 027E905C */ if (_t120) goto L_027E9024; else goto L_027E9060;
|
|
L_027E9060: ; // 0x27e9060
|
|
/* 027E9060 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9064 */ cpu->r[5] = cpu->r[11] ^ 0x00000001u;
|
|
/* 027E9068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027E906C */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E906C */ _t122 = _t121 & 0x00000001u;
|
|
/* 027E906C */ if (_t122) goto L_027E9100; else goto L_027E9070;
|
|
L_027E9070: ; // 0x27e9070
|
|
/* 027E9070 */ goto L_027E9090;
|
|
L_027E9074: ; // 0x27e9074
|
|
/* 027E9074 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027E9078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[21]);
|
|
/* 027E907C */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E907C */ _t124 = _t123 & 0x00000001u;
|
|
/* 027E907C */ if (_t124) goto L_027E9080; else goto L_027E8FBC;
|
|
L_027E9080: ; // 0x27e9080
|
|
/* 027E9080 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 027E9080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 027E9084 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027E9088 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9088 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027E9088 */ if (_t126) goto L_027E908C; else goto L_027E8E84;
|
|
L_027E908C: ; // 0x27e908c
|
|
/* 027E908C */ goto L_027E910C;
|
|
L_027E9090: ; // 0x27e9090
|
|
/* 027E9090 */ _t127 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9090 */ rbrew_write32(cpu->mem, _t127, cpu->r[23]);
|
|
/* 027E9094 */ cpu->r[3] = cpu->r[18];
|
|
/* 027E9098 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027E909C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 027E90A0 */ _t128 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E90A0 */ rbrew_write32(cpu->mem, _t128, cpu->r[23]);
|
|
/* 027E90A4 */ Gambit_fn_027E2C10(cpu);
|
|
/* 027E90A8 */ _t129 = cpu->r[19] + 0x00000818u;
|
|
/* 027E90A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
/* 027E90AC */ cpu->r[7] = cpu->r[17];
|
|
/* 027E90B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027E90B4 */ _t130 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E90B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027E90B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 027E90BC */ _t131 = cpu->r[19] + 0x0000081Cu;
|
|
/* 027E90BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t131);
|
|
/* 027E90C0 */ _t132 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E90C0 */ _t133 = _t132 & 0x00000001u;
|
|
/* 027E90C0 */ if (_t133) goto L_027E90C4; else goto L_027E90CC;
|
|
L_027E90C4: ; // 0x27e90c4
|
|
/* 027E90C4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x000003C4u);
|
|
/* 027E90C8 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
L_027E90CC: ; // 0x27e90cc
|
|
/* 027E90CC */ cpu->r[7] = 0x00000000u;
|
|
/* 027E90D0 */ cpu->r[3] = cpu->r[19];
|
|
/* 027E90D4 */ Gambit_fn_029B9654(cpu);
|
|
/* 027E90D8 */ _t134 = cpu->r[19] + 0x00000818u;
|
|
/* 027E90D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027E90DC */ cpu->r[8] = cpu->r[17];
|
|
/* 027E90E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 027E90E4 */ _t135 = cpu->r[19] + 0x0000081Cu;
|
|
/* 027E90E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 027E90E8 */ _t136 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E90E8 */ _t137 = _t136 & 0x00000001u;
|
|
/* 027E90E8 */ if (_t137) goto L_027E90EC; else goto L_027E90F4;
|
|
L_027E90EC: ; // 0x27e90ec
|
|
/* 027E90EC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x000003C4u);
|
|
/* 027E90F0 */ cpu->r[4] = cpu->r[4] + cpu->r[11];
|
|
L_027E90F4: ; // 0x27e90f4
|
|
/* 027E90F4 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027E90F8 */ cpu->r[3] = cpu->r[19];
|
|
/* 027E90FC */ Gambit_fn_029B58DC(cpu);
|
|
L_027E9100: ; // 0x27e9100
|
|
/* 027E9100 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 027E9100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 027E9104 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 027E9108 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9108 */ _t139 = _t138 & 0x00000001u;
|
|
/* 027E9108 */ if (_t139) goto L_027E910C; else goto L_027E8E84;
|
|
L_027E910C: ; // 0x27e910c
|
|
/* 027E910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[14], 0x00000000u);
|
|
/* 027E9110 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9110 */ _t141 = _t140 & 0x00000001u;
|
|
/* 027E9110 */ if (_t141) goto L_027E9138; else goto L_027E9114;
|
|
L_027E9114: ; // 0x27e9114
|
|
/* 027E9114 */ cpu->r[4] = 0x00000000u;
|
|
/* 027E9118 */ cpu->r[3] = cpu->r[15] + 0x000000C8u;
|
|
/* 027E911C */ cpu->r[5] = cpu->r[4];
|
|
/* 027E9120 */ Gambit_fn_029BA4E0(cpu);
|
|
/* 027E9124 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E9128 */ cpu->r[5] = 0x00000001u;
|
|
/* 027E912C */ cpu->r[6] = cpu->r[17];
|
|
/* 027E9130 */ cpu->r[3] = cpu->r[15] + 0x000000C8u;
|
|
/* 027E9134 */ Gambit_fn_029BA484(cpu);
|
|
L_027E9138: ; // 0x27e9138
|
|
/* 027E9138 */ _t142 = cpu->r[15] + 0x000025C4u;
|
|
/* 027E9138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t142);
|
|
/* 027E913C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9140 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9140 */ _t144 = _t143 & 0x00000001u;
|
|
/* 027E9140 */ if (_t144) goto L_027E914C; else goto L_027E9144;
|
|
L_027E9144: ; // 0x27e9144
|
|
/* 027E9144 */ cpu->r[0] = 0x00000100u;
|
|
/* 027E9148 */ _t145 = cpu->r[4] + 0x000017ACu;
|
|
/* 027E9148 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[0]);
|
|
L_027E914C: ; // 0x27e914c
|
|
/* 027E914C */ /* nop */
|
|
/* 027E9150 */ _t146 = cpu->r[1] + 0x0000014Cu;
|
|
/* 027E9150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027E9154 */ cpu->lr = cpu->r[0];
|
|
/* 027E9158 */ cpu->r[1] = cpu->r[1] + 0x00000148u;
|
|
/* 027E915C */ return;
|
|
}
|
|
|
|
// fn_027E9160 @ 0x27e9160
|
|
void Gambit_fn_027E9160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126;
|
|
|
|
L_027E9160: ; // 0x27e9160
|
|
/* 027E9160 */ _t0 = cpu->r[1] + 0xFFFFFF18u;
|
|
/* 027E9160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9160 */ cpu->r[1] = _t0;
|
|
/* 027E9164 */ /* nop */
|
|
/* 027E9168 */ cpu->r[0] = cpu->lr;
|
|
/* 027E916C */ _t1 = cpu->r[1] + 0x000000ECu;
|
|
/* 027E916C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E9170 */ cpu->r[27] = cpu->r[5];
|
|
/* 027E9174 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E9178 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 027E9178 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E917C */ _t3 = cpu->r[31] + 0x00007399u;
|
|
/* 027E917C */ cpu->r[31] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027E9180 */ _t4 = cpu->r[7] + 0x00000000u;
|
|
/* 027E9180 */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 027E9184 */ cpu->r[25] = cpu->r[3];
|
|
/* 027E9188 */ cpu->r[26] = cpu->r[4];
|
|
/* 027E918C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027E9190 */ cpu->r[28] = cpu->r[6];
|
|
/* 027E9194 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9194 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E9194 */ if (_t6) goto L_027E9198; else goto L_027E91BC;
|
|
L_027E9198: ; // 0x27e9198
|
|
/* 027E9198 */ cpu->r[5] = cpu->r[28];
|
|
/* 027E919C */ cpu->r[4] = cpu->r[26];
|
|
/* 027E91A0 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E91A4 */ Gambit_fn_027E2C10(cpu);
|
|
/* 027E91A8 */ /* nop */
|
|
/* 027E91AC */ _t7 = cpu->r[1] + 0x000000ECu;
|
|
/* 027E91AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E91B0 */ cpu->lr = cpu->r[0];
|
|
/* 027E91B4 */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 027E91B8 */ return;
|
|
L_027E91BC: ; // 0x27e91bc
|
|
/* 027E91BC */ _t8 = cpu->r[27] + 0x00000004u;
|
|
/* 027E91BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E91C0 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 027E91C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E91C4 */ cpu->ctr = cpu->r[10];
|
|
/* 027E91C8 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E91CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E91D0 */ _t10 = cpu->r[26] + 0x00000004u;
|
|
/* 027E91D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E91D4 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 027E91D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E91D8 */ cpu->ctr = cpu->r[0];
|
|
/* 027E91DC */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 027E91DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E91E0 */ cpu->r[3] = cpu->r[26];
|
|
/* 027E91E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E91E8 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E91EC */ _t13 = cpu->r[26] + 0x00000000u;
|
|
/* 027E91EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E91F0 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E91F4 */ cpu->r[4] = cpu->r[4] + 0xFFFFFF08u;
|
|
/* 027E91F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E91FC */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E91FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E91FC */ if (_t15) goto L_027E9200; // else: addr-0 trap, fall-through
|
|
L_027E9200: ; // 0x27e9200
|
|
/* 027E9200 */ Gambit_fn_027E970C(cpu);
|
|
/* 027E9204 */ cpu->r[3] = cpu->r[25];
|
|
/* 027E9208 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 027E920C */ cpu->r[5] = cpu->r[28];
|
|
/* 027E9210 */ Gambit_fn_027E2C10(cpu);
|
|
/* 027E9214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9218 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9218 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027E9218 */ if (_t17) goto L_027E921C; else goto L_027E9558;
|
|
L_027E921C: ; // 0x27e921c
|
|
/* 027E921C */ cpu->r[23] = 0x10110000u;
|
|
/* 027E9220 */ cpu->r[6] = 0x10110000u;
|
|
/* 027E9224 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 027E9224 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027E9228 */ cpu->r[23] = cpu->r[23] + 0xFFFFFE08u;
|
|
/* 027E922C */ cpu->r[6] = cpu->r[6] + 0xFFFFFF10u;
|
|
/* 027E9230 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9230 */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
|
|
/* 027E9234 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9234 */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 027E9238 */ _t21 = cpu->r[7] + 0x00000014u;
|
|
/* 027E9238 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E923C */ cpu->ctr = cpu->r[8];
|
|
/* 027E9240 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E9244 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9248 */ _t22 = cpu->r[27] + 0x00000000u;
|
|
/* 027E9248 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E924C */ _t23 = cpu->r[11] + 0x00000000u;
|
|
/* 027E924C */ cpu->r[9] = rbrew_read8(cpu->mem, _t23);
|
|
/* 027E9250 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E9254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027E9258 */ cpu->r[29] = 0x00000000u;
|
|
/* 027E925C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E925C */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E925C */ if (_t25) goto L_027E92B0; else goto L_027E9260;
|
|
L_027E9260: ; // 0x27e9260
|
|
/* 027E9260 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027E9264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 027E9268 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E926C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E926C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E926C */ if (_t27) goto L_027E92AC; else goto L_027E9270;
|
|
L_027E9270: ; // 0x27e9270
|
|
/* 027E9270 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9270 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
|
|
/* 027E9274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E9278 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9278 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027E9278 */ if (_t30) goto L_027E927C; else goto L_027E9260;
|
|
L_027E927C: ; // 0x27e927c
|
|
/* 027E927C */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 027E927C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E9280 */ _t32 = cpu->r[11] + 0x00000014u;
|
|
/* 027E9280 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E9284 */ cpu->ctr = cpu->r[12];
|
|
/* 027E9288 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E928C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9290 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9290 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E9294 */ _t34 = cpu->r[8] + 0x00000000u;
|
|
/* 027E9294 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027E9298 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E929C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E92A0 */ cpu->r[10] = 0x00080000u;
|
|
/* 027E92A4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E92A4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027E92A4 */ if (_t36) goto L_027E92A8; else goto L_027E92DC;
|
|
L_027E92A8: ; // 0x27e92a8
|
|
/* 027E92A8 */ goto L_027E930C;
|
|
L_027E92AC: ; // 0x27e92ac
|
|
/* 027E92AC */ cpu->r[29] = 0x00000000u;
|
|
L_027E92B0: ; // 0x27e92b0
|
|
/* 027E92B0 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027E92B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E92B4 */ _t38 = cpu->r[11] + 0x00000014u;
|
|
/* 027E92B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027E92B8 */ cpu->ctr = cpu->r[12];
|
|
/* 027E92BC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E92C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E92C4 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027E92C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027E92C8 */ _t40 = cpu->r[8] + 0x00000000u;
|
|
/* 027E92C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 027E92CC */ cpu->r[30] = 0x00000000u;
|
|
/* 027E92D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E92D4 */ cpu->r[10] = 0x00080000u;
|
|
/* 027E92D8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E92D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027E92D8 */ if (_t42) goto L_027E92A8; else goto L_027E92DC;
|
|
L_027E92DC: ; // 0x27e92dc
|
|
/* 027E92DC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E92E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 027E92E4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027E92E8 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E92E8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E92E8 */ if (_t44) goto L_027E9308; else goto L_027E92EC;
|
|
L_027E92EC: ; // 0x27e92ec
|
|
/* 027E92EC */ _t45 = cpu->r[8] + 0x00000000u;
|
|
/* 027E92EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E92F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E92F4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E92F4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E92F4 */ if (_t47) goto L_027E92F8; else goto L_027E92DC;
|
|
L_027E92F8: ; // 0x27e92f8
|
|
/* 027E92F8 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 027E92F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E92FC */ cpu->r[21] = cpu->r[29] + 0x00000001u;
|
|
/* 027E9300 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9300 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027E9300 */ if (_t49) goto L_027E9304; else goto L_027E9318;
|
|
L_027E9304: ; // 0x27e9304
|
|
/* 027E9304 */ goto L_027E93D4;
|
|
L_027E9308: ; // 0x27e9308
|
|
/* 027E9308 */ cpu->r[30] = 0x00000000u;
|
|
L_027E930C: ; // 0x27e930c
|
|
/* 027E930C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 027E930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E9310 */ cpu->r[21] = cpu->r[29] + 0x00000001u;
|
|
/* 027E9314 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9314 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027E9314 */ if (_t51) goto L_027E93D4; else goto L_027E9318;
|
|
L_027E9318: ; // 0x27e9318
|
|
/* 027E9318 */ cpu->r[24] = cpu->r[31];
|
|
L_027E931C: ; // 0x27e931c
|
|
/* 027E931C */ _t52 = cpu->r[27] + 0x00000000u;
|
|
/* 027E931C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027E9320 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9320 */ rbrew_write32(cpu->mem, _t53, cpu->r[23]);
|
|
/* 027E9324 */ cpu->r[5] = cpu->r[6] + cpu->r[29];
|
|
/* 027E9328 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E932C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 027E932C */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
|
|
/* 027E9330 */ Gambit_fn_027E96B0(cpu);
|
|
/* 027E9334 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9334 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E9338 */ _t56 = cpu->r[7] + 0x00000014u;
|
|
/* 027E9338 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E933C */ cpu->ctr = cpu->r[8];
|
|
/* 027E9340 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9344 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9348 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E934C */ _t58 = cpu->r[9] + 0x00000014u;
|
|
/* 027E934C */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027E9350 */ cpu->ctr = cpu->r[10];
|
|
/* 027E9354 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9354 */ cpu->r[22] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027E9358 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E935C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9360 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9360 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027E9364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[11]);
|
|
/* 027E9368 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9368 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027E9368 */ if (_t62) goto L_027E93BC; else goto L_027E936C;
|
|
L_027E936C: ; // 0x27e936c
|
|
/* 027E936C */ cpu->r[0] = cpu->r[30];
|
|
/* 027E936C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9370 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9370 */ _t64 = _t63 & 0x00000001u;
|
|
/* 027E9370 */ if (_t64) goto L_027E9374; else goto L_027E93BC;
|
|
L_027E9374: ; // 0x27e9374
|
|
/* 027E9374 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027E9378 */ cpu->ctr = cpu->r[0];
|
|
/* 027E937C */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 027E937C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
L_027E9380: ; // 0x27e9380
|
|
/* 027E9380 */ _t67 = cpu->r[4] + 0x00000000u;
|
|
/* 027E9380 */ cpu->r[5] = rbrew_read8(cpu->mem, _t67);
|
|
/* 027E9384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[24]);
|
|
/* 027E9388 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9388 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027E9388 */ if (_t69) goto L_027E938C; else goto L_027E939C;
|
|
L_027E938C: ; // 0x27e938c
|
|
/* 027E938C */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 027E938C */ cpu->r[12] = rbrew_read8(cpu->mem, _t70);
|
|
/* 027E9390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 027E9394 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9394 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027E9394 */ if (_t72) goto L_027E9398; else goto L_027E93C8;
|
|
L_027E9398: ; // 0x27e9398
|
|
/* 027E9398 */ goto L_027E93BC;
|
|
L_027E939C: ; // 0x27e939c
|
|
/* 027E939C */ _t73 = cpu->r[12] + 0x00000000u;
|
|
/* 027E939C */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 027E93A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 027E93A4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E93A4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 027E93A4 */ if (_t75) goto L_027E93C8; else goto L_027E93A8;
|
|
L_027E93A8: ; // 0x27e93a8
|
|
/* 027E93A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 027E93AC */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E93AC */ _t77 = _t76 & 0x00000001u;
|
|
/* 027E93AC */ if (_t77) goto L_027E93B0; else goto L_027E93C8;
|
|
L_027E93B0: ; // 0x27e93b0
|
|
/* 027E93B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E93B4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 027E93B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E93B8 */ _t78 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E93B8 */ _t79 = _t78 >> (0x00000002u & 31u);
|
|
/* 027E93B8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 027E93B8 */ if (_t80) goto L_027E9380; else goto L_027E93BC;
|
|
L_027E93BC: ; // 0x27e93bc
|
|
/* 027E93BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E93C0 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E93C0 */ _t82 = _t81 & 0x00000001u;
|
|
/* 027E93C0 */ if (_t82) goto L_027E93C4; else goto L_027E9534;
|
|
L_027E93C4: ; // 0x27e93c4
|
|
/* 027E93C4 */ goto L_027E9400;
|
|
L_027E93C8: ; // 0x27e93c8
|
|
/* 027E93C8 */ cpu->r[21] = cpu->r[21] + 0xFFFFFFFFu;
|
|
/* 027E93C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 027E93CC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027E93D0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E93D0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 027E93D0 */ if (_t84) goto L_027E93D4; else goto L_027E931C;
|
|
L_027E93D4: ; // 0x27e93d4
|
|
/* 027E93D4 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 027E93D8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E93DC */ cpu->r[3] = cpu->r[25];
|
|
/* 027E93E0 */ _t85 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E93E0 */ rbrew_write32(cpu->mem, _t85, cpu->r[23]);
|
|
/* 027E93E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF12u;
|
|
/* 027E93E8 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E93EC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 027E93F0 */ cpu->r[6] = cpu->r[28];
|
|
/* 027E93F4 */ _t86 = cpu->r[1] + 0x00000018u;
|
|
/* 027E93F4 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 027E93F8 */ Gambit_fn_027E9160(cpu);
|
|
/* 027E93FC */ goto L_027E9558;
|
|
L_027E9400: ; // 0x27e9400
|
|
/* 027E9400 */ cpu->r[0] = 0x00000040u;
|
|
/* 027E9404 */ _t87 = cpu->r[1] + 0x0000006Bu;
|
|
/* 027E9404 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[31]);
|
|
/* 027E9408 */ cpu->r[24] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E940C */ _t88 = cpu->r[1] + 0x00000028u;
|
|
/* 027E940C */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 027E9410 */ cpu->r[0] = 0x10110000u;
|
|
/* 027E9414 */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9414 */ rbrew_write32(cpu->mem, _t89, cpu->r[24]);
|
|
/* 027E9418 */ cpu->r[0] = cpu->r[0] + 0xFFFFFE68u;
|
|
/* 027E941C */ _t90 = cpu->r[27] + 0x00000004u;
|
|
/* 027E941C */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027E9420 */ _t91 = cpu->r[1] + 0x00000024u;
|
|
/* 027E9420 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 027E9424 */ _t92 = cpu->r[5] + 0x00000014u;
|
|
/* 027E9424 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E9428 */ cpu->ctr = cpu->r[6];
|
|
/* 027E942C */ cpu->r[3] = cpu->r[27];
|
|
/* 027E9430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9434 */ _t93 = cpu->r[27] + 0x00000000u;
|
|
/* 027E9434 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027E9438 */ _t94 = cpu->r[7] + 0x00000000u;
|
|
/* 027E9438 */ cpu->r[8] = rbrew_read8(cpu->mem, _t94);
|
|
/* 027E943C */ cpu->r[30] = 0x00000000u;
|
|
/* 027E9440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027E9444 */ cpu->r[9] = 0x00080000u;
|
|
/* 027E9448 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9448 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027E9448 */ if (_t96) goto L_027E9484; else goto L_027E944C;
|
|
L_027E944C: ; // 0x27e944c
|
|
/* 027E944C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E9450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 027E9454 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027E9458 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9458 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027E9458 */ if (_t98) goto L_027E9480; else goto L_027E945C;
|
|
L_027E945C: ; // 0x27e945c
|
|
/* 027E945C */ _t99 = cpu->r[7] + 0x00000000u;
|
|
/* 027E945C */ cpu->r[10] = rbrew_read8(cpu->mem, _t99);
|
|
/* 027E9460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E9464 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9464 */ _t101 = _t100 & 0x00000001u;
|
|
/* 027E9464 */ if (_t101) goto L_027E9468; else goto L_027E944C;
|
|
L_027E9468: ; // 0x27e9468
|
|
/* 027E9468 */ _t102 = cpu->r[1] + 0x00000028u;
|
|
/* 027E9468 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027E946C */ _t103 = cpu->r[27] + 0x00000004u;
|
|
/* 027E946C */ cpu->r[11] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027E9470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 027E9474 */ _t104 = cpu->r[11] + 0x00000014u;
|
|
/* 027E9474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027E9478 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9478 */ _t106 = _t105 & 0x00000001u;
|
|
/* 027E9478 */ if (_t106) goto L_027E947C; else goto L_027E9498;
|
|
L_027E947C: ; // 0x27e947c
|
|
/* 027E947C */ goto L_027E949C;
|
|
L_027E9480: ; // 0x27e9480
|
|
/* 027E9480 */ cpu->r[30] = 0x00000000u;
|
|
L_027E9484: ; // 0x27e9484
|
|
/* 027E9484 */ _t107 = cpu->r[1] + 0x00000028u;
|
|
/* 027E9484 */ cpu->r[4] = rbrew_read32(cpu->mem, _t107);
|
|
/* 027E9488 */ _t108 = cpu->r[27] + 0x00000004u;
|
|
/* 027E9488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027E948C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 027E9490 */ _t109 = cpu->r[11] + 0x00000014u;
|
|
/* 027E9490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027E9494 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9494 */ _t111 = _t110 & 0x00000001u;
|
|
/* 027E9494 */ if (_t111) goto L_027E949C; else goto L_027E9498;
|
|
L_027E9498: ; // 0x27e9498
|
|
/* 027E9498 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_027E949C: ; // 0x27e949c
|
|
/* 027E949C */ cpu->ctr = cpu->r[0];
|
|
/* 027E94A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027E94A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E94A8 */ _t112 = cpu->r[27] + 0x00000000u;
|
|
/* 027E94A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027E94AC */ cpu->r[3] = cpu->r[24];
|
|
/* 027E94B0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E94B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E94B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E94BC */ cpu->r[0] = 0x10110000u;
|
|
/* 027E94C0 */ _t113 = cpu->r[24] + cpu->r[30];
|
|
/* 027E94C0 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[31]);
|
|
/* 027E94C4 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 027E94C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 027E94C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFE80u;
|
|
/* 027E94CC */ _t115 = cpu->r[1] + 0x00000024u;
|
|
/* 027E94CC */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 027E94D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 027E94D4 */ _t116 = cpu->r[1] + 0x00000020u;
|
|
/* 027E94D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t116);
|
|
/* 027E94D8 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E94D8 */ _t118 = _t117 & 0x00000001u;
|
|
/* 027E94D8 */ if (_t118) goto L_027E94E0; else goto L_027E94DC;
|
|
L_027E94DC: ; // 0x27e94dc
|
|
/* 027E94DC */ cpu->r[29] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_027E94E0: ; // 0x27e94e0
|
|
/* 027E94E0 */ _t119 = cpu->r[27] + 0x00000004u;
|
|
/* 027E94E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 027E94E4 */ _t120 = cpu->r[7] + 0x00000014u;
|
|
/* 027E94E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 027E94E8 */ cpu->ctr = cpu->r[9];
|
|
/* 027E94EC */ cpu->r[3] = cpu->r[27];
|
|
/* 027E94F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E94F4 */ _t121 = cpu->r[27] + 0x00000000u;
|
|
/* 027E94F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027E94F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E94FC */ cpu->r[5] = cpu->r[29];
|
|
/* 027E9500 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E9504 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E9508 */ cpu->r[6] = cpu->r[28];
|
|
/* 027E950C */ cpu->r[3] = cpu->r[25];
|
|
/* 027E9510 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E9514 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 027E9518 */ _t122 = cpu->r[30] + cpu->r[29];
|
|
/* 027E9518 */ rbrew_write8(cpu->mem, _t122, (uint8_t)cpu->r[31]);
|
|
/* 027E951C */ Gambit_fn_027E9160(cpu);
|
|
/* 027E9520 */ /* nop */
|
|
/* 027E9524 */ _t123 = cpu->r[1] + 0x000000ECu;
|
|
/* 027E9524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027E9528 */ cpu->lr = cpu->r[0];
|
|
/* 027E952C */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 027E9530 */ return;
|
|
L_027E9534: ; // 0x27e9534
|
|
/* 027E9534 */ cpu->r[12] = 0x10110000u;
|
|
/* 027E9538 */ _t124 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9538 */ rbrew_write32(cpu->mem, _t124, cpu->r[23]);
|
|
/* 027E953C */ cpu->r[3] = cpu->r[25];
|
|
/* 027E9540 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF12u;
|
|
/* 027E9544 */ cpu->r[4] = cpu->r[26];
|
|
/* 027E9548 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 027E954C */ cpu->r[6] = cpu->r[28];
|
|
/* 027E9550 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9550 */ rbrew_write32(cpu->mem, _t125, cpu->r[12]);
|
|
/* 027E9554 */ Gambit_fn_027E9160(cpu);
|
|
L_027E9558: ; // 0x27e9558
|
|
/* 027E9558 */ /* nop */
|
|
/* 027E955C */ _t126 = cpu->r[1] + 0x000000ECu;
|
|
/* 027E955C */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 027E9560 */ cpu->lr = cpu->r[0];
|
|
/* 027E9564 */ cpu->r[1] = cpu->r[1] + 0x000000E8u;
|
|
/* 027E9568 */ return;
|
|
}
|
|
|
|
// fn_027E956C @ 0x27e956c
|
|
void Gambit_fn_027E956C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_027E956C: ; // 0x27e956c
|
|
/* 027E956C */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 027E956C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E956C */ cpu->r[1] = _t0;
|
|
/* 027E9570 */ cpu->r[0] = cpu->lr;
|
|
/* 027E9574 */ /* nop */
|
|
/* 027E9578 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E957C */ _t1 = cpu->r[1] + 0x000000D4u;
|
|
/* 027E957C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E9580 */ cpu->r[29] = cpu->r[4];
|
|
/* 027E9584 */ cpu->r[9] = cpu->r[9] + 0xFFFFFF14u;
|
|
/* 027E9588 */ cpu->r[27] = 0x00000000u;
|
|
/* 027E958C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 027E958C */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 027E9590 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E9594 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027E9594 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 027E9598 */ cpu->r[9] = cpu->r[9] + 0xFFFFFE50u;
|
|
/* 027E959C */ cpu->r[0] = 0x00000080u;
|
|
/* 027E95A0 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027E95A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 027E95A4 */ cpu->r[10] = cpu->r[1] + 0x00000038u;
|
|
/* 027E95A8 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 027E95A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027E95AC */ cpu->r[12] = 0x10110000u;
|
|
/* 027E95B0 */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 027E95B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027E95B4 */ _t7 = cpu->r[29] + 0x00000004u;
|
|
/* 027E95B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E95B8 */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 027E95B8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027E95BC */ _t9 = cpu->r[1] + 0x000000B7u;
|
|
/* 027E95BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 027E95C0 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E95C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027E95C4 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 027E95C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E95C8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027E95CC */ cpu->r[31] = 0x10110000u;
|
|
/* 027E95D0 */ cpu->ctr = cpu->r[9];
|
|
/* 027E95D4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027E95D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFE08u;
|
|
/* 027E95DC */ cpu->r[3] = cpu->r[29];
|
|
/* 027E95E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E95E4 */ cpu->r[4] = 0x10110000u;
|
|
/* 027E95E8 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E95EC */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 027E95EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E95F0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFF20u;
|
|
/* 027E95F4 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E95F4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E95F4 */ if (_t14) goto L_027E95F8; // else: addr-0 trap, fall-through
|
|
L_027E95F8: ; // 0x27e95f8
|
|
/* 027E95F8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027E95FC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E9600 */ Gambit_fn_027E2BBC(cpu);
|
|
/* 027E9604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9608 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9608 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027E9608 */ if (_t16) goto L_027E9620; else goto L_027E960C;
|
|
L_027E960C: ; // 0x27e960c
|
|
/* 027E960C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E9610 */ cpu->r[4] = 0x00000100u;
|
|
/* 027E9614 */ Gambit_fn_027E2BB4(cpu);
|
|
/* 027E9618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E961C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E961C */ _t18 = _t17 & 0x00000001u;
|
|
/* 027E961C */ if (_t18) goto L_027E9620; else goto L_027E9630;
|
|
L_027E9620: ; // 0x27e9620
|
|
/* 027E9620 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 027E9620 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E9624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9628 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9628 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E9628 */ if (_t21) goto L_027E9688; else goto L_027E962C;
|
|
L_027E962C: ; // 0x27e962c
|
|
/* 027E962C */ goto L_027E965C;
|
|
L_027E9630: ; // 0x27e9630
|
|
/* 027E9630 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027E9634 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9638 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9638 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 027E963C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027E963C */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 027E9640 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E9644 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9644 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 027E9648 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 027E964C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E964C */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
/* 027E9650 */ Gambit_fn_027E9160(cpu);
|
|
/* 027E9654 */ cpu->r[4] = cpu->r[3];
|
|
/* 027E9654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9658 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9658 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027E9658 */ if (_t28) goto L_027E9688; else goto L_027E965C;
|
|
L_027E965C: ; // 0x27e965c
|
|
/* 027E965C */ _t29 = cpu->r[28] + 0x00000094u;
|
|
/* 027E965C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027E9660 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9664 */ Gambit_fn_0295C0A8(cpu);
|
|
/* 027E9668 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 027E9668 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E966C */ _t31 = cpu->r[10] + 0x00000054u;
|
|
/* 027E966C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E9670 */ cpu->ctr = cpu->r[0];
|
|
/* 027E9674 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E9678 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9678 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 027E967C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9680 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 027E9684 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_027E9688: ; // 0x27e9688
|
|
/* 027E9688 */ /* nop */
|
|
/* 027E968C */ _t34 = cpu->r[1] + 0x000000D4u;
|
|
/* 027E968C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E9690 */ cpu->lr = cpu->r[0];
|
|
/* 027E9694 */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 027E9698 */ return;
|
|
}
|
|
|
|
// fn_027E969C @ 0x27e969c
|
|
void Gambit_fn_027E969C(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_027E969C: ; // 0x27e969c
|
|
/* 027E969C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E96A0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E96A0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96A0 */ goto L_027E96A4;
|
|
L_027E96A4: ; // 0x27e96a4
|
|
/* 027E96A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E96A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E96A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E96A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96A8 */ goto L_027E96AC;
|
|
L_027E96AC: ; // 0x27e96ac
|
|
/* 027E96AC */ 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_027E96B0 @ 0x27e96b0
|
|
void Gambit_fn_027E96B0(CPUState* cpu) {
|
|
L_027E96B0: ; // 0x27e96b0
|
|
/* 027E96B0 */ return;
|
|
}
|
|
|
|
// fn_027E96B4 @ 0x27e96b4
|
|
void Gambit_fn_027E96B4(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_027E96B4: ; // 0x27e96b4
|
|
/* 027E96B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E96B8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E96B8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96B8 */ goto L_027E96BC;
|
|
L_027E96BC: ; // 0x27e96bc
|
|
/* 027E96BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E96BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E96C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E96C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96C0 */ goto L_027E96C4;
|
|
L_027E96C4: ; // 0x27e96c4
|
|
/* 027E96C4 */ 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_027E96C8 @ 0x27e96c8
|
|
void Gambit_fn_027E96C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027E96C8: ; // 0x27e96c8
|
|
/* 027E96C8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027E96C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E96CC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027E96CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E96D0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027E96D4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027E96D8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027E96D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027E96DC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E96DC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027E96E0 */ return;
|
|
}
|
|
|
|
// fn_027E96E4 @ 0x27e96e4
|
|
void Gambit_fn_027E96E4(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_027E96E4: ; // 0x27e96e4
|
|
/* 027E96E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E96E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E96E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96E8 */ goto L_027E96EC;
|
|
L_027E96EC: ; // 0x27e96ec
|
|
/* 027E96EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E96EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E96F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E96F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96F0 */ goto L_027E96F4;
|
|
L_027E96F4: ; // 0x27e96f4
|
|
/* 027E96F4 */ 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_027E96F8 @ 0x27e96f8
|
|
void Gambit_fn_027E96F8(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_027E96F8: ; // 0x27e96f8
|
|
/* 027E96F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E96FC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E96FC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E96FC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E96FC */ goto L_027E9700;
|
|
L_027E9700: ; // 0x27e9700
|
|
/* 027E9700 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9704 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9704 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E9704 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9704 */ goto L_027E9708;
|
|
L_027E9708: ; // 0x27e9708
|
|
/* 027E9708 */ 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_027E970C @ 0x27e970c
|
|
void Gambit_fn_027E970C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E970C: ; // 0x27e970c
|
|
/* 027E970C */ cpu->r[0] = cpu->lr;
|
|
/* 027E9710 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E9710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9710 */ cpu->r[1] = _t0;
|
|
/* 027E9714 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E9714 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027E9718 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027E9718 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E971C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E971C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027E9720 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9720 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 027E9724 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9724 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027E9728 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E9728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E972C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 027E972C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 027E9730 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 027E9730 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027E9734 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027E9734 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 027E9738 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027E9738 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E973C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E973C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 027E9740 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9740 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027E9744 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 027E9744 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027E9748 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E9748 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E9748 */ if (_t15) goto L_027E974C; else goto L_027E976C;
|
|
L_027E974C: ; // 0x27e974c
|
|
/* 027E974C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 027E974C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 027E9750 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 027E9750 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 027E9754 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 027E9754 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 027E9758 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 027E9758 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 027E975C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 027E975C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 027E9760 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 027E9760 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 027E9764 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 027E9764 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 027E9768 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 027E9768 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_027E976C: ; // 0x27e976c
|
|
/* 027E976C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E976C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9770 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E9774 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9774 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E9774 */ if (_t25) goto L_027E9778; else goto L_027E9788;
|
|
L_027E9778: ; // 0x27e9778
|
|
/* 027E9778 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027E977C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9780 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9784 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9784 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E9784 */ if (_t27) goto L_027E984C; else goto L_027E9788;
|
|
L_027E9788: ; // 0x27e9788
|
|
/* 027E9788 */ cpu->r[29] = cpu->r[31];
|
|
/* 027E9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E978C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E978C */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E978C */ if (_t29) goto L_027E9790; else goto L_027E97A0;
|
|
L_027E9790: ; // 0x27e9790
|
|
/* 027E9790 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027E9794 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9798 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E9798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E979C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E979C */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E979C */ if (_t31) goto L_027E9810; else goto L_027E97A0;
|
|
L_027E97A0: ; // 0x27e97a0
|
|
/* 027E97A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E97A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E97A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 027E97A8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E97A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E97A8 */ if (_t33) goto L_027E97AC; else goto L_027E97D8;
|
|
L_027E97AC: ; // 0x27e97ac
|
|
/* 027E97AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E97B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E97B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E97B8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E97B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E97B8 */ if (_t35) goto L_027E97BC; else goto L_027E97D8;
|
|
L_027E97BC: ; // 0x27e97bc
|
|
/* 027E97BC */ cpu->r[7] = 0x10110000u;
|
|
/* 027E97C0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 027E97C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 027E97C4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFE68u;
|
|
/* 027E97C8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 027E97C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E97CC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 027E97CC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 027E97D0 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 027E97D0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027E97D4 */ goto L_027E9810;
|
|
L_027E97D8: ; // 0x27e97d8
|
|
/* 027E97D8 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E97DC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E97E0 */ cpu->r[5] = cpu->r[5] + 0xFFFFFE20u;
|
|
/* 027E97E4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 027E97E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E97E8 */ cpu->r[6] = 0x00000040u;
|
|
/* 027E97EC */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 027E97EC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 027E97F0 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 027E97F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 027E97F4 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 027E97F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E97F8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E97FC */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 027E97FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E9800 */ cpu->r[7] = cpu->r[7] + 0xFFFFFE68u;
|
|
/* 027E9804 */ _t45 = cpu->r[29] + 0x0000004Bu;
|
|
/* 027E9804 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 027E9808 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 027E9808 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 027E980C */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 027E980C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_027E9810: ; // 0x27e9810
|
|
/* 027E9810 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E9814 */ cpu->r[12] = 0x00000002u;
|
|
/* 027E9818 */ cpu->r[9] = cpu->r[9] + 0xFFFFFEC8u;
|
|
/* 027E981C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 027E9820 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027E9820 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 027E9824 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9828 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9828 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027E982C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E9830 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9830 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 027E9834 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9838 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E983C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 027E983C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 027E9840 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E9844 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9844 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 027E9848 */ Gambit_fn_0282A5DC(cpu);
|
|
L_027E984C: ; // 0x27e984c
|
|
/* 027E984C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 027E984C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E9850 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E9850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E9854 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E9854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E9858 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E985C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 027E985C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E9860 */ cpu->lr = cpu->r[0];
|
|
/* 027E9864 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 027E9864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E9868 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E986C */ return;
|
|
}
|
|
|
|
// fn_027E9710 @ 0x27e9710
|
|
void Gambit_fn_027E9710(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_027E9710: ; // 0x27e9710
|
|
/* 027E9710 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 027E9710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9710 */ cpu->r[1] = _t0;
|
|
/* 027E9714 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027E9714 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027E9718 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 027E9718 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E971C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027E971C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027E9720 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9720 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 027E9724 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9724 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027E9728 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E9728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027E972C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 027E972C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 027E9730 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 027E9730 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027E9734 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 027E9734 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 027E9738 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027E9738 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027E973C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E973C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 027E9740 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9740 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 027E9744 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 027E9744 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 027E9748 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027E9748 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E9748 */ if (_t15) goto L_027E974C; else goto L_027E976C;
|
|
L_027E974C: ; // 0x27e974c
|
|
/* 027E974C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 027E974C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 027E9750 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 027E9750 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 027E9754 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 027E9754 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 027E9758 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 027E9758 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 027E975C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 027E975C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 027E9760 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 027E9760 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 027E9764 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 027E9764 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 027E9768 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 027E9768 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_027E976C: ; // 0x27e976c
|
|
/* 027E976C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E976C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9770 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E9774 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9774 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027E9774 */ if (_t25) goto L_027E9778; else goto L_027E9788;
|
|
L_027E9778: ; // 0x27e9778
|
|
/* 027E9778 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027E977C */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9780 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9784 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9784 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027E9784 */ if (_t27) goto L_027E984C; else goto L_027E9788;
|
|
L_027E9788: ; // 0x27e9788
|
|
/* 027E9788 */ cpu->r[29] = cpu->r[31];
|
|
/* 027E9788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E978C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E978C */ _t29 = _t28 & 0x00000001u;
|
|
/* 027E978C */ if (_t29) goto L_027E9790; else goto L_027E97A0;
|
|
L_027E9790: ; // 0x27e9790
|
|
/* 027E9790 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 027E9794 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9798 */ cpu->r[29] = cpu->r[3];
|
|
/* 027E9798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027E979C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E979C */ _t31 = _t30 & 0x00000001u;
|
|
/* 027E979C */ if (_t31) goto L_027E9810; else goto L_027E97A0;
|
|
L_027E97A0: ; // 0x27e97a0
|
|
/* 027E97A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E97A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E97A4 */ cpu->r[28] = 0x10110000u;
|
|
/* 027E97A8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E97A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027E97A8 */ if (_t33) goto L_027E97AC; else goto L_027E97D8;
|
|
L_027E97AC: ; // 0x27e97ac
|
|
/* 027E97AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027E97B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E97B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E97B8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E97B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027E97B8 */ if (_t35) goto L_027E97BC; else goto L_027E97D8;
|
|
L_027E97BC: ; // 0x27e97bc
|
|
/* 027E97BC */ cpu->r[7] = 0x10110000u;
|
|
/* 027E97C0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 027E97C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 027E97C4 */ cpu->r[7] = cpu->r[7] + 0xFFFFFE68u;
|
|
/* 027E97C8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 027E97C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027E97CC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 027E97CC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 027E97D0 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 027E97D0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027E97D4 */ goto L_027E9810;
|
|
L_027E97D8: ; // 0x27e97d8
|
|
/* 027E97D8 */ cpu->r[5] = 0x10110000u;
|
|
/* 027E97DC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 027E97E0 */ cpu->r[5] = cpu->r[5] + 0xFFFFFE20u;
|
|
/* 027E97E4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 027E97E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 027E97E8 */ cpu->r[6] = 0x00000040u;
|
|
/* 027E97EC */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 027E97EC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 027E97F0 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 027E97F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 027E97F4 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 027E97F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 027E97F8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027E97FC */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 027E97FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027E9800 */ cpu->r[7] = cpu->r[7] + 0xFFFFFE68u;
|
|
/* 027E9804 */ _t45 = cpu->r[29] + 0x0000004Bu;
|
|
/* 027E9804 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 027E9808 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 027E9808 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 027E980C */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 027E980C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_027E9810: ; // 0x27e9810
|
|
/* 027E9810 */ cpu->r[9] = 0x10110000u;
|
|
/* 027E9814 */ cpu->r[12] = 0x00000002u;
|
|
/* 027E9818 */ cpu->r[9] = cpu->r[9] + 0xFFFFFEC8u;
|
|
/* 027E981C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 027E9820 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027E9820 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 027E9824 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9828 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9828 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027E982C */ cpu->r[0] = 0x00000000u;
|
|
/* 027E9830 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9830 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 027E9834 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9838 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027E983C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 027E983C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 027E9840 */ cpu->r[4] = cpu->r[30];
|
|
/* 027E9844 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9844 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 027E9848 */ Gambit_fn_0282A5DC(cpu);
|
|
L_027E984C: ; // 0x27e984c
|
|
/* 027E984C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 027E984C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027E9850 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027E9850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027E9854 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 027E9854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027E9858 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E985C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 027E985C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027E9860 */ cpu->lr = cpu->r[0];
|
|
/* 027E9864 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 027E9864 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E9868 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 027E986C */ return;
|
|
}
|
|
|
|
// fn_027E9870 @ 0x27e9870
|
|
void Gambit_fn_027E9870(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_027E9870: ; // 0x27e9870
|
|
/* 027E9870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9874 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9874 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E9874 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9874 */ goto L_027E9878;
|
|
L_027E9878: ; // 0x27e9878
|
|
/* 027E9878 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E987C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E987C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E987C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E987C */ goto L_027E9880;
|
|
L_027E9880: ; // 0x27e9880
|
|
/* 027E9880 */ 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_027E9884 @ 0x27e9884
|
|
void Gambit_fn_027E9884(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_027E9884: ; // 0x27e9884
|
|
/* 027E9884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9888 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9888 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E9888 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9888 */ goto L_027E988C;
|
|
L_027E988C: ; // 0x27e988c
|
|
/* 027E988C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E988C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9890 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9890 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E9890 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9890 */ goto L_027E9894;
|
|
L_027E9894: ; // 0x27e9894
|
|
/* 027E9894 */ 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_027E9898 @ 0x27e9898
|
|
void Gambit_fn_027E9898(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_027E9898: ; // 0x27e9898
|
|
/* 027E9898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E989C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E989C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E989C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E989C */ goto L_027E98A0;
|
|
L_027E98A0: ; // 0x27e98a0
|
|
/* 027E98A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E98A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E98A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E98A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E98A4 */ goto L_027E98A8;
|
|
L_027E98A8: ; // 0x27e98a8
|
|
/* 027E98A8 */ 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_027E98AC @ 0x27e98ac
|
|
void Gambit_fn_027E98AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027E98AC: ; // 0x27e98ac
|
|
/* 027E98AC */ cpu->r[0] = cpu->lr;
|
|
/* 027E98B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E98B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E98B0 */ cpu->r[1] = _t0;
|
|
/* 027E98B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E98B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E98B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E98B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E98BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E98BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E98C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E98C0 */ if (_t4) goto L_027E98C4; else goto L_027E98D4;
|
|
L_027E98C4: ; // 0x27e98c4
|
|
/* 027E98C4 */ cpu->r[3] = 0x00000010u;
|
|
/* 027E98C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E98CC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E98CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E98D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E98D0 */ if (_t6) goto L_027E9900; else goto L_027E98D4;
|
|
L_027E98D4: ; // 0x27e98d4
|
|
/* 027E98D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E98D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E98D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E98D8 */ if (_t8) goto L_027E98DC; else goto L_027E98EC;
|
|
L_027E98DC: ; // 0x27e98dc
|
|
/* 027E98DC */ cpu->r[3] = 0x00000010u;
|
|
/* 027E98E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E98E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E98E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E98E8 */ if (_t10) goto L_027E9900; else goto L_027E98EC;
|
|
L_027E98EC: ; // 0x27e98ec
|
|
/* 027E98EC */ cpu->r[11] = 0x00000000u;
|
|
/* 027E98F0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E98F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027E98F4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E98F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027E98F8 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 027E98F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027E98FC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027E98FC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_027E9900: ; // 0x27e9900
|
|
/* 027E9900 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E9904 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9908 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9908 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E990C */ cpu->lr = cpu->r[0];
|
|
/* 027E9910 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9914 */ return;
|
|
}
|
|
|
|
// fn_027E98B0 @ 0x27e98b0
|
|
void Gambit_fn_027E98B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027E98B0: ; // 0x27e98b0
|
|
/* 027E98B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E98B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E98B0 */ cpu->r[1] = _t0;
|
|
/* 027E98B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E98B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E98B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E98B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E98BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E98BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E98C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E98C0 */ if (_t4) goto L_027E98C4; else goto L_027E98D4;
|
|
L_027E98C4: ; // 0x27e98c4
|
|
/* 027E98C4 */ cpu->r[3] = 0x00000010u;
|
|
/* 027E98C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E98CC */ cpu->r[31] = cpu->r[3];
|
|
/* 027E98CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E98D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027E98D0 */ if (_t6) goto L_027E9900; else goto L_027E98D4;
|
|
L_027E98D4: ; // 0x27e98d4
|
|
/* 027E98D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E98D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E98D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E98D8 */ if (_t8) goto L_027E98DC; else goto L_027E98EC;
|
|
L_027E98DC: ; // 0x27e98dc
|
|
/* 027E98DC */ cpu->r[3] = 0x00000010u;
|
|
/* 027E98E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E98E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E98E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E98E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E98E8 */ if (_t10) goto L_027E9900; else goto L_027E98EC;
|
|
L_027E98EC: ; // 0x27e98ec
|
|
/* 027E98EC */ cpu->r[11] = 0x00000000u;
|
|
/* 027E98F0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E98F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027E98F4 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027E98F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027E98F8 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 027E98F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 027E98FC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 027E98FC */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_027E9900: ; // 0x27e9900
|
|
/* 027E9900 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E9904 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9908 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9908 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E990C */ cpu->lr = cpu->r[0];
|
|
/* 027E9910 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9914 */ return;
|
|
}
|
|
|
|
// fn_027E9918 @ 0x27e9918
|
|
void Gambit_fn_027E9918(CPUState* cpu) {
|
|
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_027E9918: ; // 0x27e9918
|
|
/* 027E9918 */ cpu->r[0] = cpu->lr;
|
|
/* 027E991C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E991C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E991C */ cpu->r[1] = _t0;
|
|
/* 027E9920 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9920 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E9924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E9928 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9928 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E992C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E992C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9930 */ cpu->r[3] = cpu->r[5];
|
|
/* 027E9934 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9934 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9938 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9938 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9938 */ if (_t5) goto L_027E993C; else goto L_027E9994;
|
|
L_027E993C: ; // 0x27e993c
|
|
/* 027E993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9940 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9940 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E9940 */ if (_t7) goto L_027E9944; else goto L_027E9950;
|
|
L_027E9944: ; // 0x27e9944
|
|
/* 027E9944 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E9948 */ _t8 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E9948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E994C */ Gambit_fn_02826F20(cpu);
|
|
L_027E9950: ; // 0x27e9950
|
|
/* 027E9950 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E9950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E9954 */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 027E9954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E9958 */ cpu->ctr = cpu->r[0];
|
|
/* 027E995C */ cpu->r[5] = 0x00000040u;
|
|
/* 027E9960 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E9964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E996C */ cpu->r[0] = cpu->r[31];
|
|
/* 027E9970 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9970 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E9970 */ if (_t12) goto L_027E9978; else goto L_027E9974;
|
|
L_027E9974: ; // 0x27e9974
|
|
/* 027E9974 */ cpu->r[0] = 0x00000001u;
|
|
L_027E9978: ; // 0x27e9978
|
|
/* 027E9978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E997C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E997C */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E997C */ if (_t14) goto L_027E9994; else goto L_027E9980;
|
|
L_027E9980: ; // 0x27e9980
|
|
/* 027E9980 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 027E9980 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 027E9984 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E9988 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027E9988 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 027E998C */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E998C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027E9990 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027E9990 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
L_027E9994: ; // 0x27e9994
|
|
/* 027E9994 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E9998 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E999C */ cpu->lr = cpu->r[0];
|
|
/* 027E99A0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E99A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E99A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E99A8 */ return;
|
|
}
|
|
|
|
// fn_027E991C @ 0x27e991c
|
|
void Gambit_fn_027E991C(CPUState* cpu) {
|
|
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_027E991C: ; // 0x27e991c
|
|
/* 027E991C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E991C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E991C */ cpu->r[1] = _t0;
|
|
/* 027E9920 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9920 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E9924 */ cpu->r[30] = cpu->r[3];
|
|
/* 027E9928 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9928 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E992C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E992C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9930 */ cpu->r[3] = cpu->r[5];
|
|
/* 027E9934 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9934 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9938 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9938 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9938 */ if (_t5) goto L_027E993C; else goto L_027E9994;
|
|
L_027E993C: ; // 0x27e993c
|
|
/* 027E993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9940 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9940 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E9940 */ if (_t7) goto L_027E9944; else goto L_027E9950;
|
|
L_027E9944: ; // 0x27e9944
|
|
/* 027E9944 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027E9948 */ _t8 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 027E9948 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E994C */ Gambit_fn_02826F20(cpu);
|
|
L_027E9950: ; // 0x27e9950
|
|
/* 027E9950 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E9950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E9954 */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 027E9954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E9958 */ cpu->ctr = cpu->r[0];
|
|
/* 027E995C */ cpu->r[5] = 0x00000040u;
|
|
/* 027E9960 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E9964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E996C */ cpu->r[0] = cpu->r[31];
|
|
/* 027E9970 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9970 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E9970 */ if (_t12) goto L_027E9978; else goto L_027E9974;
|
|
L_027E9974: ; // 0x27e9974
|
|
/* 027E9974 */ cpu->r[0] = 0x00000001u;
|
|
L_027E9978: ; // 0x27e9978
|
|
/* 027E9978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E997C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E997C */ _t14 = _t13 & 0x00000001u;
|
|
/* 027E997C */ if (_t14) goto L_027E9994; else goto L_027E9980;
|
|
L_027E9980: ; // 0x27e9980
|
|
/* 027E9980 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 027E9980 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 027E9984 */ cpu->r[9] = 0x00000000u;
|
|
/* 027E9988 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027E9988 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 027E998C */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027E998C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 027E9990 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 027E9990 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
L_027E9994: ; // 0x27e9994
|
|
/* 027E9994 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E9998 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027E999C */ cpu->lr = cpu->r[0];
|
|
/* 027E99A0 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E99A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027E99A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E99A8 */ return;
|
|
}
|
|
|
|
// fn_027E99AC @ 0x27e99ac
|
|
void Gambit_fn_027E99AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_027E99AC: ; // 0x27e99ac
|
|
/* 027E99AC */ cpu->r[0] = cpu->lr;
|
|
/* 027E99B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E99B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E99B0 */ cpu->r[1] = _t0;
|
|
/* 027E99B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E99B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E99B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E99BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E99BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E99C0 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E99C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E99C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E99C8 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E99C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E99C8 */ if (_t5) goto L_027E99CC; else goto L_027E9A48;
|
|
L_027E99CC: ; // 0x27e99cc
|
|
/* 027E99CC */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 027E99CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E99D0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027E99D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E99D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 027E99D8 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027E99D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E99DC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E99DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E99DC */ if (_t10) goto L_027E99E4; else goto L_027E99E0;
|
|
L_027E99E0: ; // 0x27e99e0
|
|
/* 027E99E0 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
|
|
L_027E99E4: ; // 0x27e99e4
|
|
/* 027E99E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E99E8 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027E99EC */ rbrew_dispatch(cpu, 0x02d05dd0u);
|
|
/* 027E99F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 027E99F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E99F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E99F4 */ if (_t12) goto L_027E99F8; else goto L_027E9A48;
|
|
L_027E99F8: ; // 0x27e99f8
|
|
/* 027E99F8 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E99F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E99FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E9A00 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9A00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E9A00 */ if (_t15) goto L_027E9A04; else goto L_027E9A30;
|
|
L_027E9A04: ; // 0x27e9a04
|
|
/* 027E9A04 */ _t16 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E9A08 */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 027E9A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E9A0C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E9A10 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A10 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027E9A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027E9A18 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E9A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E9A1C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9A1C */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E9A1C */ if (_t21) goto L_027E9A28; else goto L_027E9A20;
|
|
L_027E9A20: ; // 0x27e9a20
|
|
/* 027E9A20 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E9A24 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A24 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
L_027E9A28: ; // 0x27e9a28
|
|
/* 027E9A28 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E9A2C */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E9A2C */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
L_027E9A30: ; // 0x27e9a30
|
|
/* 027E9A30 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E9A34 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E9A38 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9A40 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E9A44 */ return;
|
|
L_027E9A48: ; // 0x27e9a48
|
|
/* 027E9A48 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E9A4C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E9A50 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9A58 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9A5C */ return;
|
|
}
|
|
|
|
// fn_027E99B0 @ 0x27e99b0
|
|
void Gambit_fn_027E99B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_027E99B0: ; // 0x27e99b0
|
|
/* 027E99B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E99B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E99B0 */ cpu->r[1] = _t0;
|
|
/* 027E99B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E99B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E99B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E99BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027E99BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E99C0 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E99C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E99C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E99C8 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E99C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E99C8 */ if (_t5) goto L_027E99CC; else goto L_027E9A48;
|
|
L_027E99CC: ; // 0x27e99cc
|
|
/* 027E99CC */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 027E99CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E99D0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027E99D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E99D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 027E99D8 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027E99D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E99DC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E99DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E99DC */ if (_t10) goto L_027E99E4; else goto L_027E99E0;
|
|
L_027E99E0: ; // 0x27e99e0
|
|
/* 027E99E0 */ cpu->r[12] = cpu->r[12] - cpu->r[0];
|
|
L_027E99E4: ; // 0x27e99e4
|
|
/* 027E99E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E99E8 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027E99EC */ rbrew_dispatch(cpu, 0x02d05dd0u);
|
|
/* 027E99F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 027E99F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E99F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027E99F4 */ if (_t12) goto L_027E99F8; else goto L_027E9A48;
|
|
L_027E99F8: ; // 0x27e99f8
|
|
/* 027E99F8 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E99F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E99FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027E9A00 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9A00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027E9A00 */ if (_t15) goto L_027E9A04; else goto L_027E9A30;
|
|
L_027E9A04: ; // 0x27e9a04
|
|
/* 027E9A04 */ _t16 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E9A08 */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 027E9A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027E9A0C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E9A10 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A10 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027E9A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027E9A18 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E9A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027E9A1C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9A1C */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E9A1C */ if (_t21) goto L_027E9A28; else goto L_027E9A20;
|
|
L_027E9A20: ; // 0x27e9a20
|
|
/* 027E9A20 */ cpu->r[10] = 0x00000000u;
|
|
/* 027E9A24 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 027E9A24 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
L_027E9A28: ; // 0x27e9a28
|
|
/* 027E9A28 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027E9A2C */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027E9A2C */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
L_027E9A30: ; // 0x27e9a30
|
|
/* 027E9A30 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027E9A34 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027E9A38 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9A40 */ cpu->r[3] = 0x00000001u;
|
|
/* 027E9A44 */ return;
|
|
L_027E9A48: ; // 0x27e9a48
|
|
/* 027E9A48 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027E9A4C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E9A50 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9A58 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9A5C */ return;
|
|
}
|
|
|
|
// fn_027E9A60 @ 0x27e9a60
|
|
void Gambit_fn_027E9A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E9A60: ; // 0x27e9a60
|
|
/* 027E9A60 */ cpu->r[0] = cpu->lr;
|
|
/* 027E9A64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E9A64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9A64 */ cpu->r[1] = _t0;
|
|
/* 027E9A68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E9A6C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E9A70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9A74 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E9A78 */ Gambit_fn_027E99AC(cpu);
|
|
/* 027E9A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9A80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9A80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E9A80 */ if (_t4) goto L_027E9AA4; else goto L_027E9A84;
|
|
L_027E9A84: ; // 0x27e9a84
|
|
/* 027E9A84 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E9A88 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027E9A88 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E9A8C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E9A90 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E9A94 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9A9C */ cpu->r[3] = 0x00000001u;
|
|
/* 027E9AA0 */ return;
|
|
L_027E9AA4: ; // 0x27e9aa4
|
|
/* 027E9AA4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E9AA8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E9AAC */ cpu->lr = cpu->r[0];
|
|
/* 027E9AB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9AB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9AB8 */ return;
|
|
}
|
|
|
|
// fn_027E9A64 @ 0x27e9a64
|
|
void Gambit_fn_027E9A64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027E9A64: ; // 0x27e9a64
|
|
/* 027E9A64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027E9A64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9A64 */ cpu->r[1] = _t0;
|
|
/* 027E9A68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E9A6C */ cpu->r[31] = cpu->r[4];
|
|
/* 027E9A70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9A74 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9A74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027E9A78 */ Gambit_fn_027E99AC(cpu);
|
|
/* 027E9A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9A80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9A80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027E9A80 */ if (_t4) goto L_027E9AA4; else goto L_027E9A84;
|
|
L_027E9A84: ; // 0x27e9a84
|
|
/* 027E9A84 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E9A88 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027E9A88 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E9A8C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E9A90 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9A90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027E9A94 */ cpu->lr = cpu->r[0];
|
|
/* 027E9A98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9A9C */ cpu->r[3] = 0x00000001u;
|
|
/* 027E9AA0 */ return;
|
|
L_027E9AA4: ; // 0x27e9aa4
|
|
/* 027E9AA4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027E9AA8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9AA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027E9AAC */ cpu->lr = cpu->r[0];
|
|
/* 027E9AB0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9AB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9AB8 */ return;
|
|
}
|
|
|
|
// fn_027E9ABC @ 0x27e9abc
|
|
void Gambit_fn_027E9ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027E9ABC: ; // 0x27e9abc
|
|
/* 027E9ABC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E9ABC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027E9AC0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 027E9AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027E9AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 027E9AC8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9AC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E9AC8 */ if (_t3) goto L_027E9AD4; else goto L_027E9ACC;
|
|
L_027E9ACC: ; // 0x27e9acc
|
|
/* 027E9ACC */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9AD0 */ return;
|
|
L_027E9AD4: ; // 0x27e9ad4
|
|
/* 027E9AD4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 027E9AD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E9AD8 */ cpu->r[12] = cpu->r[9] + 0x00000001u;
|
|
/* 027E9ADC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 027E9ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027E9AE0 */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
/* 027E9AE4 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027E9AE4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027E9AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 027E9AEC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 027E9AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027E9AF0 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9AF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027E9AF0 */ if (_t9) goto L_027E9AF8; else goto L_027E9AF4;
|
|
L_027E9AF4: ; // 0x27e9af4
|
|
/* 027E9AF4 */ cpu->r[11] = cpu->r[11] - cpu->r[0];
|
|
L_027E9AF8: ; // 0x27e9af8
|
|
/* 027E9AF8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 027E9AFC */ cpu->r[3] = cpu->r[12] + cpu->r[10];
|
|
/* 027E9B00 */ return;
|
|
}
|
|
|
|
// fn_027E9B04 @ 0x27e9b04
|
|
void Gambit_fn_027E9B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E9B04: ; // 0x27e9b04
|
|
/* 027E9B04 */ cpu->r[0] = cpu->lr;
|
|
/* 027E9B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E9B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9B08 */ cpu->r[1] = _t0;
|
|
/* 027E9B0C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E9B10 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E9B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9B18 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E9B1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9B20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9B20 */ if (_t5) goto L_027E9B24; else goto L_027E9B34;
|
|
L_027E9B24: ; // 0x27e9b24
|
|
/* 027E9B24 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E9B28 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9B2C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9B30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E9B30 */ if (_t7) goto L_027E9B50; else goto L_027E9B34;
|
|
L_027E9B34: ; // 0x27e9b34
|
|
/* 027E9B34 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E9B38 */ Gambit_fn_027E9ABC(cpu);
|
|
/* 027E9B3C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E9B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9B40 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027E9B40 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 027E9B44 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E9B44 */ if (_t10) goto L_027E9B50; else goto L_027E9B48;
|
|
L_027E9B48: ; // 0x27e9b48
|
|
/* 027E9B48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9B4C */ rbrew_dispatch(cpu, 0x02d05db0u);
|
|
L_027E9B50: ; // 0x27e9b50
|
|
/* 027E9B50 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E9B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9B58 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E9B5C */ cpu->lr = cpu->r[0];
|
|
/* 027E9B60 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E9B64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9B68 */ return;
|
|
}
|
|
|
|
// fn_027E9B08 @ 0x27e9b08
|
|
void Gambit_fn_027E9B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E9B08: ; // 0x27e9b08
|
|
/* 027E9B08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E9B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9B08 */ cpu->r[1] = _t0;
|
|
/* 027E9B0C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027E9B10 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B10 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027E9B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9B18 */ cpu->r[30] = cpu->r[4];
|
|
/* 027E9B1C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9B20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9B20 */ if (_t5) goto L_027E9B24; else goto L_027E9B34;
|
|
L_027E9B24: ; // 0x27e9b24
|
|
/* 027E9B24 */ cpu->r[3] = 0x00000004u;
|
|
/* 027E9B28 */ Gambit_fn_02801A78(cpu);
|
|
/* 027E9B2C */ cpu->r[31] = cpu->r[3];
|
|
/* 027E9B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027E9B30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027E9B30 */ if (_t7) goto L_027E9B50; else goto L_027E9B34;
|
|
L_027E9B34: ; // 0x27e9b34
|
|
/* 027E9B34 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E9B38 */ Gambit_fn_027E9ABC(cpu);
|
|
/* 027E9B3C */ cpu->r[4] = cpu->r[3];
|
|
/* 027E9B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9B40 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027E9B40 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 027E9B44 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E9B44 */ if (_t10) goto L_027E9B50; else goto L_027E9B48;
|
|
L_027E9B48: ; // 0x27e9b48
|
|
/* 027E9B48 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9B4C */ rbrew_dispatch(cpu, 0x02d05db0u);
|
|
L_027E9B50: ; // 0x27e9b50
|
|
/* 027E9B50 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E9B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027E9B58 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E9B5C */ cpu->lr = cpu->r[0];
|
|
/* 027E9B60 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E9B64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9B68 */ return;
|
|
}
|
|
|
|
// fn_027E9B6C @ 0x27e9b6c
|
|
void Gambit_fn_027E9B6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E9B6C: ; // 0x27e9b6c
|
|
/* 027E9B6C */ cpu->r[0] = cpu->lr;
|
|
/* 027E9B70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E9B70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9B70 */ cpu->r[1] = _t0;
|
|
/* 027E9B74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E9B78 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E9B7C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E9B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E9B80 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E9B84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9B88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9B88 */ if (_t5) goto L_027E9BB0; else goto L_027E9B8C;
|
|
L_027E9B8C: ; // 0x27e9b8c
|
|
/* 027E9B8C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027E9B8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E9B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9B94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E9B94 */ if (_t8) goto L_027E9BA0; else goto L_027E9B98;
|
|
L_027E9B98: ; // 0x27e9b98
|
|
/* 027E9B98 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9B9C */ rbrew_dispatch(cpu, 0x02d05dc0u);
|
|
L_027E9BA0: ; // 0x27e9ba0
|
|
/* 027E9BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9BA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9BA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E9BA4 */ if (_t10) goto L_027E9BB0; else goto L_027E9BA8;
|
|
L_027E9BA8: ; // 0x27e9ba8
|
|
/* 027E9BA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E9BAC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E9BB0: ; // 0x27e9bb0
|
|
/* 027E9BB0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E9BB4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9BB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E9BB8 */ cpu->lr = cpu->r[0];
|
|
/* 027E9BBC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E9BC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9BC4 */ return;
|
|
}
|
|
|
|
// fn_027E9B70 @ 0x27e9b70
|
|
void Gambit_fn_027E9B70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027E9B70: ; // 0x27e9b70
|
|
/* 027E9B70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027E9B70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9B70 */ cpu->r[1] = _t0;
|
|
/* 027E9B74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9B74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027E9B78 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9B78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027E9B7C */ cpu->r[30] = cpu->r[3];
|
|
/* 027E9B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027E9B80 */ cpu->r[31] = cpu->r[4];
|
|
/* 027E9B84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9B84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027E9B88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027E9B88 */ if (_t5) goto L_027E9BB0; else goto L_027E9B8C;
|
|
L_027E9B8C: ; // 0x27e9b8c
|
|
/* 027E9B8C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027E9B8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027E9B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027E9B94 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9B94 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E9B94 */ if (_t8) goto L_027E9BA0; else goto L_027E9B98;
|
|
L_027E9B98: ; // 0x27e9b98
|
|
/* 027E9B98 */ cpu->r[3] = 0x00000000u;
|
|
/* 027E9B9C */ rbrew_dispatch(cpu, 0x02d05dc0u);
|
|
L_027E9BA0: ; // 0x27e9ba0
|
|
/* 027E9BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9BA4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9BA4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E9BA4 */ if (_t10) goto L_027E9BB0; else goto L_027E9BA8;
|
|
L_027E9BA8: ; // 0x27e9ba8
|
|
/* 027E9BA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027E9BAC */ Gambit_fn_02801BB0(cpu);
|
|
L_027E9BB0: ; // 0x27e9bb0
|
|
/* 027E9BB0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027E9BB4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9BB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027E9BB8 */ cpu->lr = cpu->r[0];
|
|
/* 027E9BBC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027E9BC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9BC4 */ return;
|
|
}
|
|
|
|
// fn_027E9BC8 @ 0x27e9bc8
|
|
void Gambit_fn_027E9BC8(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_027E9BC8: ; // 0x27e9bc8
|
|
/* 027E9BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027E9BCC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9BCC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027E9BCC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9BCC */ goto L_027E9BD0;
|
|
L_027E9BD0: ; // 0x27e9bd0
|
|
/* 027E9BD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027E9BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9BD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9BD4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027E9BD4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027E9BD4 */ goto L_027E9BD8;
|
|
L_027E9BD8: ; // 0x27e9bd8
|
|
/* 027E9BD8 */ 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_027E9BDC @ 0x27e9bdc
|
|
void Gambit_fn_027E9BDC(CPUState* cpu) {
|
|
L_027E9BDC: ; // 0x27e9bdc
|
|
/* 027E9BDC */ return;
|
|
}
|
|
|
|
// fn_027E9BE0 @ 0x27e9be0
|
|
void Gambit_fn_027E9BE0(CPUState* cpu) {
|
|
L_027E9BE0: ; // 0x27e9be0
|
|
/* 027E9BE0 */ return;
|
|
}
|
|
|
|
// fn_027E9BE4 @ 0x27e9be4
|
|
void Gambit_fn_027E9BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183;
|
|
|
|
L_027E9BE4: ; // 0x27e9be4
|
|
/* 027E9BE4 */ _t0 = cpu->r[1] + 0xFFFFFDA0u;
|
|
/* 027E9BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027E9BE4 */ cpu->r[1] = _t0;
|
|
/* 027E9BE8 */ /* nop */
|
|
/* 027E9BEC */ cpu->r[0] = cpu->lr;
|
|
/* 027E9BF0 */ _t1 = cpu->r[1] + 0x00000264u;
|
|
/* 027E9BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027E9BF4 */ cpu->r[29] = cpu->r[6];
|
|
/* 027E9BF8 */ cpu->r[23] = cpu->r[4];
|
|
/* 027E9BFC */ _t2 = cpu->r[23] + 0x00000004u;
|
|
/* 027E9BFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027E9C00 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 027E9C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027E9C04 */ cpu->r[27] = cpu->r[3];
|
|
/* 027E9C08 */ cpu->ctr = cpu->r[0];
|
|
/* 027E9C0C */ cpu->r[3] = cpu->r[23];
|
|
/* 027E9C10 */ cpu->r[28] = cpu->r[5];
|
|
/* 027E9C14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9C18 */ cpu->r[31] = 0x10110000u;
|
|
/* 027E9C1C */ _t4 = cpu->r[23] + 0x00000000u;
|
|
/* 027E9C1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027E9C20 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027E9C20 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027E9C24 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9C24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027E9C28 */ cpu->r[26] = 0x00000000u;
|
|
/* 027E9C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027E9C30 */ cpu->r[4] = 0x00080000u;
|
|
/* 027E9C34 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9C34 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027E9C34 */ if (_t8) goto L_027E9C5C; else goto L_027E9C38;
|
|
L_027E9C38: ; // 0x27e9c38
|
|
/* 027E9C38 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027E9C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[4]);
|
|
/* 027E9C40 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E9C44 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9C44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027E9C44 */ if (_t10) goto L_027E9C58; else goto L_027E9C48;
|
|
L_027E9C48: ; // 0x27e9c48
|
|
/* 027E9C48 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9C48 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027E9C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E9C50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9C50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027E9C50 */ if (_t13) goto L_027E9C54; else goto L_027E9C38;
|
|
L_027E9C54: ; // 0x27e9c54
|
|
/* 027E9C54 */ goto L_027E9C5C;
|
|
L_027E9C58: ; // 0x27e9c58
|
|
/* 027E9C58 */ cpu->r[26] = 0x00000000u;
|
|
L_027E9C5C: ; // 0x27e9c5c
|
|
/* 027E9C5C */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027E9C5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027E9C60 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 027E9C60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027E9C64 */ cpu->ctr = cpu->r[12];
|
|
/* 027E9C68 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E9C6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9C70 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 027E9C70 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027E9C74 */ _t17 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9C74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027E9C78 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E9C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E9C80 */ cpu->r[8] = 0x00080000u;
|
|
/* 027E9C84 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9C84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027E9C84 */ if (_t19) goto L_027E9CAC; else goto L_027E9C88;
|
|
L_027E9C88: ; // 0x27e9c88
|
|
/* 027E9C88 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E9C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027E9C90 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E9C94 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9C94 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027E9C94 */ if (_t21) goto L_027E9CA8; else goto L_027E9C98;
|
|
L_027E9C98: ; // 0x27e9c98
|
|
/* 027E9C98 */ _t22 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9C98 */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027E9C9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027E9CA0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9CA0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027E9CA0 */ if (_t24) goto L_027E9CA4; else goto L_027E9C88;
|
|
L_027E9CA4: ; // 0x27e9ca4
|
|
/* 027E9CA4 */ goto L_027E9CAC;
|
|
L_027E9CA8: ; // 0x27e9ca8
|
|
/* 027E9CA8 */ cpu->r[30] = 0x00000000u;
|
|
L_027E9CAC: ; // 0x27e9cac
|
|
/* 027E9CAC */ cpu->r[25] = 0x10110000u;
|
|
/* 027E9CB0 */ cpu->r[26] = cpu->r[26] - cpu->r[30];
|
|
/* 027E9CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027E9CB4 */ cpu->r[25] = cpu->r[25] + 0xFFFFFF44u;
|
|
/* 027E9CB8 */ cpu->r[22] = cpu->r[26] + 0x00000001u;
|
|
/* 027E9CBC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9CBC */ _t26 = _t25 & 0x00000001u;
|
|
/* 027E9CBC */ if (_t26) goto L_027E9DC4; else goto L_027E9CC0;
|
|
L_027E9CC0: ; // 0x27e9cc0
|
|
/* 027E9CC0 */ cpu->r[24] = cpu->r[31];
|
|
L_027E9CC4: ; // 0x27e9cc4
|
|
/* 027E9CC4 */ _t27 = cpu->r[23] + 0x00000000u;
|
|
/* 027E9CC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027E9CC8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9CC8 */ rbrew_write32(cpu->mem, _t28, cpu->r[25]);
|
|
/* 027E9CCC */ cpu->r[5] = cpu->r[6] + cpu->r[26];
|
|
/* 027E9CD0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9CD4 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9CD4 */ rbrew_write32(cpu->mem, _t29, cpu->r[5]);
|
|
/* 027E9CD8 */ Gambit_fn_027EACB8(cpu);
|
|
/* 027E9CDC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027E9CDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027E9CE0 */ _t31 = cpu->r[7] + 0x00000014u;
|
|
/* 027E9CE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027E9CE4 */ cpu->ctr = cpu->r[8];
|
|
/* 027E9CE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027E9CEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9CF0 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 027E9CF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027E9CF4 */ _t33 = cpu->r[9] + 0x00000014u;
|
|
/* 027E9CF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027E9CF8 */ cpu->ctr = cpu->r[10];
|
|
/* 027E9CFC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9CFC */ cpu->r[21] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027E9D00 */ cpu->r[3] = cpu->r[29];
|
|
/* 027E9D04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9D08 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 027E9D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027E9D0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[11]);
|
|
/* 027E9D10 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9D10 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027E9D10 */ if (_t37) goto L_027E9D68; else goto L_027E9D14;
|
|
L_027E9D14: ; // 0x27e9d14
|
|
/* 027E9D14 */ cpu->r[0] = cpu->r[30];
|
|
/* 027E9D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027E9D18 */ cpu->r[5] = 0x00000000u;
|
|
/* 027E9D1C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9D1C */ _t39 = _t38 & 0x00000001u;
|
|
/* 027E9D1C */ if (_t39) goto L_027E9D20; else goto L_027E9D68;
|
|
L_027E9D20: ; // 0x27e9d20
|
|
/* 027E9D20 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 027E9D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027E9D24 */ cpu->ctr = cpu->r[0];
|
|
/* 027E9D28 */ _t41 = cpu->r[29] + 0x00000000u;
|
|
/* 027E9D28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
L_027E9D2C: ; // 0x27e9d2c
|
|
/* 027E9D2C */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 027E9D2C */ cpu->r[10] = rbrew_read8(cpu->mem, _t42);
|
|
/* 027E9D30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 027E9D34 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9D34 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027E9D34 */ if (_t44) goto L_027E9D38; else goto L_027E9D48;
|
|
L_027E9D38: ; // 0x27e9d38
|
|
/* 027E9D38 */ _t45 = cpu->r[6] + cpu->r[5];
|
|
/* 027E9D38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t45);
|
|
/* 027E9D3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 027E9D40 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9D40 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027E9D40 */ if (_t47) goto L_027E9D44; else goto L_027E9DB8;
|
|
L_027E9D44: ; // 0x27e9d44
|
|
/* 027E9D44 */ goto L_027E9D68;
|
|
L_027E9D48: ; // 0x27e9d48
|
|
/* 027E9D48 */ _t48 = cpu->r[6] + cpu->r[5];
|
|
/* 027E9D48 */ cpu->r[7] = rbrew_read8(cpu->mem, _t48);
|
|
/* 027E9D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 027E9D50 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9D50 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027E9D50 */ if (_t50) goto L_027E9DB8; else goto L_027E9D54;
|
|
L_027E9D54: ; // 0x27e9d54
|
|
/* 027E9D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 027E9D58 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9D58 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027E9D58 */ if (_t52) goto L_027E9D5C; else goto L_027E9DB8;
|
|
L_027E9D5C: ; // 0x27e9d5c
|
|
/* 027E9D5C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E9D60 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027E9D64 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027E9D64 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027E9D64 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 027E9D64 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027E9D64 */ if (_t55) goto L_027E9D2C; else goto L_027E9D68;
|
|
L_027E9D68: ; // 0x27e9d68
|
|
/* 027E9D68 */ _t56 = cpu->r[1] + 0x00000123u;
|
|
/* 027E9D68 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[31]);
|
|
/* 027E9D6C */ cpu->r[24] = 0x10110000u;
|
|
/* 027E9D70 */ cpu->r[0] = 0x00000100u;
|
|
/* 027E9D74 */ _t57 = cpu->r[23] + 0x00000004u;
|
|
/* 027E9D74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027E9D78 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFA4u;
|
|
/* 027E9D7C */ _t58 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9D7C */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027E9D80 */ cpu->r[22] = cpu->r[1] + 0x00000024u;
|
|
/* 027E9D84 */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9D84 */ rbrew_write32(cpu->mem, _t59, cpu->r[24]);
|
|
/* 027E9D88 */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9D88 */ rbrew_write32(cpu->mem, _t60, cpu->r[22]);
|
|
/* 027E9D8C */ _t61 = cpu->r[5] + 0x00000014u;
|
|
/* 027E9D8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027E9D90 */ cpu->ctr = cpu->r[6];
|
|
/* 027E9D94 */ cpu->r[3] = cpu->r[23];
|
|
/* 027E9D98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9D9C */ _t62 = cpu->r[23] + 0x00000000u;
|
|
/* 027E9D9C */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027E9DA0 */ _t63 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9DA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027E9DA4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E9DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E9DAC */ cpu->r[8] = 0x00080000u;
|
|
/* 027E9DB0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9DB0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027E9DB0 */ if (_t65) goto L_027E9DB4; else goto L_027E9E14;
|
|
L_027E9DB4: ; // 0x27e9db4
|
|
/* 027E9DB4 */ goto L_027E9E38;
|
|
L_027E9DB8: ; // 0x27e9db8
|
|
/* 027E9DB8 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 027E9DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 027E9DBC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027E9DC0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9DC0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027E9DC0 */ if (_t67) goto L_027E9DC4; else goto L_027E9CC4;
|
|
L_027E9DC4: ; // 0x27e9dc4
|
|
/* 027E9DC4 */ _t68 = cpu->r[1] + 0x00000123u;
|
|
/* 027E9DC4 */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[31]);
|
|
/* 027E9DC8 */ cpu->r[24] = 0x10110000u;
|
|
/* 027E9DCC */ cpu->r[0] = 0x00000100u;
|
|
/* 027E9DD0 */ _t69 = cpu->r[23] + 0x00000004u;
|
|
/* 027E9DD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027E9DD4 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFA4u;
|
|
/* 027E9DD8 */ _t70 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9DD8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 027E9DDC */ cpu->r[22] = cpu->r[1] + 0x00000024u;
|
|
/* 027E9DE0 */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9DE0 */ rbrew_write32(cpu->mem, _t71, cpu->r[24]);
|
|
/* 027E9DE4 */ _t72 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9DE4 */ rbrew_write32(cpu->mem, _t72, cpu->r[22]);
|
|
/* 027E9DE8 */ _t73 = cpu->r[5] + 0x00000014u;
|
|
/* 027E9DE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027E9DEC */ cpu->ctr = cpu->r[6];
|
|
/* 027E9DF0 */ cpu->r[3] = cpu->r[23];
|
|
/* 027E9DF4 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
/* 027E9DF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9DFC */ _t74 = cpu->r[23] + 0x00000000u;
|
|
/* 027E9DFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027E9E00 */ _t75 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9E00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 027E9E04 */ cpu->r[30] = 0x00000000u;
|
|
/* 027E9E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027E9E0C */ cpu->r[8] = 0x00080000u;
|
|
/* 027E9E10 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9E10 */ _t77 = _t76 & 0x00000001u;
|
|
/* 027E9E10 */ if (_t77) goto L_027E9DB4; else goto L_027E9E14;
|
|
L_027E9E14: ; // 0x27e9e14
|
|
/* 027E9E14 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027E9E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027E9E1C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E9E20 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9E20 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027E9E20 */ if (_t79) goto L_027E9E34; else goto L_027E9E24;
|
|
L_027E9E24: ; // 0x27e9e24
|
|
/* 027E9E24 */ _t80 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9E24 */ cpu->r[10] = rbrew_read8(cpu->mem, _t80);
|
|
/* 027E9E28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E9E2C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9E2C */ _t82 = _t81 & 0x00000001u;
|
|
/* 027E9E2C */ if (_t82) goto L_027E9E30; else goto L_027E9E14;
|
|
L_027E9E30: ; // 0x27e9e30
|
|
/* 027E9E30 */ goto L_027E9E38;
|
|
L_027E9E34: ; // 0x27e9e34
|
|
/* 027E9E34 */ cpu->r[30] = 0x00000000u;
|
|
L_027E9E38: ; // 0x27e9e38
|
|
/* 027E9E38 */ _t83 = cpu->r[1] + 0x00000020u;
|
|
/* 027E9E38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027E9E3C */ _t84 = cpu->r[23] + 0x00000004u;
|
|
/* 027E9E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027E9E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 027E9E44 */ _t85 = cpu->r[11] + 0x00000014u;
|
|
/* 027E9E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027E9E48 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9E48 */ _t87 = _t86 & 0x00000001u;
|
|
/* 027E9E48 */ if (_t87) goto L_027E9E50; else goto L_027E9E4C;
|
|
L_027E9E4C: ; // 0x27e9e4c
|
|
/* 027E9E4C */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_027E9E50: ; // 0x27e9e50
|
|
/* 027E9E50 */ cpu->ctr = cpu->r[0];
|
|
/* 027E9E54 */ cpu->r[3] = cpu->r[23];
|
|
/* 027E9E58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9E5C */ _t88 = cpu->r[23] + 0x00000000u;
|
|
/* 027E9E5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027E9E60 */ cpu->r[3] = cpu->r[22];
|
|
/* 027E9E64 */ cpu->r[5] = cpu->r[30];
|
|
/* 027E9E68 */ cpu->r[6] = 0x00000000u;
|
|
/* 027E9E6C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027E9E70 */ _t89 = cpu->r[22] + cpu->r[30];
|
|
/* 027E9E70 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
|
|
/* 027E9E74 */ cpu->r[30] = 0x10110000u;
|
|
/* 027E9E78 */ _t90 = cpu->r[29] + 0x00000004u;
|
|
/* 027E9E78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027E9E7C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFBCu;
|
|
/* 027E9E80 */ _t91 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9E80 */ rbrew_write32(cpu->mem, _t91, cpu->r[30]);
|
|
/* 027E9E84 */ _t92 = cpu->r[9] + 0x00000014u;
|
|
/* 027E9E84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027E9E88 */ cpu->ctr = cpu->r[10];
|
|
/* 027E9E8C */ cpu->r[3] = cpu->r[29];
|
|
/* 027E9E90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9E94 */ _t93 = cpu->r[29] + 0x00000000u;
|
|
/* 027E9E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027E9E98 */ _t94 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9E98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t94);
|
|
/* 027E9E9C */ cpu->r[10] = 0x00000000u;
|
|
/* 027E9EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 027E9EA4 */ cpu->r[0] = 0x00080000u;
|
|
/* 027E9EA8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9EA8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027E9EA8 */ if (_t96) goto L_027E9ED0; else goto L_027E9EAC;
|
|
L_027E9EAC: ; // 0x27e9eac
|
|
/* 027E9EAC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027E9EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 027E9EB4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E9EB8 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9EB8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027E9EB8 */ if (_t98) goto L_027E9ECC; else goto L_027E9EBC;
|
|
L_027E9EBC: ; // 0x27e9ebc
|
|
/* 027E9EBC */ _t99 = cpu->r[11] + 0x00000000u;
|
|
/* 027E9EBC */ cpu->r[4] = rbrew_read8(cpu->mem, _t99);
|
|
/* 027E9EC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027E9EC4 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9EC4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 027E9EC4 */ if (_t101) goto L_027E9EC8; else goto L_027E9EAC;
|
|
L_027E9EC8: ; // 0x27e9ec8
|
|
/* 027E9EC8 */ goto L_027E9ED0;
|
|
L_027E9ECC: ; // 0x27e9ecc
|
|
/* 027E9ECC */ cpu->r[10] = 0x00000000u;
|
|
L_027E9ED0: ; // 0x27e9ed0
|
|
/* 027E9ED0 */ _t102 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027E9ED0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027E9ED4 */ _t103 = cpu->r[5] + 0x00000014u;
|
|
/* 027E9ED4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 027E9ED8 */ cpu->ctr = cpu->r[7];
|
|
/* 027E9EDC */ cpu->r[23] = cpu->r[26] + cpu->r[10];
|
|
/* 027E9EE0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027E9EE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027E9EE8 */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 027E9EE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027E9EEC */ cpu->r[6] = cpu->r[8];
|
|
/* 027E9EF0 */ _t105 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9EF0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t105);
|
|
/* 027E9EF4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027E9EF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027E9EFC */ cpu->r[7] = 0x00080000u;
|
|
/* 027E9F00 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9F00 */ _t107 = _t106 & 0x00000001u;
|
|
/* 027E9F00 */ if (_t107) goto L_027E9F28; else goto L_027E9F04;
|
|
L_027E9F04: ; // 0x27e9f04
|
|
/* 027E9F04 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027E9F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[7]);
|
|
/* 027E9F0C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027E9F10 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9F10 */ _t109 = _t108 & 0x00000001u;
|
|
/* 027E9F10 */ if (_t109) goto L_027E9F24; else goto L_027E9F14;
|
|
L_027E9F14: ; // 0x27e9f14
|
|
/* 027E9F14 */ _t110 = cpu->r[6] + 0x00000000u;
|
|
/* 027E9F14 */ cpu->r[10] = rbrew_read8(cpu->mem, _t110);
|
|
/* 027E9F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027E9F1C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9F1C */ _t112 = _t111 & 0x00000001u;
|
|
/* 027E9F1C */ if (_t112) goto L_027E9F20; else goto L_027E9F04;
|
|
L_027E9F20: ; // 0x27e9f20
|
|
/* 027E9F20 */ goto L_027E9F28;
|
|
L_027E9F24: ; // 0x27e9f24
|
|
/* 027E9F24 */ cpu->r[11] = 0x00000000u;
|
|
L_027E9F28: ; // 0x27e9f28
|
|
/* 027E9F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027E9F2C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9F2C */ _t114 = _t113 & 0x00000001u;
|
|
/* 027E9F2C */ if (_t114) goto L_027E9F38; else goto L_027E9F30;
|
|
L_027E9F30: ; // 0x27e9f30
|
|
/* 027E9F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[11]);
|
|
/* 027E9F34 */ _t115 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9F34 */ _t116 = _t115 & 0x00000001u;
|
|
/* 027E9F34 */ if (_t116) goto L_027E9F38; else goto L_027E9F84;
|
|
L_027E9F38: ; // 0x27e9f38
|
|
/* 027E9F38 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027E9F3C */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9F3C */ rbrew_write32(cpu->mem, _t117, cpu->r[25]);
|
|
/* 027E9F40 */ _t118 = cpu->r[12] + 0x000066E8u;
|
|
/* 027E9F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 027E9F44 */ cpu->r[0] = 0x00000100u;
|
|
/* 027E9F48 */ _t119 = cpu->r[1] + 0x00000128u;
|
|
/* 027E9F48 */ rbrew_write32(cpu->mem, _t119, cpu->r[24]);
|
|
/* 027E9F4C */ _t120 = cpu->r[1] + 0x0000022Fu;
|
|
/* 027E9F4C */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[31]);
|
|
/* 027E9F50 */ cpu->r[23] = cpu->r[1] + 0x00000130u;
|
|
/* 027E9F54 */ _t121 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E9F54 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 027E9F58 */ _t122 = cpu->r[1] + 0x00000124u;
|
|
/* 027E9F58 */ rbrew_write32(cpu->mem, _t122, cpu->r[23]);
|
|
/* 027E9F5C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9F60 */ _t123 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9F60 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 027E9F64 */ Gambit_fn_027EACB8(cpu);
|
|
/* 027E9F68 */ _t124 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9F68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027E9F6C */ _t125 = cpu->r[12] + 0x00000000u;
|
|
/* 027E9F6C */ cpu->r[4] = rbrew_read8(cpu->mem, _t125);
|
|
/* 027E9F70 */ cpu->r[25] = 0x00000000u;
|
|
/* 027E9F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027E9F78 */ cpu->r[4] = 0x00080000u;
|
|
/* 027E9F7C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9F7C */ _t127 = _t126 & 0x00000001u;
|
|
/* 027E9F7C */ if (_t127) goto L_027E9F80; else goto L_027E9FC8;
|
|
L_027E9F80: ; // 0x27e9f80
|
|
/* 027E9F80 */ goto L_027E9FEC;
|
|
L_027E9F84: ; // 0x27e9f84
|
|
/* 027E9F84 */ _t128 = cpu->r[1] + 0x00000128u;
|
|
/* 027E9F84 */ rbrew_write32(cpu->mem, _t128, cpu->r[24]);
|
|
/* 027E9F88 */ cpu->r[0] = 0x00000100u;
|
|
/* 027E9F8C */ _t129 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9F8C */ rbrew_write32(cpu->mem, _t129, cpu->r[25]);
|
|
/* 027E9F90 */ cpu->r[12] = cpu->r[8] + cpu->r[23];
|
|
/* 027E9F94 */ _t130 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E9F94 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]);
|
|
/* 027E9F98 */ cpu->r[23] = cpu->r[1] + 0x00000130u;
|
|
/* 027E9F9C */ _t131 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9F9C */ rbrew_write32(cpu->mem, _t131, cpu->r[12]);
|
|
/* 027E9FA0 */ _t132 = cpu->r[1] + 0x00000124u;
|
|
/* 027E9FA0 */ rbrew_write32(cpu->mem, _t132, cpu->r[23]);
|
|
/* 027E9FA4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027E9FA8 */ _t133 = cpu->r[1] + 0x0000022Fu;
|
|
/* 027E9FA8 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[31]);
|
|
/* 027E9FAC */ Gambit_fn_027EACB8(cpu);
|
|
/* 027E9FB0 */ _t134 = cpu->r[1] + 0x00000010u;
|
|
/* 027E9FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134);
|
|
/* 027E9FB4 */ _t135 = cpu->r[12] + 0x00000000u;
|
|
/* 027E9FB4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t135);
|
|
/* 027E9FB8 */ cpu->r[25] = 0x00000000u;
|
|
/* 027E9FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027E9FC0 */ cpu->r[4] = 0x00080000u;
|
|
/* 027E9FC4 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9FC4 */ _t137 = _t136 & 0x00000001u;
|
|
/* 027E9FC4 */ if (_t137) goto L_027E9F80; else goto L_027E9FC8;
|
|
L_027E9FC8: ; // 0x27e9fc8
|
|
/* 027E9FC8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027E9FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[4]);
|
|
/* 027E9FD0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027E9FD4 */ _t138 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027E9FD4 */ _t139 = _t138 & 0x00000001u;
|
|
/* 027E9FD4 */ if (_t139) goto L_027E9FE8; else goto L_027E9FD8;
|
|
L_027E9FD8: ; // 0x27e9fd8
|
|
/* 027E9FD8 */ _t140 = cpu->r[12] + 0x00000000u;
|
|
/* 027E9FD8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t140);
|
|
/* 027E9FDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027E9FE0 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027E9FE0 */ _t142 = _t141 & 0x00000001u;
|
|
/* 027E9FE0 */ if (_t142) goto L_027E9FE4; else goto L_027E9FC8;
|
|
L_027E9FE4: ; // 0x27e9fe4
|
|
/* 027E9FE4 */ goto L_027E9FEC;
|
|
L_027E9FE8: ; // 0x27e9fe8
|
|
/* 027E9FE8 */ cpu->r[25] = 0x00000000u;
|
|
L_027E9FEC: ; // 0x27e9fec
|
|
/* 027E9FEC */ _t143 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027E9FEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027E9FF0 */ _t144 = cpu->r[1] + 0x00000014u;
|
|
/* 027E9FF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t144);
|
|
/* 027E9FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[12]);
|
|
/* 027E9FF8 */ _t145 = cpu->r[7] + 0x00000014u;
|
|
/* 027E9FF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t145);
|
|
/* 027E9FFC */ _t146 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027E9FFC */ _t147 = _t146 & 0x00000001u;
|
|
/* 027E9FFC */ if (_t147) goto L_027EA004; else goto L_027EA000;
|
|
L_027EA000: ; // 0x27ea000
|
|
/* 027EA000 */ cpu->r[25] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027EA004: ; // 0x27ea004
|
|
/* 027EA004 */ cpu->ctr = cpu->r[9];
|
|
/* 027EA008 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA00C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA010 */ _t148 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA010 */ cpu->r[4] = rbrew_read32(cpu->mem, _t148);
|
|
/* 027EA014 */ cpu->r[6] = 0x00000000u;
|
|
/* 027EA018 */ cpu->r[5] = cpu->r[25];
|
|
/* 027EA01C */ cpu->r[3] = cpu->r[23];
|
|
/* 027EA020 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027EA024 */ _t149 = cpu->r[1] + 0x00000020u;
|
|
/* 027EA024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149);
|
|
/* 027EA028 */ _t150 = cpu->r[23] + cpu->r[25];
|
|
/* 027EA028 */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[31]);
|
|
/* 027EA02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]);
|
|
/* 027EA030 */ _t151 = cpu->r[1] + 0x00000128u;
|
|
/* 027EA030 */ rbrew_write32(cpu->mem, _t151, cpu->r[30]);
|
|
/* 027EA034 */ _t152 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EA034 */ _t153 = _t152 & 0x00000001u;
|
|
/* 027EA034 */ if (_t153) goto L_027EA084; else goto L_027EA038;
|
|
L_027EA038: ; // 0x27ea038
|
|
/* 027EA038 */ _t154 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 027EA03C */ _t155 = cpu->r[12] + 0x00000014u;
|
|
/* 027EA03C */ cpu->r[5] = rbrew_read32(cpu->mem, _t155);
|
|
/* 027EA040 */ cpu->ctr = cpu->r[5];
|
|
/* 027EA044 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA048 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA04C */ _t156 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA04C */ cpu->r[7] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027EA050 */ _t157 = cpu->r[7] + 0x00000000u;
|
|
/* 027EA050 */ cpu->r[6] = rbrew_read8(cpu->mem, _t157);
|
|
/* 027EA054 */ cpu->r[8] = 0x00000000u;
|
|
/* 027EA058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA05C */ cpu->r[9] = 0x00080000u;
|
|
/* 027EA060 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA060 */ _t159 = _t158 & 0x00000001u;
|
|
/* 027EA060 */ if (_t159) goto L_027EA098; else goto L_027EA064;
|
|
L_027EA064: ; // 0x27ea064
|
|
/* 027EA064 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027EA068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]);
|
|
/* 027EA06C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027EA070 */ _t160 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA070 */ _t161 = _t160 & 0x00000001u;
|
|
/* 027EA070 */ if (_t161) goto L_027EA098; else goto L_027EA074;
|
|
L_027EA074: ; // 0x27ea074
|
|
/* 027EA074 */ _t162 = cpu->r[7] + 0x00000000u;
|
|
/* 027EA074 */ cpu->r[6] = rbrew_read8(cpu->mem, _t162);
|
|
/* 027EA078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA07C */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA07C */ _t164 = _t163 & 0x00000001u;
|
|
/* 027EA07C */ if (_t164) goto L_027EA080; else goto L_027EA064;
|
|
L_027EA080: ; // 0x27ea080
|
|
/* 027EA080 */ goto L_027EA098;
|
|
L_027EA084: ; // 0x27ea084
|
|
/* 027EA084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027EA088 */ _t165 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA088 */ cpu->r[7] = rbrew_read32(cpu->mem, _t165);
|
|
/* 027EA08C */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EA08C */ _t167 = _t166 & 0x00000001u;
|
|
/* 027EA08C */ if (_t167) goto L_027EA090; else goto L_027EA094;
|
|
L_027EA090: ; // 0x27ea090
|
|
/* 027EA090 */ cpu->r[26] = 0x00000000u;
|
|
L_027EA094: ; // 0x27ea094
|
|
/* 027EA094 */ _t168 = cpu->r[7] + cpu->r[26];
|
|
/* 027EA094 */ rbrew_write8(cpu->mem, _t168, (uint8_t)cpu->r[31]);
|
|
L_027EA098: ; // 0x27ea098
|
|
/* 027EA098 */ _t169 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA098 */ cpu->r[8] = rbrew_read32(cpu->mem, _t169);
|
|
/* 027EA09C */ _t170 = cpu->r[8] + 0x00000014u;
|
|
/* 027EA09C */ cpu->r[9] = rbrew_read32(cpu->mem, _t170);
|
|
/* 027EA0A0 */ cpu->ctr = cpu->r[9];
|
|
/* 027EA0A4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA0A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA0AC */ _t171 = cpu->r[28] + 0x00000004u;
|
|
/* 027EA0AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t171);
|
|
/* 027EA0B0 */ _t172 = cpu->r[11] + 0x00000014u;
|
|
/* 027EA0B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t172);
|
|
/* 027EA0B4 */ cpu->ctr = cpu->r[0];
|
|
/* 027EA0B8 */ _t173 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA0B8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t173);
|
|
/* 027EA0BC */ cpu->r[3] = cpu->r[28];
|
|
/* 027EA0C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA0C4 */ _t174 = cpu->r[29] + 0x00000004u;
|
|
/* 027EA0C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t174);
|
|
/* 027EA0C8 */ _t175 = cpu->r[5] + 0x00000014u;
|
|
/* 027EA0C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t175);
|
|
/* 027EA0CC */ cpu->ctr = cpu->r[7];
|
|
/* 027EA0D0 */ _t176 = cpu->r[28] + 0x00000000u;
|
|
/* 027EA0D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t176);
|
|
/* 027EA0D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EA0D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA0DC */ _t177 = cpu->r[1] + 0x00000128u;
|
|
/* 027EA0DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t177);
|
|
/* 027EA0E0 */ _t178 = cpu->r[10] + 0x00000014u;
|
|
/* 027EA0E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 027EA0E4 */ cpu->ctr = cpu->r[0];
|
|
/* 027EA0E8 */ _t179 = cpu->r[29] + 0x00000000u;
|
|
/* 027EA0E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t179);
|
|
/* 027EA0EC */ cpu->r[3] = cpu->r[1] + 0x00000124u;
|
|
/* 027EA0F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA0F4 */ _t180 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA0F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t180);
|
|
/* 027EA0F8 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA0FC */ cpu->r[3] = cpu->r[27];
|
|
/* 027EA100 */ cpu->r[5] = cpu->r[26];
|
|
/* 027EA104 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFD4u;
|
|
/* 027EA108 */ cpu->r[7] = cpu->r[31];
|
|
/* 027EA10C */ cpu->r[6] = cpu->r[30];
|
|
/* 027EA110 */ _t181 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA110 */ _t182 = _t181 & 0x00000001u;
|
|
/* 027EA110 */ if (_t182) goto L_027EA114; // else: addr-0 trap, fall-through
|
|
L_027EA114: ; // 0x27ea114
|
|
/* 027EA114 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA118 */ /* nop */
|
|
/* 027EA11C */ _t183 = cpu->r[1] + 0x00000264u;
|
|
/* 027EA11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 027EA120 */ cpu->lr = cpu->r[0];
|
|
/* 027EA124 */ cpu->r[1] = cpu->r[1] + 0x00000260u;
|
|
/* 027EA128 */ return;
|
|
}
|
|
|
|
// fn_027EA12C @ 0x27ea12c
|
|
void Gambit_fn_027EA12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EA12C: ; // 0x27ea12c
|
|
/* 027EA12C */ cpu->r[0] = cpu->lr;
|
|
/* 027EA130 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EA134 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFE0u;
|
|
/* 027EA138 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA138 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA13C */ cpu->r[0] = 0x10110000u;
|
|
/* 027EA140 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA140 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA140 */ cpu->r[1] = _t1;
|
|
/* 027EA144 */ cpu->r[0] = cpu->r[0] + 0xFFFFFF44u;
|
|
/* 027EA148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA148 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 027EA14C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA150 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA150 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EA154 */ Gambit_fn_027E9BE4(cpu);
|
|
/* 027EA158 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA15C */ cpu->lr = cpu->r[0];
|
|
/* 027EA160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA164 */ return;
|
|
}
|
|
|
|
// fn_027EA140 @ 0x27ea140
|
|
void Gambit_fn_027EA140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027EA140: ; // 0x27ea140
|
|
/* 027EA140 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA140 */ cpu->r[1] = _t0;
|
|
/* 027EA144 */ cpu->r[0] = cpu->r[0] + 0xFFFFFF44u;
|
|
/* 027EA148 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA148 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027EA14C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA150 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA150 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EA154 */ Gambit_fn_027E9BE4(cpu);
|
|
/* 027EA158 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA15C */ cpu->lr = cpu->r[0];
|
|
/* 027EA160 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA164 */ return;
|
|
}
|
|
|
|
// fn_027EA168 @ 0x27ea168
|
|
void Gambit_fn_027EA168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027EA168: ; // 0x27ea168
|
|
/* 027EA168 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 027EA168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA168 */ cpu->r[1] = _t0;
|
|
/* 027EA16C */ /* nop */
|
|
/* 027EA170 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA174 */ cpu->r[26] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA178 */ _t1 = cpu->r[1] + 0x00000134u;
|
|
/* 027EA178 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EA17C */ cpu->r[29] = cpu->r[5];
|
|
/* 027EA180 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA180 */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 027EA184 */ cpu->r[0] = 0x00000100u;
|
|
/* 027EA188 */ cpu->r[10] = 0x10110000u;
|
|
/* 027EA18C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA18C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EA190 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFA4u;
|
|
/* 027EA194 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA194 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027EA198 */ cpu->r[28] = cpu->r[4];
|
|
/* 027EA19C */ cpu->r[31] = 0x10110000u;
|
|
/* 027EA1A0 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027EA1A0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EA1A4 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 027EA1A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA1A8 */ _t7 = cpu->r[1] + 0x00000117u;
|
|
/* 027EA1A8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 027EA1AC */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 027EA1AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EA1B0 */ cpu->r[27] = cpu->r[3];
|
|
/* 027EA1B4 */ cpu->ctr = cpu->r[12];
|
|
/* 027EA1B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027EA1BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA1C0 */ _t9 = cpu->r[28] + 0x00000000u;
|
|
/* 027EA1C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EA1C4 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA1C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027EA1C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EA1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027EA1D0 */ cpu->r[7] = 0x00080000u;
|
|
/* 027EA1D4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA1D4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EA1D4 */ if (_t12) goto L_027EA1FC; else goto L_027EA1D8;
|
|
L_027EA1D8: ; // 0x27ea1d8
|
|
/* 027EA1D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027EA1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 027EA1E0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027EA1E4 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA1E4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EA1E4 */ if (_t14) goto L_027EA1F8; else goto L_027EA1E8;
|
|
L_027EA1E8: ; // 0x27ea1e8
|
|
/* 027EA1E8 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA1E8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027EA1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA1F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA1F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027EA1F0 */ if (_t17) goto L_027EA1F4; else goto L_027EA1D8;
|
|
L_027EA1F4: ; // 0x27ea1f4
|
|
/* 027EA1F4 */ goto L_027EA1FC;
|
|
L_027EA1F8: ; // 0x27ea1f8
|
|
/* 027EA1F8 */ cpu->r[30] = 0x00000000u;
|
|
L_027EA1FC: ; // 0x27ea1fc
|
|
/* 027EA1FC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA1FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EA200 */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 027EA200 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EA204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 027EA208 */ _t20 = cpu->r[8] + 0x00000014u;
|
|
/* 027EA208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EA20C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EA20C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027EA20C */ if (_t22) goto L_027EA214; else goto L_027EA210;
|
|
L_027EA210: ; // 0x27ea210
|
|
/* 027EA210 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_027EA214: ; // 0x27ea214
|
|
/* 027EA214 */ cpu->ctr = cpu->r[0];
|
|
/* 027EA218 */ cpu->r[3] = cpu->r[28];
|
|
/* 027EA21C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA220 */ _t23 = cpu->r[28] + 0x00000000u;
|
|
/* 027EA220 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EA224 */ cpu->r[6] = 0x00000000u;
|
|
/* 027EA228 */ cpu->r[5] = cpu->r[30];
|
|
/* 027EA22C */ cpu->r[3] = cpu->r[26];
|
|
/* 027EA230 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027EA234 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EA238 */ _t24 = cpu->r[26] + cpu->r[30];
|
|
/* 027EA238 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 027EA23C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFBCu;
|
|
/* 027EA240 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA244 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA244 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 027EA248 */ Gambit_fn_027EACD0(cpu);
|
|
/* 027EA24C */ cpu->r[3] = 0x101D0000u;
|
|
/* 027EA250 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 027EA250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EA254 */ _t27 = cpu->r[3] + 0xFFFF9548u;
|
|
/* 027EA254 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EA258 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EA25C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA260 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA260 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 027EA264 */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA268 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA26C */ cpu->r[6] = cpu->r[3];
|
|
/* 027EA270 */ cpu->r[3] = cpu->r[27];
|
|
/* 027EA274 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFE4u;
|
|
/* 027EA278 */ cpu->r[5] = cpu->r[31];
|
|
/* 027EA27C */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA27C */ _t31 = _t30 & 0x00000001u;
|
|
/* 027EA27C */ if (_t31) goto L_027EA280; // else: addr-0 trap, fall-through
|
|
L_027EA280: ; // 0x27ea280
|
|
/* 027EA280 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA284 */ /* nop */
|
|
/* 027EA288 */ _t32 = cpu->r[1] + 0x00000134u;
|
|
/* 027EA288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EA28C */ cpu->lr = cpu->r[0];
|
|
/* 027EA290 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 027EA294 */ return;
|
|
}
|
|
|
|
// fn_027EA298 @ 0x27ea298
|
|
void Gambit_fn_027EA298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EA298: ; // 0x27ea298
|
|
/* 027EA298 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA29C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA29C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA2A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EA2A4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA2A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA2A4 */ cpu->r[1] = _t1;
|
|
/* 027EA2A8 */ _t2 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA2AC */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA2B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2B4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA2B8 */ Gambit_fn_027EA168(cpu);
|
|
/* 027EA2BC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA2C0 */ cpu->lr = cpu->r[0];
|
|
/* 027EA2C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA2C8 */ return;
|
|
}
|
|
|
|
// fn_027EA2A4 @ 0x27ea2a4
|
|
void Gambit_fn_027EA2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EA2A4: ; // 0x27ea2a4
|
|
/* 027EA2A4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA2A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA2A4 */ cpu->r[1] = _t0;
|
|
/* 027EA2A8 */ _t1 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA2A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EA2AC */ _t2 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA2B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2B4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EA2B8 */ Gambit_fn_027EA168(cpu);
|
|
/* 027EA2BC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA2C0 */ cpu->lr = cpu->r[0];
|
|
/* 027EA2C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA2C8 */ return;
|
|
}
|
|
|
|
// fn_027EA2CC @ 0x27ea2cc
|
|
void Gambit_fn_027EA2CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027EA2CC: ; // 0x27ea2cc
|
|
/* 027EA2CC */ cpu->r[0] = cpu->lr;
|
|
/* 027EA2D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EA2D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA2D0 */ cpu->r[1] = _t0;
|
|
/* 027EA2D4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA2D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027EA2D8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA2D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EA2DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EA2E0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027EA2E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA2E4 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 027EA2E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA2E8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027EA2EC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2EC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027EA2F0 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EA2F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EA2F8 */ _t8 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA2F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EA2FC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA300 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA300 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027EA304 */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA308 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EA30C */ _t10 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA30C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EA310 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA314 */ Gambit_fn_027D0E60(cpu);
|
|
/* 027EA318 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA31C */ cpu->r[6] = cpu->r[3];
|
|
/* 027EA320 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EA324 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFECu;
|
|
/* 027EA328 */ cpu->r[5] = cpu->r[30];
|
|
/* 027EA32C */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA32C */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EA32C */ if (_t12) goto L_027EA330; // else: addr-0 trap, fall-through
|
|
L_027EA330: ; // 0x27ea330
|
|
/* 027EA330 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA334 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EA338 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 027EA338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EA33C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EA340 */ cpu->lr = cpu->r[0];
|
|
/* 027EA344 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EA348 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EA34C */ return;
|
|
}
|
|
|
|
// fn_027EA2D0 @ 0x27ea2d0
|
|
void Gambit_fn_027EA2D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027EA2D0: ; // 0x27ea2d0
|
|
/* 027EA2D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EA2D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA2D0 */ cpu->r[1] = _t0;
|
|
/* 027EA2D4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA2D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027EA2D8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA2D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EA2DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EA2E0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027EA2E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA2E4 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 027EA2E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA2E8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027EA2EC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA2EC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027EA2F0 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EA2F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EA2F8 */ _t8 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA2F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EA2FC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA300 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA300 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027EA304 */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA308 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EA30C */ _t10 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA30C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EA310 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA314 */ Gambit_fn_027D0E60(cpu);
|
|
/* 027EA318 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA31C */ cpu->r[6] = cpu->r[3];
|
|
/* 027EA320 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EA324 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFECu;
|
|
/* 027EA328 */ cpu->r[5] = cpu->r[30];
|
|
/* 027EA32C */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA32C */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EA32C */ if (_t12) goto L_027EA330; // else: addr-0 trap, fall-through
|
|
L_027EA330: ; // 0x27ea330
|
|
/* 027EA330 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA334 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EA338 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 027EA338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EA33C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EA340 */ cpu->lr = cpu->r[0];
|
|
/* 027EA344 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EA348 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EA34C */ return;
|
|
}
|
|
|
|
// fn_027EA350 @ 0x27ea350
|
|
void Gambit_fn_027EA350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027EA350: ; // 0x27ea350
|
|
/* 027EA350 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA354 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA354 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA358 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EA35C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA35C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA35C */ cpu->r[1] = _t1;
|
|
/* 027EA360 */ _t2 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA364 */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA368 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA368 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA36C */ _t5 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA370 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA374 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA378 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA378 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA37C */ Gambit_fn_027EA2CC(cpu);
|
|
/* 027EA380 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EA384 */ cpu->lr = cpu->r[0];
|
|
/* 027EA388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA38C */ return;
|
|
}
|
|
|
|
// fn_027EA35C @ 0x27ea35c
|
|
void Gambit_fn_027EA35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EA35C: ; // 0x27ea35c
|
|
/* 027EA35C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA35C */ cpu->r[1] = _t0;
|
|
/* 027EA360 */ _t1 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EA364 */ _t2 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA368 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA368 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EA36C */ _t4 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA370 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA374 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA378 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA378 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EA37C */ Gambit_fn_027EA2CC(cpu);
|
|
/* 027EA380 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA384 */ cpu->lr = cpu->r[0];
|
|
/* 027EA388 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA38C */ return;
|
|
}
|
|
|
|
// fn_027EA390 @ 0x27ea390
|
|
void Gambit_fn_027EA390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_027EA390: ; // 0x27ea390
|
|
/* 027EA390 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 027EA390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA390 */ cpu->r[1] = _t0;
|
|
/* 027EA394 */ /* nop */
|
|
/* 027EA398 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA39C */ _t1 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027EA39C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EA3A0 */ cpu->r[29] = cpu->r[6];
|
|
/* 027EA3A4 */ cpu->r[25] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA3A8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA3A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 027EA3AC */ cpu->r[6] = 0x00000100u;
|
|
/* 027EA3B0 */ cpu->r[7] = 0x10110000u;
|
|
/* 027EA3B4 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA3B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 027EA3B8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFA4u;
|
|
/* 027EA3BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA3BC */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 027EA3C0 */ cpu->r[27] = cpu->r[4];
|
|
/* 027EA3C4 */ cpu->r[31] = 0x10110000u;
|
|
/* 027EA3C8 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027EA3C8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EA3CC */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 027EA3CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA3D0 */ _t7 = cpu->r[1] + 0x0000011Bu;
|
|
/* 027EA3D0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 027EA3D4 */ _t8 = cpu->r[8] + 0x00000014u;
|
|
/* 027EA3D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EA3D8 */ cpu->r[26] = cpu->r[3];
|
|
/* 027EA3DC */ cpu->ctr = cpu->r[9];
|
|
/* 027EA3E0 */ cpu->r[3] = cpu->r[27];
|
|
/* 027EA3E4 */ cpu->r[28] = cpu->r[5];
|
|
/* 027EA3E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA3EC */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 027EA3EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EA3F0 */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 027EA3F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027EA3F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EA3F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027EA3FC */ cpu->r[11] = 0x00080000u;
|
|
/* 027EA400 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA400 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EA400 */ if (_t12) goto L_027EA428; else goto L_027EA404;
|
|
L_027EA404: ; // 0x27ea404
|
|
/* 027EA404 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027EA408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 027EA40C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EA410 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA410 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EA410 */ if (_t14) goto L_027EA424; else goto L_027EA414;
|
|
L_027EA414: ; // 0x27ea414
|
|
/* 027EA414 */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 027EA414 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027EA418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027EA41C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA41C */ _t17 = _t16 & 0x00000001u;
|
|
/* 027EA41C */ if (_t17) goto L_027EA420; else goto L_027EA404;
|
|
L_027EA420: ; // 0x27ea420
|
|
/* 027EA420 */ goto L_027EA428;
|
|
L_027EA424: ; // 0x27ea424
|
|
/* 027EA424 */ cpu->r[30] = 0x00000000u;
|
|
L_027EA428: ; // 0x27ea428
|
|
/* 027EA428 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA428 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EA42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027EA430 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EA430 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EA430 */ if (_t20) goto L_027EA438; else goto L_027EA434;
|
|
L_027EA434: ; // 0x27ea434
|
|
/* 027EA434 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_027EA438: ; // 0x27ea438
|
|
/* 027EA438 */ _t21 = cpu->r[27] + 0x00000004u;
|
|
/* 027EA438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EA43C */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 027EA43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EA440 */ cpu->ctr = cpu->r[0];
|
|
/* 027EA444 */ cpu->r[3] = cpu->r[27];
|
|
/* 027EA448 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA44C */ _t23 = cpu->r[27] + 0x00000000u;
|
|
/* 027EA44C */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EA450 */ cpu->r[6] = 0x00000000u;
|
|
/* 027EA454 */ cpu->r[5] = cpu->r[30];
|
|
/* 027EA458 */ cpu->r[3] = cpu->r[25];
|
|
/* 027EA45C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027EA460 */ cpu->r[6] = 0x10110000u;
|
|
/* 027EA464 */ _t24 = cpu->r[25] + cpu->r[30];
|
|
/* 027EA464 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 027EA468 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFBCu;
|
|
/* 027EA46C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA470 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA470 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 027EA474 */ Gambit_fn_027EACD0(cpu);
|
|
/* 027EA478 */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 027EA478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EA47C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EA480 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EA484 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA484 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 027EA488 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 027EA488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EA48C */ _t30 = cpu->r[30] + 0xFFFF9548u;
|
|
/* 027EA48C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EA490 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA494 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA494 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 027EA498 */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA49C */ cpu->r[29] = cpu->r[3];
|
|
/* 027EA4A0 */ _t32 = cpu->r[30] + 0xFFFF9548u;
|
|
/* 027EA4A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EA4A4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA4A8 */ Gambit_fn_027D0E60(cpu);
|
|
/* 027EA4AC */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA4B0 */ cpu->r[7] = cpu->r[3];
|
|
/* 027EA4B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 027EA4B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EA4BC */ cpu->r[4] = cpu->r[4] + 0xFFFFFFF4u;
|
|
/* 027EA4C0 */ cpu->r[6] = cpu->r[29];
|
|
/* 027EA4C4 */ _t33 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA4C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EA4C4 */ if (_t34) goto L_027EA4C8; // else: addr-0 trap, fall-through
|
|
L_027EA4C8: ; // 0x27ea4c8
|
|
/* 027EA4C8 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA4CC */ /* nop */
|
|
/* 027EA4D0 */ _t35 = cpu->r[1] + 0x0000013Cu;
|
|
/* 027EA4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EA4D4 */ cpu->lr = cpu->r[0];
|
|
/* 027EA4D8 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 027EA4DC */ return;
|
|
}
|
|
|
|
// fn_027EA4E0 @ 0x27ea4e0
|
|
void Gambit_fn_027EA4E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027EA4E0: ; // 0x27ea4e0
|
|
/* 027EA4E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA4E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA4E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA4E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EA4EC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA4EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA4EC */ cpu->r[1] = _t1;
|
|
/* 027EA4F0 */ _t2 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA4F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA4F4 */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA4F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA4F8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA4F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027EA4FC */ _t5 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA500 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA504 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA508 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA50C */ Gambit_fn_027EA390(cpu);
|
|
/* 027EA510 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EA514 */ cpu->lr = cpu->r[0];
|
|
/* 027EA518 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA51C */ return;
|
|
}
|
|
|
|
// fn_027EA4EC @ 0x27ea4ec
|
|
void Gambit_fn_027EA4EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EA4EC: ; // 0x27ea4ec
|
|
/* 027EA4EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA4EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA4EC */ cpu->r[1] = _t0;
|
|
/* 027EA4F0 */ _t1 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA4F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EA4F4 */ _t2 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA4F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA4F8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA4F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 027EA4FC */ _t4 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA500 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA504 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA508 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA508 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EA50C */ Gambit_fn_027EA390(cpu);
|
|
/* 027EA510 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA510 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA514 */ cpu->lr = cpu->r[0];
|
|
/* 027EA518 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA51C */ return;
|
|
}
|
|
|
|
// fn_027EA520 @ 0x27ea520
|
|
void Gambit_fn_027EA520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027EA520: ; // 0x27ea520
|
|
/* 027EA520 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA524 */ _t0 = cpu->r[1] + 0xFFFFFEE0u;
|
|
/* 027EA524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA524 */ cpu->r[1] = _t0;
|
|
/* 027EA528 */ _t1 = cpu->r[1] + 0x00000118u;
|
|
/* 027EA528 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EA52C */ cpu->r[8] = 0x00000100u;
|
|
/* 027EA530 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA530 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 027EA534 */ _t3 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027EA534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EA538 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EA53C */ _t4 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA53C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA540 */ cpu->r[0] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA544 */ _t5 = cpu->r[12] + 0x00007399u;
|
|
/* 027EA544 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EA548 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EA54C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA54C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA550 */ cpu->r[0] = 0x10110000u;
|
|
/* 027EA554 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA554 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 027EA558 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFBCu;
|
|
/* 027EA55C */ _t8 = cpu->r[1] + 0x00000117u;
|
|
/* 027EA55C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027EA560 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA560 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027EA564 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027EA568 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EA56C */ cpu->r[31] = cpu->r[4];
|
|
/* 027EA570 */ _t11 = cpu->r[3] + 0xFFFF9548u;
|
|
/* 027EA570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EA574 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA578 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA578 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027EA57C */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA580 */ cpu->r[5] = cpu->r[3];
|
|
/* 027EA584 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA588 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA58C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 027EA590 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA590 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EA590 */ if (_t14) goto L_027EA594; // else: addr-0 trap, fall-through
|
|
L_027EA594: ; // 0x27ea594
|
|
/* 027EA594 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA598 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EA59C */ cpu->r[4] = cpu->r[31];
|
|
/* 027EA5A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA5A4 */ Gambit_fn_027EA12C(cpu);
|
|
/* 027EA5A8 */ _t15 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EA5AC */ _t16 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027EA5AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EA5B0 */ cpu->lr = cpu->r[0];
|
|
/* 027EA5B4 */ _t17 = cpu->r[1] + 0x00000118u;
|
|
/* 027EA5B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EA5B8 */ cpu->r[1] = cpu->r[1] + 0x00000120u;
|
|
/* 027EA5BC */ return;
|
|
}
|
|
|
|
// fn_027EA524 @ 0x27ea524
|
|
void Gambit_fn_027EA524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027EA524: ; // 0x27ea524
|
|
/* 027EA524 */ _t0 = cpu->r[1] + 0xFFFFFEE0u;
|
|
/* 027EA524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA524 */ cpu->r[1] = _t0;
|
|
/* 027EA528 */ _t1 = cpu->r[1] + 0x00000118u;
|
|
/* 027EA528 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EA52C */ cpu->r[8] = 0x00000100u;
|
|
/* 027EA530 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA530 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 027EA534 */ _t3 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027EA534 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EA538 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EA53C */ _t4 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA53C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA540 */ cpu->r[0] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA544 */ _t5 = cpu->r[12] + 0x00007399u;
|
|
/* 027EA544 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EA548 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EA54C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA54C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA550 */ cpu->r[0] = 0x10110000u;
|
|
/* 027EA554 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA554 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 027EA558 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFBCu;
|
|
/* 027EA55C */ _t8 = cpu->r[1] + 0x00000117u;
|
|
/* 027EA55C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 027EA560 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA560 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027EA564 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027EA568 */ _t10 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EA56C */ cpu->r[31] = cpu->r[4];
|
|
/* 027EA570 */ _t11 = cpu->r[3] + 0xFFFF9548u;
|
|
/* 027EA570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EA574 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA578 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA578 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 027EA57C */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA580 */ cpu->r[5] = cpu->r[3];
|
|
/* 027EA584 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA588 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA58C */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 027EA590 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA590 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EA590 */ if (_t14) goto L_027EA594; // else: addr-0 trap, fall-through
|
|
L_027EA594: ; // 0x27ea594
|
|
/* 027EA594 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA598 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EA59C */ cpu->r[4] = cpu->r[31];
|
|
/* 027EA5A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA5A4 */ Gambit_fn_027EA12C(cpu);
|
|
/* 027EA5A8 */ _t15 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA5A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EA5AC */ _t16 = cpu->r[1] + 0x0000011Cu;
|
|
/* 027EA5AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EA5B0 */ cpu->lr = cpu->r[0];
|
|
/* 027EA5B4 */ _t17 = cpu->r[1] + 0x00000118u;
|
|
/* 027EA5B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EA5B8 */ cpu->r[1] = cpu->r[1] + 0x00000120u;
|
|
/* 027EA5BC */ return;
|
|
}
|
|
|
|
// fn_027EA5C0 @ 0x27ea5c0
|
|
void Gambit_fn_027EA5C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EA5C0: ; // 0x27ea5c0
|
|
/* 027EA5C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA5C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA5C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EA5CC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA5CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA5CC */ cpu->r[1] = _t1;
|
|
/* 027EA5D0 */ _t2 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA5D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA5D4 */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA5D8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA5DC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA5DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EA5E0 */ Gambit_fn_027EA520(cpu);
|
|
/* 027EA5E4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA5E8 */ cpu->lr = cpu->r[0];
|
|
/* 027EA5EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA5F0 */ return;
|
|
}
|
|
|
|
// fn_027EA5CC @ 0x27ea5cc
|
|
void Gambit_fn_027EA5CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EA5CC: ; // 0x27ea5cc
|
|
/* 027EA5CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA5CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA5CC */ cpu->r[1] = _t0;
|
|
/* 027EA5D0 */ _t1 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA5D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EA5D4 */ _t2 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA5D8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA5DC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA5DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EA5E0 */ Gambit_fn_027EA520(cpu);
|
|
/* 027EA5E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA5E8 */ cpu->lr = cpu->r[0];
|
|
/* 027EA5EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA5F0 */ return;
|
|
}
|
|
|
|
// fn_027EA5F4 @ 0x27ea5f4
|
|
void Gambit_fn_027EA5F4(CPUState* cpu) {
|
|
uint32_t _t0, _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_027EA5F4: ; // 0x27ea5f4
|
|
/* 027EA5F4 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 027EA5F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA5F4 */ cpu->r[1] = _t0;
|
|
/* 027EA5F8 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA5FC */ _t1 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027EA600 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA604 */ _t2 = cpu->r[1] + 0x00000128u;
|
|
/* 027EA604 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EA608 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EA60C */ _t3 = cpu->r[1] + 0x00000120u;
|
|
/* 027EA60C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027EA610 */ cpu->r[8] = 0x00000100u;
|
|
/* 027EA614 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA614 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 027EA618 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027EA618 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027EA61C */ _t6 = cpu->r[1] + 0x00000134u;
|
|
/* 027EA61C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA620 */ _t7 = cpu->r[12] + 0x00007399u;
|
|
/* 027EA620 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EA624 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA624 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 027EA628 */ cpu->r[9] = 0x10110000u;
|
|
/* 027EA62C */ _t9 = cpu->r[1] + 0x0000011Bu;
|
|
/* 027EA62C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 027EA630 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFBCu;
|
|
/* 027EA634 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA634 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 027EA638 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA638 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EA63C */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA63C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EA640 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027EA644 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EA648 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA648 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 027EA64C */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 027EA64C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EA650 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EA654 */ _t15 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA654 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EA658 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA65C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA65C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027EA660 */ Gambit_fn_027D0D7C(cpu);
|
|
/* 027EA664 */ cpu->r[28] = cpu->r[3];
|
|
/* 027EA668 */ _t17 = cpu->r[29] + 0xFFFF9548u;
|
|
/* 027EA668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EA66C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA670 */ Gambit_fn_027D0E60(cpu);
|
|
/* 027EA674 */ cpu->r[4] = 0x10110000u;
|
|
/* 027EA678 */ cpu->r[6] = cpu->r[3];
|
|
/* 027EA67C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA680 */ cpu->r[4] = cpu->r[4] + 0x00000000u;
|
|
/* 027EA684 */ cpu->r[5] = cpu->r[28];
|
|
/* 027EA688 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027EA688 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EA688 */ if (_t19) goto L_027EA68C; // else: addr-0 trap, fall-through
|
|
L_027EA68C: ; // 0x27ea68c
|
|
/* 027EA68C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027EA690 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EA694 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EA698 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA69C */ Gambit_fn_027EA12C(cpu);
|
|
/* 027EA6A0 */ _t20 = cpu->r[1] + 0x00000120u;
|
|
/* 027EA6A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EA6A4 */ _t21 = cpu->r[1] + 0x00000124u;
|
|
/* 027EA6A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EA6A8 */ _t22 = cpu->r[1] + 0x00000134u;
|
|
/* 027EA6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EA6AC */ _t23 = cpu->r[1] + 0x00000128u;
|
|
/* 027EA6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EA6B0 */ cpu->lr = cpu->r[0];
|
|
/* 027EA6B4 */ _t24 = cpu->r[1] + 0x0000012Cu;
|
|
/* 027EA6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EA6B8 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 027EA6BC */ return;
|
|
}
|
|
|
|
// fn_027EA6C0 @ 0x27ea6c0
|
|
void Gambit_fn_027EA6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027EA6C0: ; // 0x27ea6c0
|
|
/* 027EA6C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA6C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EA6C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EA6C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EA6CC */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA6CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EA6CC */ cpu->r[1] = _t1;
|
|
/* 027EA6D0 */ _t2 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA6D4 */ _t3 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA6D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EA6D8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA6D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027EA6DC */ _t5 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EA6E0 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA6E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA6E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA6E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EA6EC */ Gambit_fn_027EA5F4(cpu);
|
|
/* 027EA6F0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EA6F4 */ cpu->lr = cpu->r[0];
|
|
/* 027EA6F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA6FC */ return;
|
|
}
|
|
|
|
// fn_027EA6CC @ 0x27ea6cc
|
|
void Gambit_fn_027EA6CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EA6CC: ; // 0x27ea6cc
|
|
/* 027EA6CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EA6CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA6CC */ cpu->r[1] = _t0;
|
|
/* 027EA6D0 */ _t1 = cpu->r[12] + 0xFFFF9548u;
|
|
/* 027EA6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EA6D4 */ _t2 = cpu->r[12] + 0x00000114u;
|
|
/* 027EA6D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EA6D8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA6D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 027EA6DC */ _t4 = cpu->r[12] + 0x00000118u;
|
|
/* 027EA6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA6E0 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA6E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA6E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA6E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EA6EC */ Gambit_fn_027EA5F4(cpu);
|
|
/* 027EA6F0 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA6F4 */ cpu->lr = cpu->r[0];
|
|
/* 027EA6F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EA6FC */ return;
|
|
}
|
|
|
|
// fn_027EA700 @ 0x27ea700
|
|
void Gambit_fn_027EA700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027EA700: ; // 0x27ea700
|
|
/* 027EA700 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 027EA700 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA700 */ cpu->r[1] = _t0;
|
|
/* 027EA704 */ /* nop */
|
|
/* 027EA708 */ cpu->r[7] = 0x10110000u;
|
|
/* 027EA70C */ cpu->r[0] = cpu->lr;
|
|
/* 027EA710 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 027EA710 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EA714 */ cpu->r[7] = cpu->r[7] + 0xFFFFFF8Cu;
|
|
/* 027EA718 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA718 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 027EA71C */ cpu->r[6] = 0x00000020u;
|
|
/* 027EA720 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA720 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 027EA724 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA728 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA728 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 027EA72C */ cpu->r[25] = 0x10110000u;
|
|
/* 027EA730 */ cpu->r[31] = 0x10110000u;
|
|
/* 027EA734 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 027EA734 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EA738 */ cpu->r[25] = cpu->r[25] + 0xFFFFFF44u;
|
|
/* 027EA73C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA740 */ cpu->r[26] = cpu->r[3];
|
|
/* 027EA744 */ _t6 = cpu->r[1] + 0x0000003Bu;
|
|
/* 027EA744 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 027EA748 */ cpu->r[3] = cpu->r[4];
|
|
/* 027EA74C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA74C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 027EA750 */ Gambit_fn_027EA4E0(cpu);
|
|
/* 027EA754 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 027EA754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EA758 */ _t9 = cpu->r[8] + 0x00000014u;
|
|
/* 027EA758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EA75C */ cpu->ctr = cpu->r[9];
|
|
/* 027EA760 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EA764 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA768 */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 027EA768 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EA76C */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 027EA76C */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027EA770 */ cpu->r[0] = 0x00080000u;
|
|
/* 027EA774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 027EA778 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EA77C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA77C */ _t13 = _t12 & 0x00000001u;
|
|
/* 027EA77C */ if (_t13) goto L_027EA7A4; else goto L_027EA780;
|
|
L_027EA780: ; // 0x27ea780
|
|
/* 027EA780 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027EA784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 027EA788 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027EA78C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA78C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EA78C */ if (_t15) goto L_027EA7A0; else goto L_027EA790;
|
|
L_027EA790: ; // 0x27ea790
|
|
/* 027EA790 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 027EA790 */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 027EA794 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 027EA798 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA798 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027EA798 */ if (_t18) goto L_027EA79C; else goto L_027EA780;
|
|
L_027EA79C: ; // 0x27ea79c
|
|
/* 027EA79C */ goto L_027EA7A4;
|
|
L_027EA7A0: ; // 0x27ea7a0
|
|
/* 027EA7A0 */ cpu->r[29] = 0x00000000u;
|
|
L_027EA7A4: ; // 0x27ea7a4
|
|
/* 027EA7A4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA7A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EA7A8 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 027EA7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EA7AC */ cpu->ctr = cpu->r[0];
|
|
/* 027EA7B0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA7B8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA7B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EA7BC */ _t22 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA7BC */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027EA7C0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EA7C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027EA7C8 */ cpu->r[0] = 0x00080000u;
|
|
/* 027EA7CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA7CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EA7CC */ if (_t24) goto L_027EA7F4; else goto L_027EA7D0;
|
|
L_027EA7D0: ; // 0x27ea7d0
|
|
/* 027EA7D0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027EA7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 027EA7D8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027EA7DC */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA7DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EA7DC */ if (_t26) goto L_027EA7F0; else goto L_027EA7E0;
|
|
L_027EA7E0: ; // 0x27ea7e0
|
|
/* 027EA7E0 */ _t27 = cpu->r[5] + 0x00000000u;
|
|
/* 027EA7E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t27);
|
|
/* 027EA7E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA7E8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA7E8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EA7E8 */ if (_t29) goto L_027EA7EC; else goto L_027EA7D0;
|
|
L_027EA7EC: ; // 0x27ea7ec
|
|
/* 027EA7EC */ goto L_027EA7F4;
|
|
L_027EA7F0: ; // 0x27ea7f0
|
|
/* 027EA7F0 */ cpu->r[30] = 0x00000000u;
|
|
L_027EA7F4: ; // 0x27ea7f4
|
|
/* 027EA7F4 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 027EA7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027EA7F8 */ cpu->r[24] = cpu->r[29] + 0x00000001u;
|
|
/* 027EA7FC */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EA7FC */ _t31 = _t30 & 0x00000001u;
|
|
/* 027EA7FC */ if (_t31) goto L_027EA8E0; else goto L_027EA800;
|
|
L_027EA800: ; // 0x27ea800
|
|
/* 027EA800 */ cpu->r[28] = cpu->r[31];
|
|
L_027EA804: ; // 0x27ea804
|
|
/* 027EA804 */ _t32 = cpu->r[26] + 0x00000000u;
|
|
/* 027EA804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EA808 */ cpu->r[27] = cpu->r[30];
|
|
/* 027EA80C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA80C */ rbrew_write32(cpu->mem, _t33, cpu->r[25]);
|
|
/* 027EA810 */ cpu->r[7] = cpu->r[8] + cpu->r[29];
|
|
/* 027EA814 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA818 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA818 */ rbrew_write32(cpu->mem, _t34, cpu->r[7]);
|
|
/* 027EA81C */ Gambit_fn_027EACB8(cpu);
|
|
/* 027EA820 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EA820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EA824 */ _t36 = cpu->r[9] + 0x00000014u;
|
|
/* 027EA824 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EA828 */ cpu->ctr = cpu->r[10];
|
|
/* 027EA82C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EA830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA834 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EA838 */ _t38 = cpu->r[11] + 0x00000014u;
|
|
/* 027EA838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EA83C */ cpu->ctr = cpu->r[0];
|
|
/* 027EA840 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA840 */ cpu->r[23] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EA844 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA84C */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA84C */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EA850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 027EA854 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA854 */ _t42 = _t41 & 0x00000001u;
|
|
/* 027EA854 */ if (_t42) goto L_027EA8F8; else goto L_027EA858;
|
|
L_027EA858: ; // 0x27ea858
|
|
/* 027EA858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027EA85C */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA85C */ _t44 = _t43 & 0x00000001u;
|
|
/* 027EA85C */ if (_t44) goto L_027EA860; else goto L_027EA8F8;
|
|
L_027EA860: ; // 0x27ea860
|
|
/* 027EA860 */ cpu->ctr = cpu->r[27];
|
|
/* 027EA864 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 027EA864 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
L_027EA868: ; // 0x27ea868
|
|
/* 027EA868 */ _t46 = cpu->r[4] + 0x00000000u;
|
|
/* 027EA868 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 027EA86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 027EA870 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA870 */ _t48 = _t47 & 0x00000001u;
|
|
/* 027EA870 */ if (_t48) goto L_027EA874; else goto L_027EA884;
|
|
L_027EA874: ; // 0x27ea874
|
|
/* 027EA874 */ _t49 = cpu->r[11] + 0x00000000u;
|
|
/* 027EA874 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 027EA878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 027EA87C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA87C */ _t51 = _t50 & 0x00000001u;
|
|
/* 027EA87C */ if (_t51) goto L_027EA880; else goto L_027EA8D4;
|
|
L_027EA880: ; // 0x27ea880
|
|
/* 027EA880 */ goto L_027EA8F8;
|
|
L_027EA884: ; // 0x27ea884
|
|
/* 027EA884 */ _t52 = cpu->r[11] + 0x00000000u;
|
|
/* 027EA884 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 027EA888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 027EA88C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA88C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027EA88C */ if (_t54) goto L_027EA8D4; else goto L_027EA890;
|
|
L_027EA890: ; // 0x27ea890
|
|
/* 027EA890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 027EA894 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA894 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027EA894 */ if (_t56) goto L_027EA898; else goto L_027EA8D4;
|
|
L_027EA898: ; // 0x27ea898
|
|
/* 027EA898 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EA89C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 027EA8A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027EA8A0 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027EA8A0 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 027EA8A0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027EA8A0 */ if (_t59) goto L_027EA868; else goto L_027EA8A4;
|
|
L_027EA8A4: ; // 0x27ea8a4
|
|
/* 027EA8A4 */ _t60 = cpu->r[26] + 0x00000004u;
|
|
/* 027EA8A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027EA8A8 */ _t61 = cpu->r[4] + 0x00000014u;
|
|
/* 027EA8A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027EA8AC */ cpu->ctr = cpu->r[5];
|
|
/* 027EA8B0 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EA8B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA8B8 */ _t62 = cpu->r[26] + 0x00000000u;
|
|
/* 027EA8B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027EA8BC */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 027EA8BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027EA8C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 027EA8C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA8C8 */ cpu->r[0] = 0x00080000u;
|
|
/* 027EA8CC */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA8CC */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EA8CC */ if (_t65) goto L_027EA8D0; else goto L_027EA924;
|
|
L_027EA8D0: ; // 0x27ea8d0
|
|
/* 027EA8D0 */ goto L_027EA948;
|
|
L_027EA8D4: ; // 0x27ea8d4
|
|
/* 027EA8D4 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 027EA8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027EA8D8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 027EA8DC */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA8DC */ _t67 = _t66 & 0x00000001u;
|
|
/* 027EA8DC */ if (_t67) goto L_027EA8E0; else goto L_027EA804;
|
|
L_027EA8E0: ; // 0x27ea8e0
|
|
/* 027EA8E0 */ /* nop */
|
|
/* 027EA8E4 */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 027EA8E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027EA8E8 */ cpu->lr = cpu->r[0];
|
|
/* 027EA8EC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 027EA8F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EA8F4 */ return;
|
|
L_027EA8F8: ; // 0x27ea8f8
|
|
/* 027EA8F8 */ _t69 = cpu->r[26] + 0x00000004u;
|
|
/* 027EA8F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027EA8FC */ _t70 = cpu->r[4] + 0x00000014u;
|
|
/* 027EA8FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027EA900 */ cpu->ctr = cpu->r[5];
|
|
/* 027EA904 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EA908 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EA90C */ _t71 = cpu->r[26] + 0x00000000u;
|
|
/* 027EA90C */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027EA910 */ _t72 = cpu->r[11] + 0x00000000u;
|
|
/* 027EA910 */ cpu->r[6] = rbrew_read8(cpu->mem, _t72);
|
|
/* 027EA914 */ cpu->r[12] = 0x00000000u;
|
|
/* 027EA918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 027EA91C */ cpu->r[0] = 0x00080000u;
|
|
/* 027EA920 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA920 */ _t74 = _t73 & 0x00000001u;
|
|
/* 027EA920 */ if (_t74) goto L_027EA948; else goto L_027EA924;
|
|
L_027EA924: ; // 0x27ea924
|
|
/* 027EA924 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027EA928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 027EA92C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EA930 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EA930 */ _t76 = _t75 & 0x00000001u;
|
|
/* 027EA930 */ if (_t76) goto L_027EA944; else goto L_027EA934;
|
|
L_027EA934: ; // 0x27ea934
|
|
/* 027EA934 */ _t77 = cpu->r[11] + 0x00000000u;
|
|
/* 027EA934 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77);
|
|
/* 027EA938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 027EA93C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EA93C */ _t79 = _t78 & 0x00000001u;
|
|
/* 027EA93C */ if (_t79) goto L_027EA940; else goto L_027EA924;
|
|
L_027EA940: ; // 0x27ea940
|
|
/* 027EA940 */ goto L_027EA948;
|
|
L_027EA944: ; // 0x27ea944
|
|
/* 027EA944 */ cpu->r[12] = 0x00000000u;
|
|
L_027EA948: ; // 0x27ea948
|
|
/* 027EA948 */ cpu->r[8] = cpu->r[12] - cpu->r[29];
|
|
/* 027EA94C */ /* nop */
|
|
/* 027EA950 */ cpu->r[9] = cpu->r[8] ^ 0x00000005u;
|
|
/* 027EA954 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 027EA958 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027EA95C */ _t80 = cpu->r[1] + 0x00000064u;
|
|
/* 027EA95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027EA960 */ cpu->lr = cpu->r[0];
|
|
/* 027EA964 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 027EA968 */ return;
|
|
}
|
|
|
|
// fn_027EA96C @ 0x27ea96c
|
|
void Gambit_fn_027EA96C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102;
|
|
|
|
L_027EA96C: ; // 0x27ea96c
|
|
/* 027EA96C */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 027EA96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EA96C */ cpu->r[1] = _t0;
|
|
/* 027EA970 */ /* nop */
|
|
/* 027EA974 */ cpu->r[0] = cpu->lr;
|
|
/* 027EA978 */ cpu->r[22] = 0x10110000u;
|
|
/* 027EA97C */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 027EA97C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EA980 */ cpu->r[26] = cpu->r[3];
|
|
/* 027EA984 */ cpu->r[6] = 0x10110000u;
|
|
/* 027EA988 */ cpu->r[16] = 0x00000000u;
|
|
/* 027EA98C */ cpu->r[28] = 0x00000006u;
|
|
/* 027EA990 */ cpu->r[23] = 0x10110000u;
|
|
/* 027EA994 */ cpu->r[22] = cpu->r[22] + 0xFFFFFF44u;
|
|
/* 027EA998 */ cpu->r[31] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EA99C */ _t2 = cpu->r[6] + 0x00007399u;
|
|
/* 027EA99C */ cpu->r[21] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EA9A0 */ cpu->r[23] = cpu->r[23] + 0xFFFFFF8Cu;
|
|
L_027EA9A4: ; // 0x27ea9a4
|
|
/* 027EA9A4 */ cpu->r[20] = 0x00000020u;
|
|
/* 027EA9A8 */ cpu->r[19] = cpu->r[1] + 0x00000044u;
|
|
/* 027EA9AC */ cpu->r[18] = cpu->r[1] + 0x00000048u;
|
|
/* 027EA9B0 */ cpu->r[30] = cpu->r[21];
|
|
/* 027EA9B4 */ cpu->r[27] = 0x0000000Cu;
|
|
/* 027EA9B8 */ cpu->r[17] = 0x00000000u;
|
|
L_027EA9BC: ; // 0x27ea9bc
|
|
/* 027EA9BC */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 027EA9BC */ rbrew_write32(cpu->mem, _t3, cpu->r[16]);
|
|
/* 027EA9C0 */ _t4 = cpu->r[19] + 0x00000000u;
|
|
/* 027EA9C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EA9C4 */ _t5 = cpu->r[1] + 0x00000048u;
|
|
/* 027EA9C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[17]);
|
|
/* 027EA9C8 */ _t6 = cpu->r[18] + 0x00000000u;
|
|
/* 027EA9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EA9CC */ _t7 = cpu->r[31] + 0x0000001Fu;
|
|
/* 027EA9CC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027EA9D0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027EA9D0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 027EA9D4 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EA9D8 */ _t9 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EA9D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027EA9DC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027EA9E0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027EA9E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 027EA9E4 */ cpu->r[3] = cpu->r[4];
|
|
/* 027EA9E8 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027EA9E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[20]);
|
|
/* 027EA9EC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EA9EC */ rbrew_write32(cpu->mem, _t12, cpu->r[23]);
|
|
/* 027EA9F0 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 027EA9F4 */ _t13 = cpu->r[1] + 0x00000040u;
|
|
/* 027EA9F4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027EA9F8 */ Gambit_fn_027EA390(cpu);
|
|
/* 027EA9FC */ _t14 = cpu->r[26] + 0x00000004u;
|
|
/* 027EA9FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EAA00 */ _t15 = cpu->r[7] + 0x00000014u;
|
|
/* 027EAA00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EAA04 */ cpu->ctr = cpu->r[10];
|
|
/* 027EAA08 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EAA0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAA10 */ _t16 = cpu->r[26] + 0x00000000u;
|
|
/* 027EAA10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EAA14 */ cpu->r[8] = cpu->r[30];
|
|
/* 027EAA18 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 027EAA18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027EAA1C */ cpu->r[0] = 0x00080000u;
|
|
/* 027EAA20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 027EAA24 */ cpu->r[9] = 0x00000000u;
|
|
/* 027EAA28 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAA28 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EAA28 */ if (_t19) goto L_027EAA88; else goto L_027EAA2C;
|
|
L_027EAA2C: ; // 0x27eaa2c
|
|
/* 027EAA2C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EAA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 027EAA34 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EAA38 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAA38 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EAA38 */ if (_t21) goto L_027EAA50; else goto L_027EAA3C;
|
|
L_027EAA3C: ; // 0x27eaa3c
|
|
/* 027EAA3C */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 027EAA3C */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 027EAA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 027EAA44 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAA44 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EAA44 */ if (_t24) goto L_027EAA48; else goto L_027EAA2C;
|
|
L_027EAA48: ; // 0x27eaa48
|
|
/* 027EAA48 */ cpu->r[24] = cpu->r[9];
|
|
/* 027EAA4C */ goto L_027EAA8C;
|
|
L_027EAA50: ; // 0x27eaa50
|
|
/* 027EAA50 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAA50 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EAA54 */ _t26 = cpu->r[5] + 0x00000014u;
|
|
/* 027EAA54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EAA58 */ cpu->ctr = cpu->r[6];
|
|
/* 027EAA5C */ cpu->r[24] = 0x00000000u;
|
|
/* 027EAA60 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAA64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAA68 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAA68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EAA6C */ cpu->r[7] = cpu->r[30];
|
|
/* 027EAA70 */ _t28 = cpu->r[6] + 0x00000000u;
|
|
/* 027EAA70 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 027EAA74 */ cpu->r[11] = cpu->r[24];
|
|
/* 027EAA78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027EAA7C */ cpu->r[8] = 0x00080000u;
|
|
/* 027EAA80 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAA80 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EAA80 */ if (_t30) goto L_027EAA84; else goto L_027EAABC;
|
|
L_027EAA84: ; // 0x27eaa84
|
|
/* 027EAA84 */ goto L_027EAAF4;
|
|
L_027EAA88: ; // 0x27eaa88
|
|
/* 027EAA88 */ cpu->r[24] = cpu->r[9];
|
|
L_027EAA8C: ; // 0x27eaa8c
|
|
/* 027EAA8C */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAA8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EAA90 */ _t32 = cpu->r[5] + 0x00000014u;
|
|
/* 027EAA90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EAA94 */ cpu->ctr = cpu->r[6];
|
|
/* 027EAA98 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAA9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAAA0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAAA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EAAA4 */ cpu->r[7] = cpu->r[30];
|
|
/* 027EAAA8 */ _t34 = cpu->r[6] + 0x00000000u;
|
|
/* 027EAAA8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t34);
|
|
/* 027EAAAC */ cpu->r[11] = 0x00000000u;
|
|
/* 027EAAB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027EAAB4 */ cpu->r[8] = 0x00080000u;
|
|
/* 027EAAB8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAAB8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EAAB8 */ if (_t36) goto L_027EAAF4; else goto L_027EAABC;
|
|
L_027EAABC: ; // 0x27eaabc
|
|
/* 027EAABC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EAAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 027EAAC4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027EAAC8 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAAC8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027EAAC8 */ if (_t38) goto L_027EAAE0; else goto L_027EAACC;
|
|
L_027EAACC: ; // 0x27eaacc
|
|
/* 027EAACC */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 027EAACC */ cpu->r[9] = rbrew_read8(cpu->mem, _t39);
|
|
/* 027EAAD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 027EAAD4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAAD4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EAAD4 */ if (_t41) goto L_027EAAD8; else goto L_027EAABC;
|
|
L_027EAAD8: ; // 0x27eaad8
|
|
/* 027EAAD8 */ cpu->r[29] = cpu->r[11];
|
|
/* 027EAADC */ goto L_027EAAF8;
|
|
L_027EAAE0: ; // 0x27eaae0
|
|
/* 027EAAE0 */ cpu->r[24] = cpu->r[24];
|
|
/* 027EAAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027EAAE4 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EAAE8 */ cpu->r[25] = cpu->r[24] + 0x00000001u;
|
|
/* 027EAAEC */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAAEC */ _t43 = _t42 & 0x00000001u;
|
|
/* 027EAAEC */ if (_t43) goto L_027EAAF0; else goto L_027EAB04;
|
|
L_027EAAF0: ; // 0x27eaaf0
|
|
/* 027EAAF0 */ goto L_027EAC74;
|
|
L_027EAAF4: ; // 0x27eaaf4
|
|
/* 027EAAF4 */ cpu->r[29] = cpu->r[11];
|
|
L_027EAAF8: ; // 0x27eaaf8
|
|
/* 027EAAF8 */ cpu->r[24] = cpu->r[24] - cpu->r[29];
|
|
/* 027EAAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027EAAFC */ cpu->r[25] = cpu->r[24] + 0x00000001u;
|
|
/* 027EAB00 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAB00 */ _t45 = _t44 & 0x00000001u;
|
|
/* 027EAB00 */ if (_t45) goto L_027EAC74; else goto L_027EAB04;
|
|
L_027EAB04: ; // 0x27eab04
|
|
/* 027EAB04 */ _t46 = cpu->r[26] + 0x00000000u;
|
|
/* 027EAB04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027EAB08 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAB08 */ rbrew_write32(cpu->mem, _t47, cpu->r[22]);
|
|
/* 027EAB0C */ cpu->r[0] = cpu->r[11] + cpu->r[24];
|
|
/* 027EAB10 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EAB14 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAB14 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 027EAB18 */ Gambit_fn_027EACB8(cpu);
|
|
/* 027EAB1C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027EAB20 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 027EAB20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027EAB24 */ cpu->ctr = cpu->r[4];
|
|
/* 027EAB28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EAB2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAB30 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAB30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027EAB34 */ _t52 = cpu->r[6] + 0x00000014u;
|
|
/* 027EAB34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027EAB38 */ cpu->ctr = cpu->r[8];
|
|
/* 027EAB3C */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAB3C */ cpu->r[15] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027EAB40 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAB44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAB48 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAB48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027EAB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[4]);
|
|
/* 027EAB50 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAB50 */ _t56 = _t55 & 0x00000001u;
|
|
/* 027EAB50 */ if (_t56) goto L_027EABF8; else goto L_027EAB54;
|
|
L_027EAB54: ; // 0x27eab54
|
|
/* 027EAB54 */ cpu->r[12] = cpu->r[29];
|
|
/* 027EAB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EAB58 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAB58 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027EAB58 */ if (_t58) goto L_027EAB5C; else goto L_027EABF8;
|
|
L_027EAB5C: ; // 0x27eab5c
|
|
/* 027EAB5C */ cpu->ctr = cpu->r[12];
|
|
/* 027EAB60 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAB60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027EAB64 */ cpu->r[0] = cpu->r[30];
|
|
L_027EAB68: ; // 0x27eab68
|
|
/* 027EAB68 */ _t60 = cpu->r[11] + 0x00000000u;
|
|
/* 027EAB68 */ cpu->r[5] = rbrew_read8(cpu->mem, _t60);
|
|
/* 027EAB6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 027EAB70 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAB70 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027EAB70 */ if (_t62) goto L_027EAB74; else goto L_027EAB84;
|
|
L_027EAB74: ; // 0x27eab74
|
|
/* 027EAB74 */ _t63 = cpu->r[4] + 0x00000000u;
|
|
/* 027EAB74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027EAB78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 027EAB7C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAB7C */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EAB7C */ if (_t65) goto L_027EAB80; else goto L_027EABDC;
|
|
L_027EAB80: ; // 0x27eab80
|
|
/* 027EAB80 */ goto L_027EABF8;
|
|
L_027EAB84: ; // 0x27eab84
|
|
/* 027EAB84 */ _t66 = cpu->r[4] + 0x00000000u;
|
|
/* 027EAB84 */ cpu->r[7] = rbrew_read8(cpu->mem, _t66);
|
|
/* 027EAB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 027EAB8C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAB8C */ _t68 = _t67 & 0x00000001u;
|
|
/* 027EAB8C */ if (_t68) goto L_027EABDC; else goto L_027EAB90;
|
|
L_027EAB90: ; // 0x27eab90
|
|
/* 027EAB90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 027EAB94 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAB94 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027EAB94 */ if (_t70) goto L_027EAB98; else goto L_027EABDC;
|
|
L_027EAB98: ; // 0x27eab98
|
|
/* 027EAB98 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 027EAB9C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EABA0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027EABA0 */ _t71 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027EABA0 */ _t72 = _t71 >> (0x00000002u & 31u);
|
|
/* 027EABA0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027EABA0 */ if (_t73) goto L_027EAB68; else goto L_027EABA4;
|
|
L_027EABA4: ; // 0x27eaba4
|
|
/* 027EABA4 */ _t74 = cpu->r[26] + 0x00000004u;
|
|
/* 027EABA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027EABA8 */ _t75 = cpu->r[10] + 0x00000014u;
|
|
/* 027EABA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027EABAC */ cpu->ctr = cpu->r[0];
|
|
/* 027EABB0 */ cpu->r[29] = cpu->r[24];
|
|
/* 027EABB4 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EABB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EABBC */ _t76 = cpu->r[26] + 0x00000000u;
|
|
/* 027EABBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027EABC0 */ cpu->r[0] = cpu->r[30];
|
|
/* 027EABC4 */ _t77 = cpu->r[7] + 0x00000000u;
|
|
/* 027EABC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t77);
|
|
/* 027EABC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027EABCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027EABD0 */ cpu->r[9] = 0x00080000u;
|
|
/* 027EABD4 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EABD4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 027EABD4 */ if (_t79) goto L_027EABD8; else goto L_027EAC2C;
|
|
L_027EABD8: ; // 0x27eabd8
|
|
/* 027EABD8 */ goto L_027EAC50;
|
|
L_027EABDC: ; // 0x27eabdc
|
|
/* 027EABDC */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 027EABDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027EABE0 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 027EABE4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EABE4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 027EABE4 */ if (_t81) goto L_027EABE8; else goto L_027EAB04;
|
|
L_027EABE8: ; // 0x27eabe8
|
|
/* 027EABE8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 027EABE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027EABEC */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 027EABF0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EABF0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 027EABF0 */ if (_t83) goto L_027EABF4; else goto L_027EA9BC;
|
|
L_027EABF4: ; // 0x27eabf4
|
|
/* 027EABF4 */ goto L_027EAC80;
|
|
L_027EABF8: ; // 0x27eabf8
|
|
/* 027EABF8 */ _t84 = cpu->r[26] + 0x00000004u;
|
|
/* 027EABF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 027EABFC */ _t85 = cpu->r[10] + 0x00000014u;
|
|
/* 027EABFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027EAC00 */ cpu->ctr = cpu->r[0];
|
|
/* 027EAC04 */ cpu->r[29] = cpu->r[24];
|
|
/* 027EAC08 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EAC0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EAC10 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 027EAC10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 027EAC14 */ cpu->r[0] = cpu->r[30];
|
|
/* 027EAC18 */ _t87 = cpu->r[7] + 0x00000000u;
|
|
/* 027EAC18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t87);
|
|
/* 027EAC1C */ cpu->r[5] = 0x00000000u;
|
|
/* 027EAC20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027EAC24 */ cpu->r[9] = 0x00080000u;
|
|
/* 027EAC28 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAC28 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027EAC28 */ if (_t89) goto L_027EAC50; else goto L_027EAC2C;
|
|
L_027EAC2C: ; // 0x27eac2c
|
|
/* 027EAC2C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027EAC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[9]);
|
|
/* 027EAC34 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027EAC38 */ _t90 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAC38 */ _t91 = _t90 & 0x00000001u;
|
|
/* 027EAC38 */ if (_t91) goto L_027EAC4C; else goto L_027EAC3C;
|
|
L_027EAC3C: ; // 0x27eac3c
|
|
/* 027EAC3C */ _t92 = cpu->r[7] + 0x00000000u;
|
|
/* 027EAC3C */ cpu->r[4] = rbrew_read8(cpu->mem, _t92);
|
|
/* 027EAC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027EAC44 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAC44 */ _t94 = _t93 & 0x00000001u;
|
|
/* 027EAC44 */ if (_t94) goto L_027EAC48; else goto L_027EAC2C;
|
|
L_027EAC48: ; // 0x27eac48
|
|
/* 027EAC48 */ goto L_027EAC50;
|
|
L_027EAC4C: ; // 0x27eac4c
|
|
/* 027EAC4C */ cpu->r[5] = 0x00000000u;
|
|
L_027EAC50: ; // 0x27eac50
|
|
/* 027EAC50 */ cpu->r[6] = cpu->r[5] - cpu->r[29];
|
|
/* 027EAC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000005u);
|
|
/* 027EAC58 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAC58 */ _t96 = _t95 & 0x00000001u;
|
|
/* 027EAC58 */ if (_t96) goto L_027EAC5C; else goto L_027EAC74;
|
|
L_027EAC5C: ; // 0x27eac5c
|
|
/* 027EAC5C */ /* nop */
|
|
/* 027EAC60 */ _t97 = cpu->r[1] + 0x00000094u;
|
|
/* 027EAC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 027EAC64 */ cpu->lr = cpu->r[0];
|
|
/* 027EAC68 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027EAC6C */ cpu->r[3] = 0x00000001u;
|
|
/* 027EAC70 */ return;
|
|
L_027EAC74: ; // 0x27eac74
|
|
/* 027EAC74 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 027EAC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027EAC78 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 027EAC7C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAC7C */ _t99 = _t98 & 0x00000001u;
|
|
/* 027EAC7C */ if (_t99) goto L_027EAC80; else goto L_027EA9BC;
|
|
L_027EAC80: ; // 0x27eac80
|
|
/* 027EAC80 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 027EAC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027EAC84 */ cpu->r[16] = cpu->r[16] + 0x00000001u;
|
|
/* 027EAC88 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAC88 */ _t101 = _t100 & 0x00000001u;
|
|
/* 027EAC88 */ if (_t101) goto L_027EAC8C; else goto L_027EA9A4;
|
|
L_027EAC8C: ; // 0x27eac8c
|
|
/* 027EAC8C */ /* nop */
|
|
/* 027EAC90 */ _t102 = cpu->r[1] + 0x00000094u;
|
|
/* 027EAC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027EAC94 */ cpu->lr = cpu->r[0];
|
|
/* 027EAC98 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 027EAC9C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EACA0 */ return;
|
|
}
|
|
|
|
// fn_027EACA4 @ 0x27eaca4
|
|
void Gambit_fn_027EACA4(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_027EACA4: ; // 0x27eaca4
|
|
/* 027EACA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EACA8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACA8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EACA8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACA8 */ goto L_027EACAC;
|
|
L_027EACAC: ; // 0x27eacac
|
|
/* 027EACAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EACAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EACB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EACB0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACB0 */ goto L_027EACB4;
|
|
L_027EACB4: ; // 0x27eacb4
|
|
/* 027EACB4 */ 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_027EACB8 @ 0x27eacb8
|
|
void Gambit_fn_027EACB8(CPUState* cpu) {
|
|
L_027EACB8: ; // 0x27eacb8
|
|
/* 027EACB8 */ return;
|
|
}
|
|
|
|
// fn_027EACBC @ 0x27eacbc
|
|
void Gambit_fn_027EACBC(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_027EACBC: ; // 0x27eacbc
|
|
/* 027EACBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EACC0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACC0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EACC0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACC0 */ goto L_027EACC4;
|
|
L_027EACC4: ; // 0x27eacc4
|
|
/* 027EACC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EACC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EACC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EACC8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACC8 */ goto L_027EACCC;
|
|
L_027EACCC: ; // 0x27eaccc
|
|
/* 027EACCC */ 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_027EACD0 @ 0x27eacd0
|
|
void Gambit_fn_027EACD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027EACD0: ; // 0x27eacd0
|
|
/* 027EACD0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027EACD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EACD4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027EACD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EACD8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027EACDC */ cpu->r[11] = 0x10110000u;
|
|
/* 027EACE0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027EACE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EACE4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027EACE4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027EACE8 */ return;
|
|
}
|
|
|
|
// fn_027EACEC @ 0x27eacec
|
|
void Gambit_fn_027EACEC(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_027EACEC: ; // 0x27eacec
|
|
/* 027EACEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EACF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EACF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACF0 */ goto L_027EACF4;
|
|
L_027EACF4: ; // 0x27eacf4
|
|
/* 027EACF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EACF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EACF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EACF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EACF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EACF8 */ goto L_027EACFC;
|
|
L_027EACFC: ; // 0x27eacfc
|
|
/* 027EACFC */ 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_027EAD00 @ 0x27ead00
|
|
void Gambit_fn_027EAD00(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_027EAD00: ; // 0x27ead00
|
|
/* 027EAD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EAD04 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD04 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EAD04 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD04 */ goto L_027EAD08;
|
|
L_027EAD08: ; // 0x27ead08
|
|
/* 027EAD08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EAD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EAD0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EAD0C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD0C */ goto L_027EAD10;
|
|
L_027EAD10: ; // 0x27ead10
|
|
/* 027EAD10 */ 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_027EAD14 @ 0x27ead14
|
|
void Gambit_fn_027EAD14(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_027EAD14: ; // 0x27ead14
|
|
/* 027EAD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EAD18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EAD18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD18 */ goto L_027EAD1C;
|
|
L_027EAD1C: ; // 0x27ead1c
|
|
/* 027EAD1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EAD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EAD20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EAD20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD20 */ goto L_027EAD24;
|
|
L_027EAD24: ; // 0x27ead24
|
|
/* 027EAD24 */ 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_027EAD28 @ 0x27ead28
|
|
void Gambit_fn_027EAD28(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_027EAD28: ; // 0x27ead28
|
|
/* 027EAD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EAD2C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD2C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EAD2C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD2C */ goto L_027EAD30;
|
|
L_027EAD30: ; // 0x27ead30
|
|
/* 027EAD30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EAD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EAD34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EAD34 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EAD34 */ goto L_027EAD38;
|
|
L_027EAD38: ; // 0x27ead38
|
|
/* 027EAD38 */ 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_027EAD3C @ 0x27ead3c
|
|
void Gambit_fn_027EAD3C(CPUState* cpu) {
|
|
L_027EAD3C: ; // 0x27ead3c
|
|
/* 027EAD3C */ cpu->r[3] = 0x00000005u;
|
|
/* 027EAD40 */ return;
|
|
}
|
|
|
|
// fn_027EAD44 @ 0x27ead44
|
|
void Gambit_fn_027EAD44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EAD44: ; // 0x27ead44
|
|
/* 027EAD44 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 027EAD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD48 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027EAD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD4C */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD50 */ _t2 = cpu->r[4] + 0x00000124u;
|
|
/* 027EAD50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027EAD58 @ 0x27ead58
|
|
void Gambit_fn_027EAD58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027EAD44: ; // 0x27ead44
|
|
/* 027EAD44 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 027EAD44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD48 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027EAD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD4C */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD50 */ _t2 = cpu->r[4] + 0x00000124u;
|
|
/* 027EAD50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027EAD58: ; // 0x27ead58
|
|
/* 027EAD58 */ _t3 = cpu->r[3] + 0x000001A0u;
|
|
/* 027EAD58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EAD5C */ goto L_027EAD44;
|
|
}
|
|
|
|
// fn_027EAD60 @ 0x27ead60
|
|
void Gambit_fn_027EAD60(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EAD60: ; // 0x27ead60
|
|
/* 027EAD60 */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 027EAD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD64 */ _t1 = cpu->r[12] + 0x00000014u;
|
|
/* 027EAD64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD68 */ return;
|
|
}
|
|
|
|
// fn_027EAD90 @ 0x27ead90
|
|
void Gambit_fn_027EAD90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EAD6C: ; // 0x27ead6c
|
|
/* 027EAD6C */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 027EAD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD70 */ cpu->r[12] = cpu->r[4];
|
|
/* 027EAD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EAD74 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAD74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD78 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAD7C */ _t2 = cpu->r[11] + 0x00000014u;
|
|
/* 027EAD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EAD80 */ if (_t4) goto L_027EAD88; else goto L_027EAD84;
|
|
L_027EAD84: ; // 0x27ead84
|
|
/* 027EAD84 */ _t5 = cpu->r[12] + 0x00000124u;
|
|
/* 027EAD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
L_027EAD88: ; // 0x27ead88
|
|
/* 027EAD88 */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027EAD90: ; // 0x27ead90
|
|
/* 027EAD90 */ cpu->r[5] = 0x00000000u;
|
|
/* 027EAD94 */ goto L_027EAD6C;
|
|
}
|
|
|
|
// fn_027EAD98 @ 0x27ead98
|
|
void Gambit_fn_027EAD98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EAD6C: ; // 0x27ead6c
|
|
/* 027EAD6C */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 027EAD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD70 */ cpu->r[12] = cpu->r[4];
|
|
/* 027EAD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EAD74 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAD74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD78 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAD7C */ _t2 = cpu->r[11] + 0x00000014u;
|
|
/* 027EAD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EAD80 */ if (_t4) goto L_027EAD88; else goto L_027EAD84;
|
|
L_027EAD84: ; // 0x27ead84
|
|
/* 027EAD84 */ _t5 = cpu->r[12] + 0x00000124u;
|
|
/* 027EAD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
L_027EAD88: ; // 0x27ead88
|
|
/* 027EAD88 */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027EAD98: ; // 0x27ead98
|
|
/* 027EAD98 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EAD9C */ goto L_027EAD6C;
|
|
}
|
|
|
|
// fn_027EADA0 @ 0x27eada0
|
|
void Gambit_fn_027EADA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EAD6C: ; // 0x27ead6c
|
|
/* 027EAD6C */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 027EAD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD70 */ cpu->r[12] = cpu->r[4];
|
|
/* 027EAD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EAD74 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAD74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD78 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAD7C */ _t2 = cpu->r[11] + 0x00000014u;
|
|
/* 027EAD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EAD80 */ if (_t4) goto L_027EAD88; else goto L_027EAD84;
|
|
L_027EAD84: ; // 0x27ead84
|
|
/* 027EAD84 */ _t5 = cpu->r[12] + 0x00000124u;
|
|
/* 027EAD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
L_027EAD88: ; // 0x27ead88
|
|
/* 027EAD88 */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027EADA0: ; // 0x27eada0
|
|
/* 027EADA0 */ cpu->r[5] = 0x00000002u;
|
|
/* 027EADA4 */ goto L_027EAD6C;
|
|
}
|
|
|
|
// fn_027EADA8 @ 0x27eada8
|
|
void Gambit_fn_027EADA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027EAD6C: ; // 0x27ead6c
|
|
/* 027EAD6C */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 027EAD6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EAD70 */ cpu->r[12] = cpu->r[4];
|
|
/* 027EAD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EAD74 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAD74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EAD78 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAD7C */ _t2 = cpu->r[11] + 0x00000014u;
|
|
/* 027EAD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EAD80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EAD80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EAD80 */ if (_t4) goto L_027EAD88; else goto L_027EAD84;
|
|
L_027EAD84: ; // 0x27ead84
|
|
/* 027EAD84 */ _t5 = cpu->r[12] + 0x00000124u;
|
|
/* 027EAD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
L_027EAD88: ; // 0x27ead88
|
|
/* 027EAD88 */ cpu->ctr = cpu->r[0];
|
|
/* 027EAD8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027EADA8: ; // 0x27eada8
|
|
/* 027EADA8 */ cpu->r[5] = 0x00000003u;
|
|
/* 027EADAC */ goto L_027EAD6C;
|
|
}
|
|
|
|
// fn_027EADB0 @ 0x27eadb0
|
|
void Gambit_fn_027EADB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EADB0: ; // 0x27eadb0
|
|
/* 027EADB0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EADB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EADB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EADB4 */ cpu->r[1] = _t0;
|
|
/* 027EADB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EADBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EADBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027EADC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EADC4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027EADC8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EADC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EADCC */ Gambit_fn_027EADA8(cpu);
|
|
/* 027EADD0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EADD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EADD8 */ Gambit_fn_027EADA0(cpu);
|
|
/* 027EADDC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EADDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EADE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EADE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EADE4 */ cpu->lr = cpu->r[0];
|
|
/* 027EADE8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EADEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EADF0 */ return;
|
|
}
|
|
|
|
// fn_027EADB4 @ 0x27eadb4
|
|
void Gambit_fn_027EADB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EADB4: ; // 0x27eadb4
|
|
/* 027EADB4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EADB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EADB4 */ cpu->r[1] = _t0;
|
|
/* 027EADB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EADBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EADBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027EADC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EADC4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027EADC8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EADC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EADCC */ Gambit_fn_027EADA8(cpu);
|
|
/* 027EADD0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EADD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EADD8 */ Gambit_fn_027EADA0(cpu);
|
|
/* 027EADDC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EADDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EADE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EADE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EADE4 */ cpu->lr = cpu->r[0];
|
|
/* 027EADE8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EADEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EADF0 */ return;
|
|
}
|
|
|
|
// fn_027EADF4 @ 0x27eadf4
|
|
void Gambit_fn_027EADF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EADF4: ; // 0x27eadf4
|
|
/* 027EADF4 */ cpu->r[0] = cpu->lr;
|
|
/* 027EADF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EADF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EADF8 */ cpu->r[1] = _t0;
|
|
/* 027EADFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EAE00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027EAE04 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE08 */ cpu->r[30] = cpu->r[4];
|
|
/* 027EAE0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EAE10 */ Gambit_fn_027EAD98(cpu);
|
|
/* 027EAE14 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EAE18 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EAE1C */ Gambit_fn_027EAD90(cpu);
|
|
/* 027EAE20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EAE24 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EAE28 */ cpu->lr = cpu->r[0];
|
|
/* 027EAE2C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAE2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EAE30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAE34 */ return;
|
|
}
|
|
|
|
// fn_027EADF8 @ 0x27eadf8
|
|
void Gambit_fn_027EADF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027EADF8: ; // 0x27eadf8
|
|
/* 027EADF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EADF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EADF8 */ cpu->r[1] = _t0;
|
|
/* 027EADFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027EADFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EAE00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027EAE04 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE08 */ cpu->r[30] = cpu->r[4];
|
|
/* 027EAE0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EAE10 */ Gambit_fn_027EAD98(cpu);
|
|
/* 027EAE14 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EAE18 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EAE1C */ Gambit_fn_027EAD90(cpu);
|
|
/* 027EAE20 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EAE24 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EAE28 */ cpu->lr = cpu->r[0];
|
|
/* 027EAE2C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAE2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EAE30 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAE34 */ return;
|
|
}
|
|
|
|
// fn_027EAE38 @ 0x27eae38
|
|
void Gambit_fn_027EAE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EAE38: ; // 0x27eae38
|
|
/* 027EAE38 */ cpu->r[0] = cpu->lr;
|
|
/* 027EAE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EAE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAE3C */ cpu->r[1] = _t0;
|
|
/* 027EAE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EAE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE48 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EAE50 */ Gambit_fn_027EADA0(cpu);
|
|
/* 027EAE54 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE58 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE5C */ Gambit_fn_027EADA8(cpu);
|
|
/* 027EAE60 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE68 */ Gambit_fn_027EAD90(cpu);
|
|
/* 027EAE6C */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE70 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE74 */ Gambit_fn_027EAD98(cpu);
|
|
/* 027EAE78 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EAE7C */ cpu->lr = cpu->r[0];
|
|
/* 027EAE80 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EAE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAE88 */ return;
|
|
}
|
|
|
|
// fn_027EAE3C @ 0x27eae3c
|
|
void Gambit_fn_027EAE3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EAE3C: ; // 0x27eae3c
|
|
/* 027EAE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EAE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAE3C */ cpu->r[1] = _t0;
|
|
/* 027EAE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EAE44 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE48 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EAE50 */ Gambit_fn_027EADA0(cpu);
|
|
/* 027EAE54 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE58 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE5C */ Gambit_fn_027EADA8(cpu);
|
|
/* 027EAE60 */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE64 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE68 */ Gambit_fn_027EAD90(cpu);
|
|
/* 027EAE6C */ cpu->r[4] = 0x00000000u;
|
|
/* 027EAE70 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAE74 */ Gambit_fn_027EAD98(cpu);
|
|
/* 027EAE78 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EAE7C */ cpu->lr = cpu->r[0];
|
|
/* 027EAE80 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EAE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAE88 */ return;
|
|
}
|
|
|
|
// fn_027EAE8C @ 0x27eae8c
|
|
void Gambit_fn_027EAE8C(CPUState* 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_027EAE8C: ; // 0x27eae8c
|
|
/* 027EAE8C */ cpu->r[0] = cpu->lr;
|
|
/* 027EAE90 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EAE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAE90 */ cpu->r[1] = _t0;
|
|
/* 027EAE94 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAE94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EAE98 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE9C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAE9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EAEA0 */ Gambit_fn_027E7110(cpu);
|
|
/* 027EAEA4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAEA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 027EAEA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAEAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAEAC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 027EAEB0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAEB4 */ Gambit_fn_026DC2B4(cpu);
|
|
/* 027EAEB8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAEB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EAEBC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAEBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027EAEC0 */ cpu->f[12] = -cpu->f[0];
|
|
/* 027EAEC4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 027EAEC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAEC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EAEC8 */ if (_t8) goto L_027EAEF0; else goto L_027EAECC;
|
|
L_027EAECC: ; // 0x27eaecc
|
|
/* 027EAECC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027EAED0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAED0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EAED0 */ if (_t10) goto L_027EAEF0; else goto L_027EAED4;
|
|
L_027EAED4: ; // 0x27eaed4
|
|
/* 027EAED4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAED4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EAED8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAED8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027EAEDC */ cpu->f[13] = -cpu->f[0];
|
|
/* 027EAEE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 027EAEE4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAEE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EAEE4 */ if (_t14) goto L_027EAEF0; else goto L_027EAEE8;
|
|
L_027EAEE8: ; // 0x27eaee8
|
|
/* 027EAEE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027EAEEC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAEEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027EAEEC */ if (_t16) goto L_027EAEF0; else goto L_027EAF08;
|
|
L_027EAEF0: ; // 0x27eaef0
|
|
/* 027EAEF0 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EAEF4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EAEF8 */ cpu->lr = cpu->r[0];
|
|
/* 027EAEFC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EAF00 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EAF04 */ return;
|
|
L_027EAF08: ; // 0x27eaf08
|
|
/* 027EAF08 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EAF0C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EAF10 */ cpu->lr = cpu->r[0];
|
|
/* 027EAF14 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EAF18 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EAF1C */ return;
|
|
}
|
|
|
|
// fn_027EAE90 @ 0x27eae90
|
|
void Gambit_fn_027EAE90(CPUState* 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_027EAE90: ; // 0x27eae90
|
|
/* 027EAE90 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EAE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAE90 */ cpu->r[1] = _t0;
|
|
/* 027EAE94 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAE94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EAE98 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EAE9C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAE9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EAEA0 */ Gambit_fn_027E7110(cpu);
|
|
/* 027EAEA4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAEA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 027EAEA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EAEAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAEAC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 027EAEB0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 027EAEB4 */ Gambit_fn_026DC2B4(cpu);
|
|
/* 027EAEB8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAEB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EAEBC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAEBC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027EAEC0 */ cpu->f[12] = -cpu->f[0];
|
|
/* 027EAEC4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 027EAEC8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAEC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EAEC8 */ if (_t8) goto L_027EAEF0; else goto L_027EAECC;
|
|
L_027EAECC: ; // 0x27eaecc
|
|
/* 027EAECC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 027EAED0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAED0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EAED0 */ if (_t10) goto L_027EAEF0; else goto L_027EAED4;
|
|
L_027EAED4: ; // 0x27eaed4
|
|
/* 027EAED4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAED4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EAED8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAED8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027EAEDC */ cpu->f[13] = -cpu->f[0];
|
|
/* 027EAEE0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 027EAEE4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EAEE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EAEE4 */ if (_t14) goto L_027EAEF0; else goto L_027EAEE8;
|
|
L_027EAEE8: ; // 0x27eaee8
|
|
/* 027EAEE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 027EAEEC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EAEEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027EAEEC */ if (_t16) goto L_027EAEF0; else goto L_027EAF08;
|
|
L_027EAEF0: ; // 0x27eaef0
|
|
/* 027EAEF0 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EAEF4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EAEF8 */ cpu->lr = cpu->r[0];
|
|
/* 027EAEFC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EAF00 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EAF04 */ return;
|
|
L_027EAF08: ; // 0x27eaf08
|
|
/* 027EAF08 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 027EAF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EAF0C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAF0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EAF10 */ cpu->lr = cpu->r[0];
|
|
/* 027EAF14 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EAF18 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EAF1C */ return;
|
|
}
|
|
|
|
// fn_027EAF20 @ 0x27eaf20
|
|
void Gambit_fn_027EAF20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027EAF20: ; // 0x27eaf20
|
|
/* 027EAF20 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EAF20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAF20 */ cpu->r[1] = _t0;
|
|
/* 027EAF24 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EAF28 */ _t1 = cpu->r[5] + 0x00000004u;
|
|
/* 027EAF28 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027EAF2C */ _t2 = cpu->r[11] + 0x00000008u;
|
|
/* 027EAF2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027EAF30 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 027EAF30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027EAF34 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 027EAF34 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027EAF38 */ _t5 = cpu->r[6] + 0x00000004u;
|
|
/* 027EAF38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EAF3C */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 027EAF3C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 027EAF40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAF40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[11]);
|
|
/* 027EAF44 */ _t8 = cpu->r[3] + 0x0000004Cu;
|
|
/* 027EAF44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 027EAF48 */ _t9 = cpu->r[3] + 0x00000048u;
|
|
/* 027EAF48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
|
|
/* 027EAF4C */ _t10 = cpu->r[3] + 0x00000050u;
|
|
/* 027EAF4C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027EAF50 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EAF50 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 027EAF54 */ _t12 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAF54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 027EAF58 */ _t13 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027EAF58 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 027EAF5C */ _t14 = cpu->r[3] + 0x00000020u;
|
|
/* 027EAF5C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027EAF60 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 027EAF60 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[6]);
|
|
/* 027EAF64 */ _t16 = cpu->r[3] + 0x00000030u;
|
|
/* 027EAF64 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 027EAF68 */ _t17 = cpu->r[3] + 0x0000003Cu;
|
|
/* 027EAF68 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[6]);
|
|
/* 027EAF6C */ _t18 = cpu->r[3] + 0x00000034u;
|
|
/* 027EAF6C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 027EAF70 */ _t19 = cpu->r[3] + 0x00000018u;
|
|
/* 027EAF70 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027EAF74 */ _t20 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027EAF74 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027EAF78 */ _t21 = cpu->r[3] + 0x00000028u;
|
|
/* 027EAF78 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027EAF7C */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 027EAF7C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[7]);
|
|
/* 027EAF80 */ _t23 = cpu->r[3] + 0x00000040u;
|
|
/* 027EAF80 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[7]);
|
|
/* 027EAF84 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 027EAF84 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 027EAF88 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 027EAF88 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 027EAF8C */ _t26 = cpu->r[3] + 0x00000044u;
|
|
/* 027EAF8C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 027EAF90 */ _t27 = cpu->r[3] + 0x00000038u;
|
|
/* 027EAF90 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 027EAF94 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 027EAF94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027EAF98 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAF98 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[6]);
|
|
/* 027EAF9C */ _t30 = cpu->r[3] + 0x00000054u;
|
|
/* 027EAF9C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[8]);
|
|
/* 027EAFA0 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 027EAFA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027EAFA4 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 027EAFA4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 027EAFA8 */ _t33 = cpu->r[3] + 0x00000058u;
|
|
/* 027EAFA8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 027EAFAC */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 027EAFAC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027EAFB0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAFB0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[7]);
|
|
/* 027EAFB4 */ _t36 = cpu->r[3] + 0x0000005Cu;
|
|
/* 027EAFB4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 027EAFB8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027EAFBC */ _t37 = cpu->r[3] + 0x00000064u;
|
|
/* 027EAFBC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 027EAFC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027EAFC4 */ _t38 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027EAFC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027EAFC8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAFC8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 027EAFCC */ _t40 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027EAFCC */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 027EAFD0 */ cpu->r[5] = cpu->r[9];
|
|
/* 027EAFD4 */ _t41 = cpu->r[3] + 0x00000060u;
|
|
/* 027EAFD4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 027EAFD8 */ cpu->f[0] = cpu->f[13];
|
|
/* 027EAFDC */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAFDC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 027EAFE0 */ cpu->r[4] = cpu->r[9];
|
|
/* 027EAFE4 */ cpu->r[8] = cpu->r[3] + 0x00000074u;
|
|
/* 027EAFE8 */ _t43 = cpu->r[3] + 0x00000068u;
|
|
/* 027EAFE8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]);
|
|
/* 027EAFEC */ cpu->r[6] = cpu->r[3] + 0x000000B4u;
|
|
/* 027EAFF0 */ cpu->r[7] = cpu->r[3] + 0x000000F4u;
|
|
/* 027EAFF4 */ _t44 = cpu->r[3] + 0x00000070u;
|
|
/* 027EAFF4 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
L_027EAFF8: ; // 0x27eaff8
|
|
/* 027EAFF8 */ cpu->f[13] = cpu->f[0];
|
|
/* 027EAFFC */ cpu->r[12] = cpu->r[5];
|
|
/* 027EB000 */ cpu->r[3] = cpu->r[4];
|
|
/* 027EB004 */ cpu->r[10] = cpu->r[8] + cpu->r[5];
|
|
L_027EB008: ; // 0x27eb008
|
|
/* 027EB008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB00C */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 027EB00C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 027EB010 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB010 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027EB010 */ if (_t47) goto L_027EB014; else goto L_027EB024;
|
|
L_027EB014: ; // 0x27eb014
|
|
/* 027EB014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB018 */ _t48 = cpu->r[6] + cpu->r[12];
|
|
/* 027EB018 */ rbrew_write32(cpu->mem, _t48, cpu->r[13]);
|
|
/* 027EB01C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB01C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027EB01C */ if (_t50) goto L_027EB030; else goto L_027EB020;
|
|
L_027EB020: ; // 0x27eb020
|
|
/* 027EB020 */ goto L_027EB06C;
|
|
L_027EB024: ; // 0x27eb024
|
|
/* 027EB024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB028 */ _t51 = cpu->r[6] + 0x00000000u;
|
|
/* 027EB028 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[13]);
|
|
/* 027EB02C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB02C */ _t53 = _t52 & 0x00000001u;
|
|
/* 027EB02C */ if (_t53) goto L_027EB030; else goto L_027EB06C;
|
|
L_027EB030: ; // 0x27eb030
|
|
/* 027EB030 */ _t54 = cpu->r[7] + cpu->r[3];
|
|
/* 027EB030 */ rbrew_write32(cpu->mem, _t54, cpu->r[13]);
|
|
/* 027EB034 */ cpu->r[11] = cpu->r[7] + cpu->r[3];
|
|
/* 027EB038 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EB03C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027EB040 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EB044 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 027EB044 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[13]);
|
|
/* 027EB048 */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027EB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u);
|
|
/* 027EB050 */ _t56 = cpu->r[11] + 0x00000008u;
|
|
/* 027EB050 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027EB054 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 027EB058 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB058 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027EB058 */ if (_t58) goto L_027EB05C; else goto L_027EB094;
|
|
L_027EB05C: ; // 0x27eb05c
|
|
/* 027EB05C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB060 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB060 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027EB060 */ if (_t60) goto L_027EAFF8; else goto L_027EB064;
|
|
L_027EB064: ; // 0x27eb064
|
|
/* 027EB064 */ cpu->r[10] = cpu->r[8];
|
|
/* 027EB068 */ goto L_027EB008;
|
|
L_027EB06C: ; // 0x27eb06c
|
|
/* 027EB06C */ _t61 = cpu->r[7] + 0x00000000u;
|
|
/* 027EB06C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[13]);
|
|
/* 027EB070 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EB074 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027EB078 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EB07C */ _t62 = cpu->r[7] + 0x00000004u;
|
|
/* 027EB07C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[13]);
|
|
/* 027EB080 */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027EB084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u);
|
|
/* 027EB088 */ _t63 = cpu->r[7] + 0x00000008u;
|
|
/* 027EB088 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[13]);
|
|
/* 027EB08C */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 027EB090 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB090 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EB090 */ if (_t65) goto L_027EB05C; else goto L_027EB094;
|
|
L_027EB094: ; // 0x27eb094
|
|
/* 027EB094 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB098 */ return;
|
|
}
|
|
|
|
// fn_027EB09C @ 0x27eb09c
|
|
void Gambit_fn_027EB09C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_027EB09C: ; // 0x27eb09c
|
|
/* 027EB09C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027EB09C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB09C */ cpu->r[1] = _t0;
|
|
/* 027EB0A0 */ /* nop */
|
|
/* 027EB0A4 */ _t1 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027EB0A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027EB0A8 */ _t2 = cpu->r[3] + 0x00000070u;
|
|
/* 027EB0A8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027EB0AC */ /* nop */
|
|
/* 027EB0B0 */ _t3 = cpu->r[3] + 0x00000068u;
|
|
/* 027EB0B0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027EB0B4 */ /* nop */
|
|
/* 027EB0B8 */ /* nop */
|
|
/* 027EB0BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EB0C0 */ cpu->f[13] = cpu->f[0] * cpu->f[10];
|
|
/* 027EB0C4 */ /* nop */
|
|
/* 027EB0C8 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB0C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EB0CC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB0CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EB0D0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB0D0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027EB0D4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EB0D8 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB0D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EB0DC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB0DC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 027EB0E0 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB0E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EB0E4 */ /* nop */
|
|
/* 027EB0E8 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB0EC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB0EC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 027EB0F0 */ /* nop */
|
|
/* 027EB0F4 */ cpu->f[8] = cpu->f[0] * cpu->f[12];
|
|
/* 027EB0F8 */ _t13 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027EB0F8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027EB0FC */ cpu->r[12] = cpu->r[10];
|
|
/* 027EB100 */ _t14 = cpu->r[3] + 0x00000038u;
|
|
/* 027EB100 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027EB104 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 027EB108 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB108 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EB10C */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 027EB10C */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 027EB110 */ _t17 = cpu->r[3] + 0x00000070u;
|
|
/* 027EB110 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 027EB114 */ cpu->f[10] = cpu->f[10] * cpu->f[1];
|
|
/* 027EB118 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 027EB118 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 027EB11C */ /* nop */
|
|
/* 027EB120 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB120 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 027EB124 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EB128 */ /* nop */
|
|
/* 027EB12C */ /* nop */
|
|
/* 027EB130 */ cpu->f[6] = cpu->f[6] + cpu->f[7];
|
|
/* 027EB134 */ _t21 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027EB134 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 027EB138 */ _t22 = cpu->r[12] + 0x00000008u;
|
|
/* 027EB138 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 027EB13C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB13C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027EB140 */ /* nop */
|
|
/* 027EB144 */ _t24 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027EB144 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[6]);
|
|
/* 027EB148 */ cpu->f[13] = cpu->f[13] + cpu->f[8];
|
|
/* 027EB14C */ /* nop */
|
|
/* 027EB150 */ /* nop */
|
|
/* 027EB154 */ _t25 = cpu->r[3] + 0x00000038u;
|
|
/* 027EB154 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 027EB158 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027EB15C */ return;
|
|
}
|
|
|
|
// fn_027EB160 @ 0x27eb160
|
|
void Gambit_fn_027EB160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163;
|
|
double _ft140, _ft141;
|
|
|
|
L_027EB160: ; // 0x27eb160
|
|
/* 027EB160 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 027EB160 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB160 */ cpu->r[1] = _t0;
|
|
/* 027EB164 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 027EB164 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EB168 */ cpu->r[0] = cpu->lr;
|
|
/* 027EB16C */ _t2 = cpu->r[1] + 0x00000088u;
|
|
/* 027EB16C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]);
|
|
/* 027EB170 */ _t3 = cpu->r[1] + 0x00000098u;
|
|
/* 027EB170 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 027EB174 */ _t4 = cpu->r[1] + 0x000000A8u;
|
|
/* 027EB174 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 027EB178 */ _t5 = cpu->r[1] + 0x000000C8u;
|
|
/* 027EB178 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 027EB17C */ _t6 = cpu->r[1] + 0x000000B8u;
|
|
/* 027EB17C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[30]);
|
|
/* 027EB180 */ /* nop */
|
|
/* 027EB184 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 027EB184 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[26]);
|
|
/* 027EB188 */ _t8 = cpu->r[1] + 0x000000DCu;
|
|
/* 027EB188 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027EB18C */ /* nop */
|
|
/* 027EB190 */ _t9 = cpu->r[1] + 0x000000D0u;
|
|
/* 027EB190 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 027EB194 */ /* nop */
|
|
/* 027EB198 */ _t10 = cpu->r[1] + 0x000000C0u;
|
|
/* 027EB198 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
|
|
/* 027EB19C */ /* nop */
|
|
/* 027EB1A0 */ _t11 = cpu->r[1] + 0x00000090u;
|
|
/* 027EB1A0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[27]);
|
|
/* 027EB1A4 */ /* nop */
|
|
/* 027EB1A8 */ _t12 = cpu->r[1] + 0x000000B0u;
|
|
/* 027EB1A8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[29]);
|
|
/* 027EB1AC */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB1B0 */ _t13 = cpu->r[1] + 0x00000080u;
|
|
/* 027EB1B0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[26]);
|
|
/* 027EB1B4 */ /* nop */
|
|
/* 027EB1B8 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 027EB1B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027EB1BC */ _t15 = cpu->r[1] + 0x000000A0u;
|
|
/* 027EB1BC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[28]);
|
|
/* 027EB1C0 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EB1C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027EB1C4 */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 027EB1C4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027EB1C8 */ _t18 = cpu->r[4] + 0x00000000u;
|
|
/* 027EB1C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027EB1CC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB1CC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 027EB1D0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB1D0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 027EB1D4 */ /* nop */
|
|
/* 027EB1D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EB1DC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB1DC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027EB1E0 */ _t22 = cpu->r[31] + 0x00000044u;
|
|
/* 027EB1E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027EB1E4 */ _t23 = cpu->r[5] + 0x00000004u;
|
|
/* 027EB1E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 027EB1E8 */ cpu->f[7] = cpu->f[31] - cpu->f[10];
|
|
/* 027EB1EC */ /* nop */
|
|
/* 027EB1F0 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB1F0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
|
|
/* 027EB1F4 */ /* nop */
|
|
/* 027EB1F8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB1F8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
|
|
/* 027EB1FC */ /* nop */
|
|
/* 027EB200 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 027EB200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EB204 */ _t27 = cpu->r[1] + 0x00000040u;
|
|
/* 027EB204 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[7]);
|
|
/* 027EB208 */ _t28 = cpu->r[1] + 0x00000040u;
|
|
/* 027EB208 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EB20C */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EB20C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EB210 */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB210 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 027EB214 */ cpu->f[28] = cpu->f[1];
|
|
/* 027EB218 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB218 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 027EB21C */ cpu->f[29] = cpu->f[2];
|
|
/* 027EB220 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB220 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 027EB224 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB228 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB228 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 027EB22C */ Gambit_fn_02C69350(cpu);
|
|
/* 027EB230 */ /* nop */
|
|
/* 027EB234 */ /* nop */
|
|
/* 027EB238 */ _t34 = cpu->r[31] + 0x00000050u;
|
|
/* 027EB238 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027EB23C */ /* nop */
|
|
/* 027EB240 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB240 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 027EB244 */ /* nop */
|
|
/* 027EB248 */ cpu->f[9] = cpu->f[10] - cpu->f[11];
|
|
/* 027EB24C */ _t36 = cpu->r[1] + 0x00000048u;
|
|
/* 027EB24C */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EB250 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 027EB250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EB254 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027EB254 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 027EB258 */ _t39 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027EB258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EB25C */ _t40 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027EB25C */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 027EB260 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 027EB264 */ _t41 = cpu->r[1] + 0x00000068u;
|
|
/* 027EB264 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 027EB268 */ cpu->f[30] = cpu->f[1];
|
|
/* 027EB26C */ _t42 = cpu->r[1] + 0x00000070u;
|
|
/* 027EB26C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027EB270 */ Gambit_fn_02C69350(cpu);
|
|
/* 027EB274 */ _t43 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027EB274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027EB278 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB278 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 027EB27C */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB27C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027EB280 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 027EB284 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 027EB284 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 027EB288 */ /* nop */
|
|
/* 027EB28C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB28C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 027EB290 */ /* nop */
|
|
/* 027EB294 */ _t48 = cpu->r[31] + 0x00000050u;
|
|
/* 027EB294 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 027EB298 */ cpu->f[0] = cpu->f[8] - cpu->f[9];
|
|
/* 027EB29C */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 027EB29C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 027EB2A0 */ cpu->f[3] = fabs(cpu->f[10]);
|
|
/* 027EB2A4 */ /* nop */
|
|
/* 027EB2A8 */ _t50 = cpu->r[1] + 0x00000050u;
|
|
/* 027EB2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027EB2AC */ cpu->f[10] = fabs(cpu->f[0]);
|
|
/* 027EB2B0 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB2B0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 027EB2B4 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB2B4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 027EB2B8 */ cpu->f[0] = cpu->f[7] - cpu->f[8];
|
|
/* 027EB2BC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB2BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027EB2C0 */ _t54 = cpu->r[31] + 0x00000018u;
|
|
/* 027EB2C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 027EB2C4 */ cpu->f[5] = cpu->f[9] - cpu->f[13];
|
|
/* 027EB2C8 */ _t55 = cpu->r[1] + 0x00000058u;
|
|
/* 027EB2C8 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[0]);
|
|
/* 027EB2CC */ _t56 = cpu->r[1] + 0x00000058u;
|
|
/* 027EB2CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027EB2D0 */ cpu->f[11] = cpu->f[11] + cpu->f[10];
|
|
/* 027EB2D4 */ /* nop */
|
|
/* 027EB2D8 */ _t57 = cpu->r[31] + 0x00000014u;
|
|
/* 027EB2D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 027EB2DC */ /* nop */
|
|
/* 027EB2E0 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 027EB2E0 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 027EB2E4 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 027EB2E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 027EB2E8 */ /* nop */
|
|
/* 027EB2EC */ _t60 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027EB2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027EB2F0 */ _t61 = cpu->r[1] + 0x00000054u;
|
|
/* 027EB2F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027EB2F4 */ _t62 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB2F4 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 027EB2F8 */ _t63 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB2F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027EB2FC */ _t64 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027EB2FC */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 027EB300 */ cpu->f[9] = cpu->f[9] - cpu->f[10];
|
|
/* 027EB304 */ _t65 = cpu->r[31] + 0x00000018u;
|
|
/* 027EB304 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[11]);
|
|
/* 027EB308 */ _t66 = cpu->r[31] + 0x00000024u;
|
|
/* 027EB308 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[6]);
|
|
/* 027EB30C */ _t67 = cpu->r[1] + 0x00000064u;
|
|
/* 027EB30C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[9]);
|
|
/* 027EB310 */ _t68 = cpu->r[1] + 0x00000064u;
|
|
/* 027EB310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027EB314 */ _t69 = cpu->r[1] + 0x00000030u;
|
|
/* 027EB314 */ rbrew_write32(cpu->mem, _t69, cpu->r[10]);
|
|
/* 027EB318 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 027EB318 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027EB31C */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 027EB31C */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 027EB320 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 027EB320 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 027EB324 */ _t73 = cpu->r[31] + 0x00000028u;
|
|
/* 027EB324 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[12]);
|
|
/* 027EB328 */ cpu->f[12] = cpu->f[28] * cpu->f[30];
|
|
/* 027EB32C */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027EB32C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027EB330 */ _t75 = cpu->r[1] + 0x00000060u;
|
|
/* 027EB330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027EB334 */ cpu->f[7] = fabs(cpu->f[5]);
|
|
/* 027EB338 */ _t76 = cpu->r[31] + 0x00000020u;
|
|
/* 027EB338 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 027EB33C */ cpu->f[4] = cpu->f[4] + cpu->f[3];
|
|
/* 027EB340 */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 027EB340 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 027EB344 */ _t78 = cpu->r[1] + 0x00000030u;
|
|
/* 027EB344 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 027EB348 */ cpu->f[10] = cpu->f[10] + cpu->f[7];
|
|
/* 027EB34C */ _t79 = cpu->r[31] + 0x00000030u;
|
|
/* 027EB34C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
|
|
/* 027EB350 */ _t80 = cpu->r[31] + 0x00000038u;
|
|
/* 027EB350 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[9]);
|
|
/* 027EB354 */ cpu->f[12] = fma(cpu->f[29], cpu->f[11], cpu->f[12]);
|
|
/* 027EB358 */ _t81 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027EB358 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[4]);
|
|
/* 027EB35C */ _t82 = cpu->r[31] + 0x00000034u;
|
|
/* 027EB35C */ rbrew_write_f32(cpu->mem, _t82, cpu->f[8]);
|
|
/* 027EB360 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 027EB364 */ _t83 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027EB364 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[13]);
|
|
/* 027EB368 */ _t84 = cpu->r[31] + 0x00000020u;
|
|
/* 027EB368 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
|
|
/* 027EB36C */ _t85 = cpu->r[31] + 0x00000070u;
|
|
/* 027EB36C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 027EB370 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB370 */ _t87 = _t86 & 0x00000001u;
|
|
/* 027EB370 */ if (_t87) goto L_027EB374; else goto L_027EB394;
|
|
L_027EB374: ; // 0x27eb374
|
|
/* 027EB374 */ cpu->f[0] = cpu->f[28] * cpu->f[1];
|
|
/* 027EB378 */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB378 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 027EB37C */ cpu->f[8] = fma(cpu->f[29], cpu->f[13], cpu->f[0]);
|
|
/* 027EB380 */ cpu->f[7] = cpu->f[8];
|
|
/* 027EB384 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027EB388 */ _t89 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027EB388 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 027EB38C */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB38C */ _t91 = _t90 & 0x00000001u;
|
|
/* 027EB38C */ if (_t91) goto L_027EB3C4; else goto L_027EB390;
|
|
L_027EB390: ; // 0x27eb390
|
|
/* 027EB390 */ goto L_027EB408;
|
|
L_027EB394: ; // 0x27eb394
|
|
/* 027EB394 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB398 */ _t92 = cpu->r[11] + 0x00000010u;
|
|
/* 027EB398 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 027EB39C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[11]);
|
|
/* 027EB3A0 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB3A0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 027EB3A0 */ if (_t94) goto L_027EB3A4; else goto L_027EB3A8;
|
|
L_027EB3A4: ; // 0x27eb3a4
|
|
/* 027EB3A4 */ cpu->f[12] = cpu->f[11];
|
|
L_027EB3A8: ; // 0x27eb3a8
|
|
/* 027EB3A8 */ cpu->f[0] = cpu->f[28] * cpu->f[1];
|
|
/* 027EB3AC */ _t95 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EB3AC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 027EB3B0 */ cpu->f[8] = fma(cpu->f[29], cpu->f[13], cpu->f[0]);
|
|
/* 027EB3B4 */ cpu->f[7] = cpu->f[8];
|
|
/* 027EB3B8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 027EB3BC */ _t96 = cpu->r[31] + 0x0000006Cu;
|
|
/* 027EB3BC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[12]);
|
|
/* 027EB3C0 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB3C0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027EB3C0 */ if (_t98) goto L_027EB3C4; else goto L_027EB408;
|
|
L_027EB3C4: ; // 0x27eb3c4
|
|
/* 027EB3C4 */ _t99 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB3C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 027EB3C8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB3CC */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB3CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 027EB3D0 */ _t101 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EB3D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 027EB3D4 */ _t102 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB3D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 027EB3D8 */ _t103 = cpu->r[31] + 0x00000050u;
|
|
/* 027EB3D8 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[12]);
|
|
/* 027EB3DC */ _t104 = cpu->r[31] + 0x00000048u;
|
|
/* 027EB3DC */ rbrew_write_f32(cpu->mem, _t104, cpu->f[10]);
|
|
/* 027EB3E0 */ _t105 = cpu->r[31] + 0x00000070u;
|
|
/* 027EB3E0 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[31]);
|
|
/* 027EB3E4 */ _t106 = cpu->r[31] + 0x00000044u;
|
|
/* 027EB3E4 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[9]);
|
|
/* 027EB3E8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
|
|
/* 027EB3EC */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB3EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 027EB3F0 */ _t108 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB3F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 027EB3F4 */ _t109 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027EB3F4 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[11]);
|
|
/* 027EB3F8 */ _t110 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027EB3F8 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[7]);
|
|
/* 027EB3FC */ _t111 = cpu->r[31] + 0x00000040u;
|
|
/* 027EB3FC */ rbrew_write_f32(cpu->mem, _t111, cpu->f[8]);
|
|
/* 027EB400 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB400 */ _t113 = _t112 & 0x00000001u;
|
|
/* 027EB400 */ if (_t113) goto L_027EB404; else goto L_027EB4CC;
|
|
L_027EB404: ; // 0x27eb404
|
|
/* 027EB404 */ goto L_027EB460;
|
|
L_027EB408: ; // 0x27eb408
|
|
/* 027EB408 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027EB40C */ _t114 = cpu->r[31] + 0x00000070u;
|
|
/* 027EB40C */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]);
|
|
/* 027EB410 */ _t115 = cpu->r[12] + 0x000037D8u;
|
|
/* 027EB410 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027EB414 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[10]);
|
|
/* 027EB418 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB418 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027EB418 */ if (_t117) goto L_027EB41C; else goto L_027EB420;
|
|
L_027EB41C: ; // 0x27eb41c
|
|
/* 027EB41C */ cpu->f[7] = cpu->f[10];
|
|
L_027EB420: ; // 0x27eb420
|
|
/* 027EB420 */ _t118 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB420 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 027EB424 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB428 */ _t119 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB428 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 027EB42C */ _t120 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EB42C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 027EB430 */ _t121 = cpu->r[31] + 0x00000050u;
|
|
/* 027EB430 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[12]);
|
|
/* 027EB434 */ _t122 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB434 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 027EB438 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB438 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 027EB43C */ _t124 = cpu->r[31] + 0x00000048u;
|
|
/* 027EB43C */ rbrew_write_f32(cpu->mem, _t124, cpu->f[10]);
|
|
/* 027EB440 */ _t125 = cpu->r[31] + 0x0000004Cu;
|
|
/* 027EB440 */ rbrew_write_f32(cpu->mem, _t125, cpu->f[11]);
|
|
/* 027EB444 */ _t126 = cpu->r[31] + 0x00000044u;
|
|
/* 027EB444 */ rbrew_write_f32(cpu->mem, _t126, cpu->f[9]);
|
|
/* 027EB448 */ _t127 = cpu->r[31] + 0x00000070u;
|
|
/* 027EB448 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[7]);
|
|
/* 027EB44C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
|
|
/* 027EB450 */ _t128 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB450 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 027EB454 */ _t129 = cpu->r[31] + 0x00000040u;
|
|
/* 027EB454 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[8]);
|
|
/* 027EB458 */ _t130 = cpu->r[31] + 0x0000003Cu;
|
|
/* 027EB458 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[7]);
|
|
/* 027EB45C */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB45C */ _t132 = _t131 & 0x00000001u;
|
|
/* 027EB45C */ if (_t132) goto L_027EB460; else goto L_027EB4CC;
|
|
L_027EB460: ; // 0x27eb460
|
|
/* 027EB460 */ _t133 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB460 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 027EB464 */ cpu->f[13] = cpu->f[10] * cpu->f[10];
|
|
/* 027EB468 */ _t134 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 027EB46C */ cpu->f[0] = fma(cpu->f[11], cpu->f[11], cpu->f[13]);
|
|
/* 027EB470 */ _t135 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB470 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 027EB474 */ cpu->f[6] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 027EB478 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[31]);
|
|
/* 027EB47C */ _t136 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB47C */ _t137 = _t136 & 0x00000001u;
|
|
/* 027EB47C */ if (_t137) goto L_027EB480; else goto L_027EB4C0;
|
|
L_027EB480: ; // 0x27eb480
|
|
/* 027EB480 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EB484 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB488 */ _t138 = cpu->r[12] + 0x00000018u;
|
|
/* 027EB488 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 027EB48C */ _t139 = cpu->r[11] + 0x00000014u;
|
|
/* 027EB48C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 027EB490 */ _ft140 = sqrt(cpu->f[6]);
|
|
/* 027EB490 */ _ft141 = (double)(int32_t)0x00000001u;
|
|
/* 027EB490 */ cpu->f[0] = _ft141 / _ft140;
|
|
/* 027EB494 */ cpu->f[7] = cpu->f[0] * cpu->f[0];
|
|
/* 027EB498 */ cpu->f[8] = cpu->f[0] * cpu->f[12];
|
|
/* 027EB49C */ cpu->f[7] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[13]));
|
|
/* 027EB4A0 */ cpu->f[0] = cpu->f[7] * cpu->f[8];
|
|
/* 027EB4A4 */ /* nop */
|
|
/* 027EB4A8 */ _t142 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB4A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 027EB4AC */ /* nop */
|
|
/* 027EB4B0 */ /* nop */
|
|
/* 027EB4B4 */ _t143 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB4B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 027EB4B8 */ cpu->f[9] = cpu->f[9] * cpu->f[0];
|
|
/* 027EB4BC */ _t144 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB4BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t144);
|
|
L_027EB4C0: ; // 0x27eb4c0
|
|
/* 027EB4C0 */ _t145 = cpu->r[31] + 0x00000064u;
|
|
/* 027EB4C0 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[10]);
|
|
/* 027EB4C4 */ _t146 = cpu->r[31] + 0x00000060u;
|
|
/* 027EB4C4 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[11]);
|
|
/* 027EB4C8 */ _t147 = cpu->r[31] + 0x00000068u;
|
|
/* 027EB4C8 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[9]);
|
|
L_027EB4CC: ; // 0x27eb4cc
|
|
/* 027EB4CC */ _t148 = cpu->r[1] + 0x000000B0u;
|
|
/* 027EB4CC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 027EB4D0 */ _t149 = cpu->r[1] + 0x000000A0u;
|
|
/* 027EB4D0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t149);
|
|
/* 027EB4D4 */ _t150 = cpu->r[1] + 0x000000A8u;
|
|
/* 027EB4D4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t150);
|
|
/* 027EB4D8 */ _t151 = cpu->r[1] + 0x00000098u;
|
|
/* 027EB4D8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t151);
|
|
/* 027EB4DC */ _t152 = cpu->r[1] + 0x000000C0u;
|
|
/* 027EB4DC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t152);
|
|
/* 027EB4E0 */ _t153 = cpu->r[1] + 0x000000D0u;
|
|
/* 027EB4E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 027EB4E4 */ _t154 = cpu->r[1] + 0x000000B8u;
|
|
/* 027EB4E4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t154);
|
|
/* 027EB4E8 */ _t155 = cpu->r[1] + 0x000000C8u;
|
|
/* 027EB4E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t155);
|
|
/* 027EB4EC */ _t156 = cpu->r[1] + 0x00000074u;
|
|
/* 027EB4EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027EB4F0 */ _t157 = cpu->r[1] + 0x00000090u;
|
|
/* 027EB4F0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 027EB4F4 */ _t158 = cpu->r[1] + 0x00000080u;
|
|
/* 027EB4F4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t158);
|
|
/* 027EB4F8 */ _t159 = cpu->r[1] + 0x00000088u;
|
|
/* 027EB4F8 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t159);
|
|
/* 027EB4FC */ _t160 = cpu->r[1] + 0x00000078u;
|
|
/* 027EB4FC */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t160);
|
|
/* 027EB500 */ _t161 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB500 */ _t162 = _t161 & 0x00000001u;
|
|
/* 027EB500 */ if (_t162) goto L_027EB504; // else: addr-0 trap, fall-through
|
|
L_027EB504: ; // 0x27eb504
|
|
/* 027EB504 */ _t163 = cpu->r[1] + 0x000000DCu;
|
|
/* 027EB504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t163);
|
|
/* 027EB508 */ cpu->lr = cpu->r[0];
|
|
/* 027EB50C */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 027EB510 */ return;
|
|
}
|
|
|
|
// fn_027EB514 @ 0x27eb514
|
|
void Gambit_fn_027EB514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_027EAF20: ; // 0x27eaf20
|
|
/* 027EAF20 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EAF20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EAF20 */ cpu->r[1] = _t0;
|
|
/* 027EAF24 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EAF28 */ _t1 = cpu->r[5] + 0x00000004u;
|
|
/* 027EAF28 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027EAF2C */ _t2 = cpu->r[11] + 0x00000008u;
|
|
/* 027EAF2C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027EAF30 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 027EAF30 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027EAF34 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 027EAF34 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027EAF38 */ _t5 = cpu->r[6] + 0x00000004u;
|
|
/* 027EAF38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EAF3C */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 027EAF3C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 027EAF40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 027EAF40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[11]);
|
|
/* 027EAF44 */ _t8 = cpu->r[3] + 0x0000004Cu;
|
|
/* 027EAF44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 027EAF48 */ _t9 = cpu->r[3] + 0x00000048u;
|
|
/* 027EAF48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
|
|
/* 027EAF4C */ _t10 = cpu->r[3] + 0x00000050u;
|
|
/* 027EAF4C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 027EAF50 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EAF50 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 027EAF54 */ _t12 = cpu->r[3] + 0x00000024u;
|
|
/* 027EAF54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 027EAF58 */ _t13 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027EAF58 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 027EAF5C */ _t14 = cpu->r[3] + 0x00000020u;
|
|
/* 027EAF5C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 027EAF60 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 027EAF60 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[6]);
|
|
/* 027EAF64 */ _t16 = cpu->r[3] + 0x00000030u;
|
|
/* 027EAF64 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 027EAF68 */ _t17 = cpu->r[3] + 0x0000003Cu;
|
|
/* 027EAF68 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[6]);
|
|
/* 027EAF6C */ _t18 = cpu->r[3] + 0x00000034u;
|
|
/* 027EAF6C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 027EAF70 */ _t19 = cpu->r[3] + 0x00000018u;
|
|
/* 027EAF70 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 027EAF74 */ _t20 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027EAF74 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027EAF78 */ _t21 = cpu->r[3] + 0x00000028u;
|
|
/* 027EAF78 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 027EAF7C */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 027EAF7C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[7]);
|
|
/* 027EAF80 */ _t23 = cpu->r[3] + 0x00000040u;
|
|
/* 027EAF80 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[7]);
|
|
/* 027EAF84 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 027EAF84 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 027EAF88 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 027EAF88 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 027EAF8C */ _t26 = cpu->r[3] + 0x00000044u;
|
|
/* 027EAF8C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 027EAF90 */ _t27 = cpu->r[3] + 0x00000038u;
|
|
/* 027EAF90 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 027EAF94 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 027EAF94 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027EAF98 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027EAF98 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[6]);
|
|
/* 027EAF9C */ _t30 = cpu->r[3] + 0x00000054u;
|
|
/* 027EAF9C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[8]);
|
|
/* 027EAFA0 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 027EAFA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 027EAFA4 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 027EAFA4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 027EAFA8 */ _t33 = cpu->r[3] + 0x00000058u;
|
|
/* 027EAFA8 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 027EAFAC */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 027EAFAC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027EAFB0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EAFB0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[7]);
|
|
/* 027EAFB4 */ _t36 = cpu->r[3] + 0x0000005Cu;
|
|
/* 027EAFB4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 027EAFB8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027EAFBC */ _t37 = cpu->r[3] + 0x00000064u;
|
|
/* 027EAFBC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 027EAFC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027EAFC4 */ _t38 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027EAFC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 027EAFC8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 027EAFC8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 027EAFCC */ _t40 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027EAFCC */ rbrew_write_f32(cpu->mem, _t40, cpu->f[13]);
|
|
/* 027EAFD0 */ cpu->r[5] = cpu->r[9];
|
|
/* 027EAFD4 */ _t41 = cpu->r[3] + 0x00000060u;
|
|
/* 027EAFD4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 027EAFD8 */ cpu->f[0] = cpu->f[13];
|
|
/* 027EAFDC */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EAFDC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 027EAFE0 */ cpu->r[4] = cpu->r[9];
|
|
/* 027EAFE4 */ cpu->r[8] = cpu->r[3] + 0x00000074u;
|
|
/* 027EAFE8 */ _t43 = cpu->r[3] + 0x00000068u;
|
|
/* 027EAFE8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]);
|
|
/* 027EAFEC */ cpu->r[6] = cpu->r[3] + 0x000000B4u;
|
|
/* 027EAFF0 */ cpu->r[7] = cpu->r[3] + 0x000000F4u;
|
|
/* 027EAFF4 */ _t44 = cpu->r[3] + 0x00000070u;
|
|
/* 027EAFF4 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
L_027EAFF8: ; // 0x27eaff8
|
|
/* 027EAFF8 */ cpu->f[13] = cpu->f[0];
|
|
/* 027EAFFC */ cpu->r[12] = cpu->r[5];
|
|
/* 027EB000 */ cpu->r[3] = cpu->r[4];
|
|
/* 027EB004 */ cpu->r[10] = cpu->r[8] + cpu->r[5];
|
|
L_027EB008: ; // 0x27eb008
|
|
/* 027EB008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB00C */ _t45 = cpu->r[10] + 0x00000000u;
|
|
/* 027EB00C */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 027EB010 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB010 */ _t47 = _t46 & 0x00000001u;
|
|
/* 027EB010 */ if (_t47) goto L_027EB014; else goto L_027EB024;
|
|
L_027EB014: ; // 0x27eb014
|
|
/* 027EB014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB018 */ _t48 = cpu->r[6] + cpu->r[12];
|
|
/* 027EB018 */ rbrew_write32(cpu->mem, _t48, cpu->r[13]);
|
|
/* 027EB01C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB01C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027EB01C */ if (_t50) goto L_027EB030; else goto L_027EB020;
|
|
L_027EB020: ; // 0x27eb020
|
|
/* 027EB020 */ goto L_027EB06C;
|
|
L_027EB024: ; // 0x27eb024
|
|
/* 027EB024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB028 */ _t51 = cpu->r[6] + 0x00000000u;
|
|
/* 027EB028 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[13]);
|
|
/* 027EB02C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB02C */ _t53 = _t52 & 0x00000001u;
|
|
/* 027EB02C */ if (_t53) goto L_027EB030; else goto L_027EB06C;
|
|
L_027EB030: ; // 0x27eb030
|
|
/* 027EB030 */ _t54 = cpu->r[7] + cpu->r[3];
|
|
/* 027EB030 */ rbrew_write32(cpu->mem, _t54, cpu->r[13]);
|
|
/* 027EB034 */ cpu->r[11] = cpu->r[7] + cpu->r[3];
|
|
/* 027EB038 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EB03C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027EB040 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EB044 */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 027EB044 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[13]);
|
|
/* 027EB048 */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027EB04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u);
|
|
/* 027EB050 */ _t56 = cpu->r[11] + 0x00000008u;
|
|
/* 027EB050 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 027EB054 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 027EB058 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB058 */ _t58 = _t57 & 0x00000001u;
|
|
/* 027EB058 */ if (_t58) goto L_027EB05C; else goto L_027EB094;
|
|
L_027EB05C: ; // 0x27eb05c
|
|
/* 027EB05C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 027EB060 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB060 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027EB060 */ if (_t60) goto L_027EAFF8; else goto L_027EB064;
|
|
L_027EB064: ; // 0x27eb064
|
|
/* 027EB064 */ cpu->r[10] = cpu->r[8];
|
|
/* 027EB068 */ goto L_027EB008;
|
|
L_027EB06C: ; // 0x27eb06c
|
|
/* 027EB06C */ _t61 = cpu->r[7] + 0x00000000u;
|
|
/* 027EB06C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[13]);
|
|
/* 027EB070 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 027EB074 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 027EB078 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EB07C */ _t62 = cpu->r[7] + 0x00000004u;
|
|
/* 027EB07C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[13]);
|
|
/* 027EB080 */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 027EB084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000010u);
|
|
/* 027EB088 */ _t63 = cpu->r[7] + 0x00000008u;
|
|
/* 027EB088 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[13]);
|
|
/* 027EB08C */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 027EB090 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB090 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EB090 */ if (_t65) goto L_027EB05C; else goto L_027EB094;
|
|
L_027EB094: ; // 0x27eb094
|
|
/* 027EB094 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB098 */ return;
|
|
L_027EB514: ; // 0x27eb514
|
|
/* 027EB514 */ cpu->r[12] = cpu->r[4];
|
|
/* 027EB518 */ cpu->r[4] = cpu->r[5];
|
|
/* 027EB51C */ _t66 = cpu->r[3] + 0x00000120u;
|
|
/* 027EB51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027EB520 */ cpu->r[6] = cpu->r[12] + 0x0000003Cu;
|
|
/* 027EB524 */ cpu->r[5] = cpu->r[12] + 0x00000034u;
|
|
/* 027EB528 */ goto L_027EAF20;
|
|
}
|
|
|
|
// fn_027EB52C @ 0x27eb52c
|
|
void Gambit_fn_027EB52C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027EB52C: ; // 0x27eb52c
|
|
/* 027EB52C */ cpu->r[0] = cpu->lr;
|
|
/* 027EB530 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EB530 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EB534 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EB534 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EB534 */ cpu->r[1] = _t1;
|
|
/* 027EB538 */ _t2 = cpu->r[4] + 0x00000010u;
|
|
/* 027EB538 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EB53C */ _t3 = cpu->r[4] + 0x0000000Du;
|
|
/* 027EB53C */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027EB540 */ cpu->r[11] = cpu->r[12] & cpu->r[0];
|
|
/* 027EB540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EB544 */ _t4 = cpu->r[3] + 0x00000120u;
|
|
/* 027EB544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EB548 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB548 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EB548 */ if (_t6) goto L_027EB54C; else goto L_027EB568;
|
|
L_027EB54C: ; // 0x27eb54c
|
|
/* 027EB54C */ cpu->f[1] = cpu->f[3];
|
|
/* 027EB550 */ Gambit_fn_027EB09C(cpu);
|
|
/* 027EB554 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EB558 */ cpu->lr = cpu->r[0];
|
|
/* 027EB55C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB560 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EB564 */ return;
|
|
L_027EB568: ; // 0x27eb568
|
|
/* 027EB568 */ cpu->r[5] = cpu->r[4] + 0x0000003Cu;
|
|
/* 027EB56C */ cpu->r[4] = cpu->r[4] + 0x00000034u;
|
|
/* 027EB570 */ Gambit_fn_027EB160(cpu);
|
|
/* 027EB574 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EB578 */ cpu->lr = cpu->r[0];
|
|
/* 027EB57C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB580 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EB584 */ return;
|
|
}
|
|
|
|
// fn_027EB534 @ 0x27eb534
|
|
void Gambit_fn_027EB534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_027EB534: ; // 0x27eb534
|
|
/* 027EB534 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EB534 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB534 */ cpu->r[1] = _t0;
|
|
/* 027EB538 */ _t1 = cpu->r[4] + 0x00000010u;
|
|
/* 027EB538 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027EB53C */ _t2 = cpu->r[4] + 0x0000000Du;
|
|
/* 027EB53C */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EB540 */ cpu->r[11] = cpu->r[12] & cpu->r[0];
|
|
/* 027EB540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EB544 */ _t3 = cpu->r[3] + 0x00000120u;
|
|
/* 027EB544 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EB548 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB548 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027EB548 */ if (_t5) goto L_027EB54C; else goto L_027EB568;
|
|
L_027EB54C: ; // 0x27eb54c
|
|
/* 027EB54C */ cpu->f[1] = cpu->f[3];
|
|
/* 027EB550 */ Gambit_fn_027EB09C(cpu);
|
|
/* 027EB554 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EB558 */ cpu->lr = cpu->r[0];
|
|
/* 027EB55C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB560 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EB564 */ return;
|
|
L_027EB568: ; // 0x27eb568
|
|
/* 027EB568 */ cpu->r[5] = cpu->r[4] + 0x0000003Cu;
|
|
/* 027EB56C */ cpu->r[4] = cpu->r[4] + 0x00000034u;
|
|
/* 027EB570 */ Gambit_fn_027EB160(cpu);
|
|
/* 027EB574 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EB578 */ cpu->lr = cpu->r[0];
|
|
/* 027EB57C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB580 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EB584 */ return;
|
|
}
|
|
|
|
// fn_027EB588 @ 0x27eb588
|
|
void Gambit_fn_027EB588(CPUState* cpu) {
|
|
uint32_t _t0, _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_027EB588: ; // 0x27eb588
|
|
/* 027EB588 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EB588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB588 */ cpu->r[1] = _t0;
|
|
/* 027EB58C */ cpu->r[12] = 0x10110000u;
|
|
/* 027EB590 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB590 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EB594 */ cpu->r[0] = cpu->lr;
|
|
/* 027EB598 */ _t2 = cpu->r[12] + 0x00000014u;
|
|
/* 027EB598 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027EB59C */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB5A0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB5A0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027EB5A4 */ /* nop */
|
|
/* 027EB5A8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EB5AC */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB5AC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027EB5B0 */ cpu->f[31] = cpu->f[1];
|
|
/* 027EB5B4 */ _t5 = cpu->r[11] + 0x00000008u;
|
|
/* 027EB5B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EB5B8 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027EB5B8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027EB5BC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB5BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027EB5C0 */ _t8 = cpu->r[3] + 0x00000120u;
|
|
/* 027EB5C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EB5C4 */ Gambit_fn_027EB52C(cpu);
|
|
/* 027EB5C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EB5CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB5CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EB5CC */ if (_t10) goto L_027EB5E0; else goto L_027EB5D0;
|
|
L_027EB5D0: ; // 0x27eb5d0
|
|
/* 027EB5D0 */ cpu->r[3] = cpu->r[31] + 0x00000018u;
|
|
/* 027EB5D4 */ Gambit_fn_02C69350(cpu);
|
|
/* 027EB5D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[31]);
|
|
/* 027EB5DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB5DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EB5DC */ if (_t12) goto L_027EB5E0; else goto L_027EB604;
|
|
L_027EB5E0: ; // 0x27eb5e0
|
|
/* 027EB5E0 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB5E0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027EB5E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB5E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EB5E8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB5E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 027EB5EC */ cpu->r[3] = 0x00000000u;
|
|
/* 027EB5F0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB5F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027EB5F0 */ if (_t17) goto L_027EB5F4; // else: addr-0 trap, fall-through
|
|
L_027EB5F4: ; // 0x27eb5f4
|
|
/* 027EB5F4 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EB5F8 */ cpu->lr = cpu->r[0];
|
|
/* 027EB5FC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB600 */ return;
|
|
L_027EB604: ; // 0x27eb604
|
|
/* 027EB604 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 027EB604 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027EB608 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB608 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EB60C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB60C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 027EB610 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EB614 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB614 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027EB614 */ if (_t23) goto L_027EB618; // else: addr-0 trap, fall-through
|
|
L_027EB618: ; // 0x27eb618
|
|
/* 027EB618 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EB61C */ cpu->lr = cpu->r[0];
|
|
/* 027EB620 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB624 */ return;
|
|
}
|
|
|
|
// fn_027EB628 @ 0x27eb628
|
|
void Gambit_fn_027EB628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027EB628: ; // 0x27eb628
|
|
/* 027EB628 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EB628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB628 */ cpu->r[1] = _t0;
|
|
/* 027EB62C */ /* nop */
|
|
/* 027EB630 */ cpu->r[0] = cpu->lr;
|
|
/* 027EB634 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB634 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EB638 */ cpu->r[29] = cpu->r[3];
|
|
/* 027EB63C */ cpu->r[31] = 0x00000000u;
|
|
/* 027EB640 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 027EB640 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EB644 */ cpu->r[26] = cpu->r[31];
|
|
/* 027EB648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[6]);
|
|
/* 027EB64C */ cpu->r[30] = cpu->r[4];
|
|
/* 027EB650 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB650 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EB650 */ if (_t4) goto L_027EB654; else goto L_027EB6F0;
|
|
L_027EB654: ; // 0x27eb654
|
|
/* 027EB654 */ cpu->r[28] = 0x00000001u;
|
|
/* 027EB658 */ cpu->r[27] = 0x00000000u;
|
|
L_027EB65C: ; // 0x27eb65c
|
|
/* 027EB65C */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 027EB65C */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EB660 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[9]);
|
|
/* 027EB664 */ cpu->r[12] = 0x00000000u;
|
|
/* 027EB668 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB668 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027EB668 */ if (_t7) goto L_027EB66C; else goto L_027EB674;
|
|
L_027EB66C: ; // 0x27eb66c
|
|
/* 027EB66C */ _t8 = cpu->r[29] + 0x00000010u;
|
|
/* 027EB66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EB670 */ _t9 = cpu->r[10] + cpu->r[27];
|
|
/* 027EB670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
L_027EB674: ; // 0x27eb674
|
|
/* 027EB674 */ _t10 = cpu->r[12] + 0x00000060u;
|
|
/* 027EB674 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027EB678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EB67C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB67C */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EB67C */ if (_t12) goto L_027EB6C8; else goto L_027EB680;
|
|
L_027EB680: ; // 0x27eb680
|
|
/* 027EB680 */ _t13 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027EB680 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EB684 */ _t14 = cpu->r[6] + 0x00000014u;
|
|
/* 027EB684 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EB688 */ cpu->ctr = cpu->r[5];
|
|
/* 027EB68C */ cpu->r[3] = cpu->r[30];
|
|
/* 027EB690 */ cpu->r[4] = cpu->r[12] + 0x00000034u;
|
|
/* 027EB694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EB69C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB69C */ _t16 = _t15 & 0x00000001u;
|
|
/* 027EB69C */ if (_t16) goto L_027EB6C4; else goto L_027EB6A0;
|
|
L_027EB6A0: ; // 0x27eb6a0
|
|
/* 027EB6A0 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 027EB6A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EB6A4 */ _t18 = cpu->r[9] + 0x0000010Cu;
|
|
/* 027EB6A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EB6A8 */ /* nop */
|
|
/* 027EB6AC */ cpu->r[12] = cpu->r[12] | cpu->r[0];
|
|
/* 027EB6B0 */ _t19 = cpu->r[9] + 0x0000010Cu;
|
|
/* 027EB6B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 027EB6B4 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 027EB6B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EB6B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 027EB6BC */ cpu->r[31] = 0x00000001u;
|
|
/* 027EB6C0 */ _t21 = cpu->r[11] + 0x00000114u;
|
|
/* 027EB6C0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_027EB6C4: ; // 0x27eb6c4
|
|
/* 027EB6C4 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 027EB6C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
L_027EB6C8: ; // 0x27eb6c8
|
|
/* 027EB6C8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027EB6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[6]);
|
|
/* 027EB6D0 */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 027EB6D4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB6D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EB6D4 */ if (_t24) goto L_027EB65C; else goto L_027EB6D8;
|
|
L_027EB6D8: ; // 0x27eb6d8
|
|
/* 027EB6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EB6DC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB6DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EB6DC */ if (_t26) goto L_027EB6F0; else goto L_027EB6E0;
|
|
L_027EB6E0: ; // 0x27eb6e0
|
|
/* 027EB6E0 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 027EB6E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EB6E4 */ _t28 = cpu->r[7] + 0x00000104u;
|
|
/* 027EB6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EB6E8 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 027EB6EC */ _t29 = cpu->r[7] + 0x00000104u;
|
|
/* 027EB6EC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_027EB6F0: ; // 0x27eb6f0
|
|
/* 027EB6F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EB6F4 */ /* nop */
|
|
/* 027EB6F8 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB6F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EB6FC */ cpu->lr = cpu->r[0];
|
|
/* 027EB700 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EB704 */ return;
|
|
}
|
|
|
|
// fn_027EB708 @ 0x27eb708
|
|
void Gambit_fn_027EB708(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EB708: ; // 0x27eb708
|
|
/* 027EB708 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EB70C */ _t0 = cpu->r[12] + 0x00000014u;
|
|
/* 027EB70C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027EB710 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027EB714 */ _t1 = cpu->r[12] + 0x000037D8u;
|
|
/* 027EB714 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 027EB718 */ return;
|
|
}
|
|
|
|
// fn_027EB71C @ 0x27eb71c
|
|
void Gambit_fn_027EB71C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027EB71C: ; // 0x27eb71c
|
|
/* 027EB71C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 027EB71C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EB720 */ return;
|
|
}
|
|
|
|
// fn_027EB724 @ 0x27eb724
|
|
void Gambit_fn_027EB724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027EB724: ; // 0x27eb724
|
|
/* 027EB724 */ cpu->r[0] = cpu->lr;
|
|
/* 027EB728 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EB728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB728 */ cpu->r[1] = _t0;
|
|
/* 027EB72C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB72C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EB730 */ cpu->r[11] = cpu->r[3];
|
|
/* 027EB734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB734 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EB738 */ Gambit_fn_027EB71C(cpu);
|
|
/* 027EB73C */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 027EB73C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EB740 */ _t4 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EB740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EB744 */ cpu->ctr = cpu->r[0];
|
|
/* 027EB748 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 027EB748 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EB74C */ cpu->r[3] = cpu->r[11];
|
|
/* 027EB750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB754 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 027EB754 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EB758 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 027EB758 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EB75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EB760 */ cpu->ctr = cpu->r[12];
|
|
/* 027EB764 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB764 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027EB764 */ if (_t9) goto L_027EB780; else goto L_027EB768;
|
|
L_027EB768: ; // 0x27eb768
|
|
/* 027EB768 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB76C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB76C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EB770 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EB774 */ cpu->lr = cpu->r[0];
|
|
/* 027EB778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB77C */ return;
|
|
L_027EB780: ; // 0x27eb780
|
|
/* 027EB780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB784 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EB788 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EB78C */ cpu->lr = cpu->r[0];
|
|
/* 027EB790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB794 */ return;
|
|
}
|
|
|
|
// fn_027EB728 @ 0x27eb728
|
|
void Gambit_fn_027EB728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027EB728: ; // 0x27eb728
|
|
/* 027EB728 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EB728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB728 */ cpu->r[1] = _t0;
|
|
/* 027EB72C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB72C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EB730 */ cpu->r[11] = cpu->r[3];
|
|
/* 027EB734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB734 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EB738 */ Gambit_fn_027EB71C(cpu);
|
|
/* 027EB73C */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 027EB73C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EB740 */ _t4 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EB740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EB744 */ cpu->ctr = cpu->r[0];
|
|
/* 027EB748 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 027EB748 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EB74C */ cpu->r[3] = cpu->r[11];
|
|
/* 027EB750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB754 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 027EB754 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EB758 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 027EB758 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EB75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EB760 */ cpu->ctr = cpu->r[12];
|
|
/* 027EB764 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB764 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027EB764 */ if (_t9) goto L_027EB780; else goto L_027EB768;
|
|
L_027EB768: ; // 0x27eb768
|
|
/* 027EB768 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB76C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB76C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EB770 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EB774 */ cpu->lr = cpu->r[0];
|
|
/* 027EB778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB77C */ return;
|
|
L_027EB780: ; // 0x27eb780
|
|
/* 027EB780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB784 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EB788 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EB78C */ cpu->lr = cpu->r[0];
|
|
/* 027EB790 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB794 */ return;
|
|
}
|
|
|
|
// fn_027EB798 @ 0x27eb798
|
|
void Gambit_fn_027EB798(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_027EB798: ; // 0x27eb798
|
|
/* 027EB798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EB79C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB79C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027EB79C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EB79C */ goto L_027EB7A0;
|
|
L_027EB7A0: ; // 0x27eb7a0
|
|
/* 027EB7A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027EB7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EB7A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB7A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027EB7A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EB7A4 */ goto L_027EB7A8;
|
|
L_027EB7A8: ; // 0x27eb7a8
|
|
/* 027EB7A8 */ 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_027EB7AC @ 0x27eb7ac
|
|
void Gambit_fn_027EB7AC(CPUState* cpu) {
|
|
L_027EB7AC: ; // 0x27eb7ac
|
|
/* 027EB7AC */ return;
|
|
}
|
|
|
|
// fn_027EB7B0 @ 0x27eb7b0
|
|
void Gambit_fn_027EB7B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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;
|
|
|
|
L_027EB7B0: ; // 0x27eb7b0
|
|
/* 027EB7B0 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 027EB7B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EB7B0 */ cpu->r[1] = _t0;
|
|
/* 027EB7B4 */ /* nop */
|
|
/* 027EB7B8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027EB7BC */ cpu->r[11] = cpu->r[11] + 0x000000C8u;
|
|
/* 027EB7C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EB7C4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB7C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 027EB7C8 */ cpu->r[27] = 0x10110000u;
|
|
/* 027EB7CC */ _t2 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027EB7CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EB7D0 */ cpu->r[27] = cpu->r[27] + 0x00000038u;
|
|
/* 027EB7D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB7D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 027EB7D8 */ cpu->r[0] = 0x10110000u;
|
|
/* 027EB7DC */ cpu->r[8] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB7E0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB7E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 027EB7E4 */ cpu->r[0] = cpu->r[0] + 0x000000B0u;
|
|
/* 027EB7E8 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027EB7E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EB7EC */ cpu->r[9] = 0x00000100u;
|
|
/* 027EB7F0 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 027EB7F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027EB7F4 */ cpu->r[26] = cpu->r[4];
|
|
/* 027EB7F8 */ cpu->r[31] = 0x10110000u;
|
|
/* 027EB7FC */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 027EB7FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EB800 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 027EB800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EB804 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027EB804 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 027EB808 */ _t10 = cpu->r[1] + 0x0000012Bu;
|
|
/* 027EB808 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 027EB80C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 027EB80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EB810 */ cpu->r[25] = cpu->r[3];
|
|
/* 027EB814 */ cpu->ctr = cpu->r[0];
|
|
/* 027EB818 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EB81C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB820 */ _t12 = cpu->r[26] + 0x00000000u;
|
|
/* 027EB820 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EB824 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 027EB824 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 027EB828 */ cpu->r[0] = 0x00080000u;
|
|
/* 027EB82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 027EB830 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EB834 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB834 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EB834 */ if (_t15) goto L_027EB888; else goto L_027EB838;
|
|
L_027EB838: ; // 0x27eb838
|
|
/* 027EB838 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027EB83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 027EB840 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027EB844 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB844 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027EB844 */ if (_t17) goto L_027EB884; else goto L_027EB848;
|
|
L_027EB848: ; // 0x27eb848
|
|
/* 027EB848 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 027EB848 */ cpu->r[5] = rbrew_read8(cpu->mem, _t18);
|
|
/* 027EB84C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 027EB850 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB850 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EB850 */ if (_t20) goto L_027EB854; else goto L_027EB838;
|
|
L_027EB854: ; // 0x27eb854
|
|
/* 027EB854 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EB858 */ _t22 = cpu->r[6] + 0x00000014u;
|
|
/* 027EB858 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EB85C */ cpu->ctr = cpu->r[7];
|
|
/* 027EB860 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB864 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB868 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB868 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EB86C */ _t24 = cpu->r[7] + 0x00000000u;
|
|
/* 027EB86C */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 027EB870 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EB874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027EB878 */ cpu->r[8] = 0x00080000u;
|
|
/* 027EB87C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB87C */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EB87C */ if (_t26) goto L_027EB880; else goto L_027EB8B4;
|
|
L_027EB880: ; // 0x27eb880
|
|
/* 027EB880 */ goto L_027EB8E4;
|
|
L_027EB884: ; // 0x27eb884
|
|
/* 027EB884 */ cpu->r[29] = 0x00000000u;
|
|
L_027EB888: ; // 0x27eb888
|
|
/* 027EB888 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB888 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EB88C */ _t28 = cpu->r[6] + 0x00000014u;
|
|
/* 027EB88C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EB890 */ cpu->ctr = cpu->r[7];
|
|
/* 027EB894 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB89C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB89C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EB8A0 */ _t30 = cpu->r[7] + 0x00000000u;
|
|
/* 027EB8A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t30);
|
|
/* 027EB8A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EB8A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027EB8AC */ cpu->r[8] = 0x00080000u;
|
|
/* 027EB8B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB8B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EB8B0 */ if (_t32) goto L_027EB880; else goto L_027EB8B4;
|
|
L_027EB8B4: ; // 0x27eb8b4
|
|
/* 027EB8B4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027EB8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 027EB8BC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027EB8C0 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB8C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EB8C0 */ if (_t34) goto L_027EB8E0; else goto L_027EB8C4;
|
|
L_027EB8C4: ; // 0x27eb8c4
|
|
/* 027EB8C4 */ _t35 = cpu->r[7] + 0x00000000u;
|
|
/* 027EB8C4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t35);
|
|
/* 027EB8C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027EB8CC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB8CC */ _t37 = _t36 & 0x00000001u;
|
|
/* 027EB8CC */ if (_t37) goto L_027EB8D0; else goto L_027EB8B4;
|
|
L_027EB8D0: ; // 0x27eb8d0
|
|
/* 027EB8D0 */ cpu->r[28] = cpu->r[29] - cpu->r[30];
|
|
/* 027EB8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027EB8D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EB8D8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB8D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EB8D8 */ if (_t39) goto L_027EB8DC; else goto L_027EB8F0;
|
|
L_027EB8DC: ; // 0x27eb8dc
|
|
/* 027EB8DC */ goto L_027EB9B8;
|
|
L_027EB8E0: ; // 0x27eb8e0
|
|
/* 027EB8E0 */ cpu->r[30] = 0x00000000u;
|
|
L_027EB8E4: ; // 0x27eb8e4
|
|
/* 027EB8E4 */ cpu->r[28] = cpu->r[29] - cpu->r[30];
|
|
/* 027EB8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027EB8E8 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EB8EC */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB8EC */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EB8EC */ if (_t41) goto L_027EB9B8; else goto L_027EB8F0;
|
|
L_027EB8F0: ; // 0x27eb8f0
|
|
/* 027EB8F0 */ cpu->r[24] = cpu->r[31];
|
|
L_027EB8F4: ; // 0x27eb8f4
|
|
/* 027EB8F4 */ _t42 = cpu->r[26] + 0x00000000u;
|
|
/* 027EB8F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EB8F8 */ cpu->r[23] = cpu->r[30];
|
|
/* 027EB8FC */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB8FC */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 027EB900 */ cpu->r[10] = cpu->r[11] + cpu->r[29];
|
|
/* 027EB904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB908 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB908 */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 027EB90C */ Gambit_fn_027ECD0C(cpu);
|
|
/* 027EB910 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EB910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027EB914 */ _t46 = cpu->r[12] + 0x00000014u;
|
|
/* 027EB914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027EB918 */ cpu->ctr = cpu->r[0];
|
|
/* 027EB91C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EB920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB924 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 027EB924 */ cpu->r[4] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EB928 */ _t48 = cpu->r[4] + 0x00000014u;
|
|
/* 027EB928 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027EB92C */ cpu->ctr = cpu->r[5];
|
|
/* 027EB930 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB930 */ cpu->r[22] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027EB934 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 027EB938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB93C */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB93C */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027EB940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]);
|
|
/* 027EB944 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB944 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027EB944 */ if (_t52) goto L_027EB998; else goto L_027EB948;
|
|
L_027EB948: ; // 0x27eb948
|
|
/* 027EB948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 027EB94C */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB94C */ _t54 = _t53 & 0x00000001u;
|
|
/* 027EB94C */ if (_t54) goto L_027EB950; else goto L_027EB998;
|
|
L_027EB950: ; // 0x27eb950
|
|
/* 027EB950 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 027EB950 */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027EB954 */ cpu->ctr = cpu->r[23];
|
|
/* 027EB958 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 027EB958 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
L_027EB95C: ; // 0x27eb95c
|
|
/* 027EB95C */ _t57 = cpu->r[6] + 0x00000000u;
|
|
/* 027EB95C */ cpu->r[12] = rbrew_read8(cpu->mem, _t57);
|
|
/* 027EB960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 027EB964 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB964 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027EB964 */ if (_t59) goto L_027EB968; else goto L_027EB978;
|
|
L_027EB968: ; // 0x27eb968
|
|
/* 027EB968 */ _t60 = cpu->r[5] + 0x00000000u;
|
|
/* 027EB968 */ cpu->r[7] = rbrew_read8(cpu->mem, _t60);
|
|
/* 027EB96C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 027EB970 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB970 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027EB970 */ if (_t62) goto L_027EB974; else goto L_027EB9AC;
|
|
L_027EB974: ; // 0x27eb974
|
|
/* 027EB974 */ goto L_027EB998;
|
|
L_027EB978: ; // 0x27eb978
|
|
/* 027EB978 */ _t63 = cpu->r[5] + 0x00000000u;
|
|
/* 027EB978 */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027EB97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 027EB980 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB980 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EB980 */ if (_t65) goto L_027EB9AC; else goto L_027EB984;
|
|
L_027EB984: ; // 0x27eb984
|
|
/* 027EB984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 027EB988 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB988 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027EB988 */ if (_t67) goto L_027EB98C; else goto L_027EB9AC;
|
|
L_027EB98C: ; // 0x27eb98c
|
|
/* 027EB98C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027EB990 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 027EB994 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027EB994 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027EB994 */ _t69 = _t68 >> (0x00000002u & 31u);
|
|
/* 027EB994 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027EB994 */ if (_t70) goto L_027EB95C; else goto L_027EB998;
|
|
L_027EB998: ; // 0x27eb998
|
|
/* 027EB998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027EB99C */ _t71 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB99C */ cpu->r[28] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027EB9A0 */ cpu->r[30] = cpu->r[29];
|
|
/* 027EB9A4 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EB9A4 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027EB9A4 */ if (_t73) goto L_027EB9C4; else goto L_027EB9A8;
|
|
L_027EB9A8: ; // 0x27eb9a8
|
|
/* 027EB9A8 */ goto L_027EBA28;
|
|
L_027EB9AC: ; // 0x27eb9ac
|
|
/* 027EB9AC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 027EB9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 027EB9B4 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB9B4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 027EB9B4 */ if (_t75) goto L_027EB9B8; else goto L_027EB8F4;
|
|
L_027EB9B8: ; // 0x27eb9b8
|
|
/* 027EB9B8 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 027EB9BC */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 027EB9BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027EB9C0 */ cpu->r[30] = cpu->r[29];
|
|
L_027EB9C4: ; // 0x27eb9c4
|
|
/* 027EB9C4 */ _t77 = cpu->r[26] + 0x00000004u;
|
|
/* 027EB9C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 027EB9C8 */ _t78 = cpu->r[8] + 0x00000014u;
|
|
/* 027EB9C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 027EB9CC */ cpu->ctr = cpu->r[0];
|
|
/* 027EB9D0 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EB9D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EB9D8 */ _t79 = cpu->r[26] + 0x00000000u;
|
|
/* 027EB9D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027EB9DC */ _t80 = cpu->r[10] + 0x00000000u;
|
|
/* 027EB9DC */ cpu->r[8] = rbrew_read8(cpu->mem, _t80);
|
|
/* 027EB9E0 */ cpu->r[30] = 0x00000000u;
|
|
/* 027EB9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 027EB9E8 */ cpu->r[12] = 0x00080000u;
|
|
/* 027EB9EC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EB9EC */ _t82 = _t81 & 0x00000001u;
|
|
/* 027EB9EC */ if (_t82) goto L_027EBA28; else goto L_027EB9F0;
|
|
L_027EB9F0: ; // 0x27eb9f0
|
|
/* 027EB9F0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 027EB9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 027EB9F8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027EB9FC */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EB9FC */ _t84 = _t83 & 0x00000001u;
|
|
/* 027EB9FC */ if (_t84) goto L_027EBA24; else goto L_027EBA00;
|
|
L_027EBA00: ; // 0x27eba00
|
|
/* 027EBA00 */ _t85 = cpu->r[10] + 0x00000000u;
|
|
/* 027EBA00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t85);
|
|
/* 027EBA04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 027EBA08 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBA08 */ _t87 = _t86 & 0x00000001u;
|
|
/* 027EBA08 */ if (_t87) goto L_027EBA0C; else goto L_027EB9F0;
|
|
L_027EBA0C: ; // 0x27eba0c
|
|
/* 027EBA0C */ _t88 = cpu->r[1] + 0x00000028u;
|
|
/* 027EBA0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027EBA10 */ _t89 = cpu->r[26] + 0x00000004u;
|
|
/* 027EBA10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 027EBA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 027EBA18 */ _t90 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027EBA1C */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EBA1C */ _t92 = _t91 & 0x00000001u;
|
|
/* 027EBA1C */ if (_t92) goto L_027EBA20; else goto L_027EBA3C;
|
|
L_027EBA20: ; // 0x27eba20
|
|
/* 027EBA20 */ goto L_027EBA40;
|
|
L_027EBA24: ; // 0x27eba24
|
|
/* 027EBA24 */ cpu->r[30] = 0x00000000u;
|
|
L_027EBA28: ; // 0x27eba28
|
|
/* 027EBA28 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 027EBA28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027EBA2C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 027EBA2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027EBA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 027EBA34 */ _t95 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBA34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027EBA38 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EBA38 */ _t97 = _t96 & 0x00000001u;
|
|
/* 027EBA38 */ if (_t97) goto L_027EBA40; else goto L_027EBA3C;
|
|
L_027EBA3C: ; // 0x27eba3c
|
|
/* 027EBA3C */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_027EBA40: ; // 0x27eba40
|
|
/* 027EBA40 */ cpu->ctr = cpu->r[0];
|
|
/* 027EBA44 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EBA48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBA4C */ _t98 = cpu->r[26] + 0x00000000u;
|
|
/* 027EBA4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t98);
|
|
/* 027EBA50 */ cpu->r[6] = 0x00000000u;
|
|
/* 027EBA54 */ cpu->r[5] = cpu->r[30];
|
|
/* 027EBA58 */ cpu->r[3] = cpu->r[28];
|
|
/* 027EBA5C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027EBA60 */ _t99 = cpu->r[28] + cpu->r[30];
|
|
/* 027EBA60 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[31]);
|
|
/* 027EBA64 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBA64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 027EBA68 */ _t101 = cpu->r[12] + 0x00000014u;
|
|
/* 027EBA68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027EBA6C */ cpu->ctr = cpu->r[4];
|
|
/* 027EBA70 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBA74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBA78 */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 027EBA78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 027EBA7C */ cpu->r[3] = cpu->r[25];
|
|
/* 027EBA80 */ Gambit_fn_0286A688(cpu);
|
|
/* 027EBA84 */ cpu->r[10] = cpu->r[3];
|
|
/* 027EBA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EBA88 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBA88 */ _t104 = _t103 & 0x00000001u;
|
|
/* 027EBA88 */ if (_t104) goto L_027EBA8C; else goto L_027EBAA4;
|
|
L_027EBA8C: ; // 0x27eba8c
|
|
/* 027EBA8C */ /* nop */
|
|
/* 027EBA90 */ _t105 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027EBA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 027EBA94 */ cpu->lr = cpu->r[0];
|
|
/* 027EBA98 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027EBA9C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EBAA0 */ return;
|
|
L_027EBAA4: ; // 0x27ebaa4
|
|
/* 027EBAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027EBAA8 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EBAA8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 027EBAA8 */ if (_t107) goto L_027EBAAC; else goto L_027EBAC4;
|
|
L_027EBAAC: ; // 0x27ebaac
|
|
/* 027EBAAC */ /* nop */
|
|
/* 027EBAB0 */ _t108 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027EBAB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027EBAB4 */ cpu->lr = cpu->r[0];
|
|
/* 027EBAB8 */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027EBABC */ cpu->r[3] = cpu->r[10];
|
|
/* 027EBAC0 */ return;
|
|
L_027EBAC4: ; // 0x27ebac4
|
|
/* 027EBAC4 */ _t109 = cpu->r[26] + 0x00000004u;
|
|
/* 027EBAC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 027EBAC8 */ _t110 = cpu->r[8] + 0x00000014u;
|
|
/* 027EBAC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 027EBACC */ cpu->ctr = cpu->r[9];
|
|
/* 027EBAD0 */ _t111 = cpu->r[10] + 0x000000ACu;
|
|
/* 027EBAD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027EBAD4 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EBAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBADC */ _t112 = cpu->r[26] + 0x00000000u;
|
|
/* 027EBADC */ cpu->r[6] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027EBAE0 */ cpu->r[5] = cpu->r[6];
|
|
/* 027EBAE4 */ _t113 = cpu->r[5] + 0x00000000u;
|
|
/* 027EBAE4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t113);
|
|
/* 027EBAE8 */ cpu->r[12] = 0x00000000u;
|
|
/* 027EBAEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 027EBAF0 */ cpu->r[7] = 0x00080000u;
|
|
/* 027EBAF4 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBAF4 */ _t115 = _t114 & 0x00000001u;
|
|
/* 027EBAF4 */ if (_t115) goto L_027EBB24; else goto L_027EBAF8;
|
|
L_027EBAF8: ; // 0x27ebaf8
|
|
/* 027EBAF8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027EBAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 027EBB00 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 027EBB04 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EBB04 */ _t117 = _t116 & 0x00000001u;
|
|
/* 027EBB04 */ if (_t117) goto L_027EBB20; else goto L_027EBB08;
|
|
L_027EBB08: ; // 0x27ebb08
|
|
/* 027EBB08 */ _t118 = cpu->r[5] + 0x00000000u;
|
|
/* 027EBB08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 027EBB0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 027EBB10 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBB10 */ _t120 = _t119 & 0x00000001u;
|
|
/* 027EBB10 */ if (_t120) goto L_027EBB14; else goto L_027EBAF8;
|
|
L_027EBB14: ; // 0x27ebb14
|
|
/* 027EBB14 */ cpu->r[7] = cpu->r[29] + 0x00000001u;
|
|
/* 027EBB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EBB18 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EBB18 */ _t122 = _t121 & 0x00000001u;
|
|
/* 027EBB18 */ if (_t122) goto L_027EBB34; else goto L_027EBB1C;
|
|
L_027EBB1C: ; // 0x27ebb1c
|
|
/* 027EBB1C */ goto L_027EBB2C;
|
|
L_027EBB20: ; // 0x27ebb20
|
|
/* 027EBB20 */ cpu->r[12] = 0x00000000u;
|
|
L_027EBB24: ; // 0x27ebb24
|
|
/* 027EBB24 */ cpu->r[7] = cpu->r[29] + 0x00000001u;
|
|
/* 027EBB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EBB28 */ _t123 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EBB28 */ _t124 = _t123 & 0x00000001u;
|
|
/* 027EBB28 */ if (_t124) goto L_027EBB34; else goto L_027EBB2C;
|
|
L_027EBB2C: ; // 0x27ebb2c
|
|
/* 027EBB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[12]);
|
|
/* 027EBB30 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EBB30 */ _t126 = _t125 & 0x00000001u;
|
|
/* 027EBB30 */ if (_t126) goto L_027EBB34; else goto L_027EBB64;
|
|
L_027EBB34: ; // 0x27ebb34
|
|
/* 027EBB34 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027EBB38 */ _t127 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBB38 */ rbrew_write32(cpu->mem, _t127, cpu->r[27]);
|
|
/* 027EBB3C */ _t128 = cpu->r[11] + 0x000066E8u;
|
|
/* 027EBB3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027EBB40 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBB44 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 027EBB48 */ _t129 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBB48 */ rbrew_write32(cpu->mem, _t129, cpu->r[11]);
|
|
/* 027EBB4C */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBB50 */ /* nop */
|
|
/* 027EBB54 */ _t130 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027EBB54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 027EBB58 */ cpu->lr = cpu->r[0];
|
|
/* 027EBB5C */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027EBB60 */ return;
|
|
L_027EBB64: ; // 0x27ebb64
|
|
/* 027EBB64 */ cpu->r[4] = cpu->r[6] + cpu->r[29];
|
|
/* 027EBB68 */ _t131 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBB68 */ rbrew_write32(cpu->mem, _t131, cpu->r[27]);
|
|
/* 027EBB6C */ cpu->r[11] = cpu->r[4] + 0x00000001u;
|
|
/* 027EBB70 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 027EBB74 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBB78 */ _t132 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBB78 */ rbrew_write32(cpu->mem, _t132, cpu->r[11]);
|
|
/* 027EBB7C */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBB80 */ /* nop */
|
|
/* 027EBB84 */ _t133 = cpu->r[1] + 0x0000015Cu;
|
|
/* 027EBB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 027EBB88 */ cpu->lr = cpu->r[0];
|
|
/* 027EBB8C */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 027EBB90 */ return;
|
|
}
|
|
|
|
// fn_027EBB94 @ 0x27ebb94
|
|
void Gambit_fn_027EBB94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027EBB94: ; // 0x27ebb94
|
|
/* 027EBB94 */ cpu->r[0] = cpu->lr;
|
|
/* 027EBB98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EBB98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBB98 */ cpu->r[1] = _t0;
|
|
/* 027EBB9C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBB9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBBA0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBBA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027EBBA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBBA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBBA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027EBBAC */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBBAC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027EBBB0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBBB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EBBB4 */ cpu->r[29] = cpu->r[5];
|
|
/* 027EBBB8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027EBBBC */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBBC0 */ _t7 = cpu->r[7] + 0x00007399u;
|
|
/* 027EBBC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EBBC4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBBC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027EBBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 027EBBCC */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBBCC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EBBD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBBD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027EBBD0 */ if (_t11) goto L_027EBC1C; else goto L_027EBBD4;
|
|
L_027EBBD4: ; // 0x27ebbd4
|
|
/* 027EBBD4 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 027EBBD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBBD8 */ cpu->r[30] = cpu->r[28];
|
|
/* 027EBBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBBDC */ _t13 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBBDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EBBE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBBE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBBE0 */ if (_t15) goto L_027EBBE8; else goto L_027EBBE4;
|
|
L_027EBBE4: ; // 0x27ebbe4
|
|
/* 027EBBE4 */ cpu->r[30] = cpu->r[28] + 0x00000010u;
|
|
L_027EBBE8: ; // 0x27ebbe8
|
|
/* 027EBBE8 */ cpu->ctr = cpu->r[12];
|
|
/* 027EBBEC */ cpu->r[3] = cpu->r[31];
|
|
/* 027EBBF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBBF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027EBBF8 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBBF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBBFC */ cpu->r[0] = cpu->r[0] + 0x00000038u;
|
|
/* 027EBC00 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC04 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBC04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027EBC08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EBC0C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBC0C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 027EBC10 */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBC14 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBC18 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBC18 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EBC18 */ if (_t20) goto L_027EBC1C; else goto L_027EBC70;
|
|
L_027EBC1C: ; // 0x27ebc1c
|
|
/* 027EBC1C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EBC20 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 027EBC20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBC24 */ _t23 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027EBC24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBC28 */ cpu->ctr = cpu->r[9];
|
|
/* 027EBC2C */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBC2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EBC30 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBC34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC38 */ _t25 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EBC3C */ cpu->ctr = cpu->r[0];
|
|
/* 027EBC40 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBC40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EBC44 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC48 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBC4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC50 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBC50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBC54 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBC54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EBC58 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EBC5C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBC60 */ cpu->lr = cpu->r[0];
|
|
/* 027EBC64 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBC68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBC6C */ return;
|
|
L_027EBC70: ; // 0x27ebc70
|
|
/* 027EBC70 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBC70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBC74 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 027EBC74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EBC78 */ cpu->ctr = cpu->r[12];
|
|
/* 027EBC7C */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBC7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027EBC80 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBC84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC88 */ _t35 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EBC8C */ cpu->ctr = cpu->r[0];
|
|
/* 027EBC90 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBC90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EBC94 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC98 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBC9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBCA0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBCA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EBCA4 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBCA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EBCA8 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBCA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EBCAC */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBCAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EBCB0 */ cpu->lr = cpu->r[0];
|
|
/* 027EBCB4 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBCB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027EBCB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBCBC */ return;
|
|
}
|
|
|
|
// fn_027EBB98 @ 0x27ebb98
|
|
void Gambit_fn_027EBB98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027EBB98: ; // 0x27ebb98
|
|
/* 027EBB98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EBB98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBB98 */ cpu->r[1] = _t0;
|
|
/* 027EBB9C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBB9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBBA0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBBA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027EBBA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBBA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBBA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027EBBAC */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBBAC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027EBBB0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBBB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EBBB4 */ cpu->r[29] = cpu->r[5];
|
|
/* 027EBBB8 */ cpu->r[7] = 0x10110000u;
|
|
/* 027EBBBC */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBBC0 */ _t7 = cpu->r[7] + 0x00007399u;
|
|
/* 027EBBC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EBBC4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBBC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027EBBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 027EBBCC */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBBCC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EBBD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBBD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027EBBD0 */ if (_t11) goto L_027EBC1C; else goto L_027EBBD4;
|
|
L_027EBBD4: ; // 0x27ebbd4
|
|
/* 027EBBD4 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 027EBBD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBBD8 */ cpu->r[30] = cpu->r[28];
|
|
/* 027EBBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBBDC */ _t13 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBBDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EBBE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBBE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBBE0 */ if (_t15) goto L_027EBBE8; else goto L_027EBBE4;
|
|
L_027EBBE4: ; // 0x27ebbe4
|
|
/* 027EBBE4 */ cpu->r[30] = cpu->r[28] + 0x00000010u;
|
|
L_027EBBE8: ; // 0x27ebbe8
|
|
/* 027EBBE8 */ cpu->ctr = cpu->r[12];
|
|
/* 027EBBEC */ cpu->r[3] = cpu->r[31];
|
|
/* 027EBBF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBBF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 027EBBF8 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBBF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBBFC */ cpu->r[0] = cpu->r[0] + 0x00000038u;
|
|
/* 027EBC00 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC04 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBC04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027EBC08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EBC0C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBC0C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 027EBC10 */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBC14 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBC18 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBC18 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EBC18 */ if (_t20) goto L_027EBC1C; else goto L_027EBC70;
|
|
L_027EBC1C: ; // 0x27ebc1c
|
|
/* 027EBC1C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBC1C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EBC20 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 027EBC20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBC24 */ _t23 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027EBC24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBC28 */ cpu->ctr = cpu->r[9];
|
|
/* 027EBC2C */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBC2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EBC30 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBC34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC38 */ _t25 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBC38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EBC3C */ cpu->ctr = cpu->r[0];
|
|
/* 027EBC40 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBC40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EBC44 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC48 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBC4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC50 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBC50 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBC54 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBC54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EBC58 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EBC5C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBC60 */ cpu->lr = cpu->r[0];
|
|
/* 027EBC64 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBC68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBC6C */ return;
|
|
L_027EBC70: ; // 0x27ebc70
|
|
/* 027EBC70 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBC70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBC74 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 027EBC74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EBC78 */ cpu->ctr = cpu->r[12];
|
|
/* 027EBC7C */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBC7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027EBC80 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBC84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBC88 */ _t35 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EBC8C */ cpu->ctr = cpu->r[0];
|
|
/* 027EBC90 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBC90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EBC94 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBC98 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBC9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBCA0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBCA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EBCA4 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBCA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EBCA8 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBCA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EBCAC */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBCAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EBCB0 */ cpu->lr = cpu->r[0];
|
|
/* 027EBCB4 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBCB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027EBCB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBCBC */ return;
|
|
}
|
|
|
|
// fn_027EBCC0 @ 0x27ebcc0
|
|
void Gambit_fn_027EBCC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EBCC0: ; // 0x27ebcc0
|
|
/* 027EBCC0 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 027EBCC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EBCC4 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027EBCC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EBCC8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EBCCC */ _t2 = cpu->r[12] + 0x00004060u;
|
|
/* 027EBCCC */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 027EBCD0 */ return;
|
|
}
|
|
|
|
// fn_027EBCD4 @ 0x27ebcd4
|
|
void Gambit_fn_027EBCD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_027EBCD4: ; // 0x27ebcd4
|
|
/* 027EBCD4 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EBCD8 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027EBCD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EBCDC */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EBCDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EBCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EBCE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBCE4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EBCE4 */ _t5 = _t4 ^ 0x00000001u;
|
|
/* 027EBCE4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EBCE4 */ goto L_027EBCE8;
|
|
L_027EBCE8: ; // 0x27ebce8
|
|
/* 027EBCE8 */ _t6 = cpu->r[3] + 0x00000020u;
|
|
/* 027EBCE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBCEC */ _t7 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027EBCEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBCF0 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EBCF4 */ _t8 = cpu->r[12] + 0x00004061u;
|
|
/* 027EBCF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027EBCF8 */ return;
|
|
}
|
|
|
|
// fn_027EBCFC @ 0x27ebcfc
|
|
void Gambit_fn_027EBCFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027EBCFC: ; // 0x27ebcfc
|
|
/* 027EBCFC */ cpu->r[0] = cpu->lr;
|
|
/* 027EBD00 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EBD00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBD00 */ cpu->r[1] = _t0;
|
|
/* 027EBD04 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBD04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBD08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBD08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027EBD0C */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBD10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027EBD14 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBD14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027EBD18 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBD18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EBD1C */ cpu->r[29] = cpu->r[5];
|
|
/* 027EBD20 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EBD24 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBD24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBD28 */ _t7 = cpu->r[12] + 0x00007399u;
|
|
/* 027EBD28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EBD2C */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 027EBD2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027EBD30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027EBD34 */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBD34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EBD38 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD38 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027EBD38 */ if (_t11) goto L_027EBD84; else goto L_027EBD3C;
|
|
L_027EBD3C: ; // 0x27ebd3c
|
|
/* 027EBD3C */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 027EBD3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBD40 */ cpu->r[30] = cpu->r[28];
|
|
/* 027EBD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBD44 */ _t13 = cpu->r[7] + 0x00000014u;
|
|
/* 027EBD44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EBD48 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD48 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBD48 */ if (_t15) goto L_027EBD50; else goto L_027EBD4C;
|
|
L_027EBD4C: ; // 0x27ebd4c
|
|
/* 027EBD4C */ cpu->r[30] = cpu->r[28] + 0x00000010u;
|
|
L_027EBD50: ; // 0x27ebd50
|
|
/* 027EBD50 */ cpu->ctr = cpu->r[9];
|
|
/* 027EBD54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EBD58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBD5C */ cpu->r[0] = 0x10110000u;
|
|
/* 027EBD60 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBD60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBD64 */ cpu->r[0] = cpu->r[0] + 0x00000038u;
|
|
/* 027EBD68 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBD6C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBD6C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027EBD70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EBD74 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBD74 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 027EBD78 */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBD7C */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBD80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD80 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EBD80 */ if (_t20) goto L_027EBD84; else goto L_027EBDE0;
|
|
L_027EBD84: ; // 0x27ebd84
|
|
/* 027EBD84 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EBD88 */ _t22 = cpu->r[11] + 0x00000014u;
|
|
/* 027EBD88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBD8C */ _t23 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027EBD8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBD90 */ cpu->ctr = cpu->r[7];
|
|
/* 027EBD94 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBD94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EBD98 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBD9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDA0 */ _t25 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBDA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EBDA4 */ cpu->ctr = cpu->r[8];
|
|
/* 027EBDA8 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBDA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EBDAC */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBDB0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBDB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDB8 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBDB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBDBC */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027EBDC0 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBDC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EBDC4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027EBDC8 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EBDCC */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBDD0 */ cpu->lr = cpu->r[0];
|
|
/* 027EBDD4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBDD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBDDC */ return;
|
|
L_027EBDE0: ; // 0x27ebde0
|
|
/* 027EBDE0 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBDE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBDE4 */ _t33 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBDE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EBDE8 */ cpu->ctr = cpu->r[11];
|
|
/* 027EBDEC */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBDEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027EBDF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBDF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDF8 */ _t35 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBDF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EBDFC */ cpu->ctr = cpu->r[12];
|
|
/* 027EBE00 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBE00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EBE04 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBE08 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBE0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBE10 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBE10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EBE14 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027EBE18 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBE18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EBE1C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027EBE20 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EBE24 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EBE28 */ cpu->lr = cpu->r[0];
|
|
/* 027EBE2C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027EBE30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBE34 */ return;
|
|
}
|
|
|
|
// fn_027EBD00 @ 0x27ebd00
|
|
void Gambit_fn_027EBD00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_027EBD00: ; // 0x27ebd00
|
|
/* 027EBD00 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027EBD00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBD00 */ cpu->r[1] = _t0;
|
|
/* 027EBD04 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBD04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBD08 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBD08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027EBD0C */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBD10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027EBD14 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBD14 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027EBD18 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBD18 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EBD1C */ cpu->r[29] = cpu->r[5];
|
|
/* 027EBD20 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EBD24 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBD24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBD28 */ _t7 = cpu->r[12] + 0x00007399u;
|
|
/* 027EBD28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027EBD2C */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 027EBD2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 027EBD30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 027EBD34 */ _t9 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBD34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EBD38 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD38 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027EBD38 */ if (_t11) goto L_027EBD84; else goto L_027EBD3C;
|
|
L_027EBD3C: ; // 0x27ebd3c
|
|
/* 027EBD3C */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 027EBD3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBD40 */ cpu->r[30] = cpu->r[28];
|
|
/* 027EBD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBD44 */ _t13 = cpu->r[7] + 0x00000014u;
|
|
/* 027EBD44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EBD48 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD48 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBD48 */ if (_t15) goto L_027EBD50; else goto L_027EBD4C;
|
|
L_027EBD4C: ; // 0x27ebd4c
|
|
/* 027EBD4C */ cpu->r[30] = cpu->r[28] + 0x00000010u;
|
|
L_027EBD50: ; // 0x27ebd50
|
|
/* 027EBD50 */ cpu->ctr = cpu->r[9];
|
|
/* 027EBD54 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EBD58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBD5C */ cpu->r[0] = 0x10110000u;
|
|
/* 027EBD60 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBD60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBD64 */ cpu->r[0] = cpu->r[0] + 0x00000038u;
|
|
/* 027EBD68 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBD6C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBD6C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027EBD70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EBD74 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBD74 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 027EBD78 */ Gambit_fn_027EB7B0(cpu);
|
|
/* 027EBD7C */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBD80 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBD80 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EBD80 */ if (_t20) goto L_027EBD84; else goto L_027EBDE0;
|
|
L_027EBD84: ; // 0x27ebd84
|
|
/* 027EBD84 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EBD88 */ _t22 = cpu->r[11] + 0x00000014u;
|
|
/* 027EBD88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBD8C */ _t23 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027EBD8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBD90 */ cpu->ctr = cpu->r[7];
|
|
/* 027EBD94 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBD94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027EBD98 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBD9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDA0 */ _t25 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBDA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EBDA4 */ cpu->ctr = cpu->r[8];
|
|
/* 027EBDA8 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBDA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EBDAC */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBDB0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBDB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDB8 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBDB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBDBC */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027EBDC0 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBDC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EBDC4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027EBDC8 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EBDCC */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBDD0 */ cpu->lr = cpu->r[0];
|
|
/* 027EBDD4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBDD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBDDC */ return;
|
|
L_027EBDE0: ; // 0x27ebde0
|
|
/* 027EBDE0 */ _t32 = cpu->r[29] + 0x00000004u;
|
|
/* 027EBDE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBDE4 */ _t33 = cpu->r[10] + 0x00000014u;
|
|
/* 027EBDE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EBDE8 */ cpu->ctr = cpu->r[11];
|
|
/* 027EBDEC */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBDEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027EBDF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EBDF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBDF8 */ _t35 = cpu->r[31] + 0x0000005Cu;
|
|
/* 027EBDF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027EBDFC */ cpu->ctr = cpu->r[12];
|
|
/* 027EBE00 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 027EBE00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EBE04 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBE08 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBE0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBE10 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 027EBE10 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EBE14 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 027EBE18 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBE18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EBE1C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 027EBE20 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 027EBE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EBE24 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027EBE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EBE28 */ cpu->lr = cpu->r[0];
|
|
/* 027EBE2C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EBE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027EBE30 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027EBE34 */ return;
|
|
}
|
|
|
|
// fn_027EBE38 @ 0x27ebe38
|
|
void Gambit_fn_027EBE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027EBE38: ; // 0x27ebe38
|
|
/* 027EBE38 */ cpu->r[0] = cpu->lr;
|
|
/* 027EBE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBE3C */ cpu->r[1] = _t0;
|
|
/* 027EBE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBE44 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBE44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EBE48 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EBE4C */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EBE50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBE50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EBE54 */ _t4 = cpu->r[10] + 0xFFFFD7F0u;
|
|
/* 027EBE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBE54 */ cpu->r[10] = _t4;
|
|
/* 027EBE58 */ cpu->r[31] = cpu->r[31] + 0x00000F54u;
|
|
/* 027EBE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EBE60 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBE64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBE64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EBE64 */ if (_t6) goto L_027EBE68; else goto L_027EBE9C;
|
|
L_027EBE68: ; // 0x27ebe68
|
|
/* 027EBE68 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EBE6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EBE70 */ _t7 = cpu->r[8] + 0xFFFFD7ECu;
|
|
/* 027EBE70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBE70 */ cpu->r[8] = _t7;
|
|
/* 027EBE74 */ cpu->r[9] = 0x00000001u;
|
|
/* 027EBE78 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EBE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EBE80 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 027EBE80 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027EBE84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBE84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EBE84 */ if (_t10) goto L_027EBE88; else goto L_027EBE98;
|
|
L_027EBE88: ; // 0x27ebe88
|
|
/* 027EBE88 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EBE8C */ cpu->r[6] = 0x00000000u;
|
|
/* 027EBE90 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 027EBE90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027EBE94 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBE94 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
L_027EBE98: ; // 0x27ebe98
|
|
/* 027EBE98 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBE98 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027EBE9C: ; // 0x27ebe9c
|
|
/* 027EBE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBEA0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEA0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBEA0 */ if (_t15) goto L_027EBEE8; else goto L_027EBEA4;
|
|
L_027EBEA4: ; // 0x27ebea4
|
|
/* 027EBEA4 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBEA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBEA8 */ _t17 = cpu->r[7] + 0x00000014u;
|
|
/* 027EBEA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EBEAC */ cpu->ctr = cpu->r[9];
|
|
/* 027EBEB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBEB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBEBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEBC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EBEBC */ if (_t19) goto L_027EBEE8; else goto L_027EBEC0;
|
|
L_027EBEC0: ; // 0x27ebec0
|
|
/* 027EBEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBEC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EBEC4 */ if (_t21) goto L_027EBEEC; else goto L_027EBEC8;
|
|
L_027EBEC8: ; // 0x27ebec8
|
|
/* 027EBEC8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027EBEC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBED0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBED0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EBED0 */ if (_t24) goto L_027EBEE8; else goto L_027EBED4;
|
|
L_027EBED4: ; // 0x27ebed4
|
|
/* 027EBED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBED8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBED8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EBED8 */ if (_t26) goto L_027EBEEC; else goto L_027EBEDC;
|
|
L_027EBEDC: ; // 0x27ebedc
|
|
/* 027EBEDC */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 027EBEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBEE4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEE4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EBEE4 */ if (_t29) goto L_027EBEE8; else goto L_027EBED4;
|
|
L_027EBEE8: ; // 0x27ebee8
|
|
/* 027EBEE8 */ cpu->r[30] = 0x00000000u;
|
|
L_027EBEEC: ; // 0x27ebeec
|
|
/* 027EBEEC */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBEF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBEF4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBEF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBEF8 */ cpu->lr = cpu->r[0];
|
|
/* 027EBEFC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBEFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EBF04 */ return;
|
|
}
|
|
|
|
// fn_027EBE3C @ 0x27ebe3c
|
|
void Gambit_fn_027EBE3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027EBE3C: ; // 0x27ebe3c
|
|
/* 027EBE3C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBE3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBE3C */ cpu->r[1] = _t0;
|
|
/* 027EBE40 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBE40 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBE44 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBE44 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EBE48 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EBE4C */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EBE50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBE50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EBE54 */ _t4 = cpu->r[10] + 0xFFFFD7F0u;
|
|
/* 027EBE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBE54 */ cpu->r[10] = _t4;
|
|
/* 027EBE58 */ cpu->r[31] = cpu->r[31] + 0x00000F54u;
|
|
/* 027EBE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EBE60 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBE64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBE64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EBE64 */ if (_t6) goto L_027EBE68; else goto L_027EBE9C;
|
|
L_027EBE68: ; // 0x27ebe68
|
|
/* 027EBE68 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EBE6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EBE70 */ _t7 = cpu->r[8] + 0xFFFFD7ECu;
|
|
/* 027EBE70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBE70 */ cpu->r[8] = _t7;
|
|
/* 027EBE74 */ cpu->r[9] = 0x00000001u;
|
|
/* 027EBE78 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EBE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EBE80 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 027EBE80 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 027EBE84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBE84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EBE84 */ if (_t10) goto L_027EBE88; else goto L_027EBE98;
|
|
L_027EBE88: ; // 0x27ebe88
|
|
/* 027EBE88 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EBE8C */ cpu->r[6] = 0x00000000u;
|
|
/* 027EBE90 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 027EBE90 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027EBE94 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBE94 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
L_027EBE98: ; // 0x27ebe98
|
|
/* 027EBE98 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBE98 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027EBE9C: ; // 0x27ebe9c
|
|
/* 027EBE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBEA0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEA0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBEA0 */ if (_t15) goto L_027EBEE8; else goto L_027EBEA4;
|
|
L_027EBEA4: ; // 0x27ebea4
|
|
/* 027EBEA4 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBEA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EBEA8 */ _t17 = cpu->r[7] + 0x00000014u;
|
|
/* 027EBEA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EBEAC */ cpu->ctr = cpu->r[9];
|
|
/* 027EBEB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBEB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBEBC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEBC */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EBEBC */ if (_t19) goto L_027EBEE8; else goto L_027EBEC0;
|
|
L_027EBEC0: ; // 0x27ebec0
|
|
/* 027EBEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBEC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EBEC4 */ if (_t21) goto L_027EBEEC; else goto L_027EBEC8;
|
|
L_027EBEC8: ; // 0x27ebec8
|
|
/* 027EBEC8 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027EBEC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBED0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBED0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EBED0 */ if (_t24) goto L_027EBEE8; else goto L_027EBED4;
|
|
L_027EBED4: ; // 0x27ebed4
|
|
/* 027EBED4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBED8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBED8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EBED8 */ if (_t26) goto L_027EBEEC; else goto L_027EBEDC;
|
|
L_027EBEDC: ; // 0x27ebedc
|
|
/* 027EBEDC */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 027EBEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EBEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBEE4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBEE4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EBEE4 */ if (_t29) goto L_027EBEE8; else goto L_027EBED4;
|
|
L_027EBEE8: ; // 0x27ebee8
|
|
/* 027EBEE8 */ cpu->r[30] = 0x00000000u;
|
|
L_027EBEEC: ; // 0x27ebeec
|
|
/* 027EBEEC */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EBEF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBEF4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBEF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EBEF8 */ cpu->lr = cpu->r[0];
|
|
/* 027EBEFC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBEFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EBF00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EBF04 */ return;
|
|
}
|
|
|
|
// fn_027EBF08 @ 0x27ebf08
|
|
void Gambit_fn_027EBF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EBF08: ; // 0x27ebf08
|
|
/* 027EBF08 */ cpu->r[0] = cpu->lr;
|
|
/* 027EBF0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBF0C */ cpu->r[1] = _t0;
|
|
/* 027EBF10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBF14 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBF18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EBF1C */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EBF20 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EBF24 */ Gambit_fn_027EBE38(cpu);
|
|
/* 027EBF28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EBF2C */ cpu->lr = cpu->r[0];
|
|
/* 027EBF30 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBF34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EBF38 */ return;
|
|
}
|
|
|
|
// fn_027EBF0C @ 0x27ebf0c
|
|
void Gambit_fn_027EBF0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027EBF0C: ; // 0x27ebf0c
|
|
/* 027EBF0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBF0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBF0C */ cpu->r[1] = _t0;
|
|
/* 027EBF10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBF14 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EBF18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EBF1C */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EBF20 */ cpu->r[4] = cpu->r[31];
|
|
/* 027EBF24 */ Gambit_fn_027EBE38(cpu);
|
|
/* 027EBF28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EBF2C */ cpu->lr = cpu->r[0];
|
|
/* 027EBF30 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBF34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EBF38 */ return;
|
|
}
|
|
|
|
// fn_027EBF3C @ 0x27ebf3c
|
|
void Gambit_fn_027EBF3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EBF3C: ; // 0x27ebf3c
|
|
/* 027EBF3C */ cpu->r[0] = cpu->lr;
|
|
/* 027EBF40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBF40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBF40 */ cpu->r[1] = _t0;
|
|
/* 027EBF44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBF48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBF48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EBF4C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EBF50 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EBF54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EBF58 */ _t4 = cpu->r[10] + 0xFFFFEE2Cu;
|
|
/* 027EBF58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBF5C */ cpu->r[31] = cpu->r[31] + 0x00000F48u;
|
|
/* 027EBF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EBF64 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBF68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBF68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EBF68 */ if (_t6) goto L_027EBF6C; else goto L_027EBFD4;
|
|
L_027EBF6C: ; // 0x27ebf6c
|
|
/* 027EBF6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EBF70 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EBF74 */ _t7 = cpu->r[11] + 0xFFFFD800u;
|
|
/* 027EBF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBF78 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EBF7C */ cpu->r[9] = cpu->r[9] + 0x00000F44u;
|
|
/* 027EBF80 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EBF88 */ _t8 = cpu->r[8] + 0xFFFFEE2Cu;
|
|
/* 027EBF88 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EBF8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBF8C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EBF8C */ if (_t10) goto L_027EBF98; else goto L_027EBF90;
|
|
L_027EBF90: ; // 0x27ebf90
|
|
/* 027EBF90 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBF90 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EBF94 */ goto L_027EBFD4;
|
|
L_027EBF98: ; // 0x27ebf98
|
|
/* 027EBF98 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EBF9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EBFA0 */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EBFA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBFA0 */ cpu->r[5] = _t12;
|
|
/* 027EBFA4 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EBFA8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EBFAC */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EBFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EBFB4 */ _t13 = cpu->r[7] + 0xFFFFD800u;
|
|
/* 027EBFB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EBFB8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFB8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBFB8 */ if (_t15) goto L_027EBFBC; else goto L_027EBFCC;
|
|
L_027EBFBC: ; // 0x27ebfbc
|
|
/* 027EBFBC */ cpu->r[10] = 0x00000001u;
|
|
/* 027EBFC0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EBFC4 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EBFC4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EBFC8 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBFC8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EBFCC: ; // 0x27ebfcc
|
|
/* 027EBFCC */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBFCC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EBFD0 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EBFD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EBFD4: ; // 0x27ebfd4
|
|
/* 027EBFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBFD8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFD8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EBFD8 */ if (_t21) goto L_027EC020; else goto L_027EBFDC;
|
|
L_027EBFDC: ; // 0x27ebfdc
|
|
/* 027EBFDC */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBFE0 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EBFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBFE4 */ cpu->ctr = cpu->r[0];
|
|
/* 027EBFE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBFEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBFF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EBFF4 */ if (_t25) goto L_027EC020; else goto L_027EBFF8;
|
|
L_027EBFF8: ; // 0x27ebff8
|
|
/* 027EBFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBFFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EBFFC */ if (_t27) goto L_027EC028; else goto L_027EC000;
|
|
L_027EC000: ; // 0x27ec000
|
|
/* 027EC000 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC008 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC008 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC008 */ if (_t30) goto L_027EC020; else goto L_027EC00C;
|
|
L_027EC00C: ; // 0x27ec00c
|
|
/* 027EC00C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC010 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC010 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC010 */ if (_t32) goto L_027EC028; else goto L_027EC014;
|
|
L_027EC014: ; // 0x27ec014
|
|
/* 027EC014 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC014 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC01C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC01C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC01C */ if (_t35) goto L_027EC020; else goto L_027EC00C;
|
|
L_027EC020: ; // 0x27ec020
|
|
/* 027EC020 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC024 */ goto L_027EC02C;
|
|
L_027EC028: ; // 0x27ec028
|
|
/* 027EC028 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC02C: ; // 0x27ec02c
|
|
/* 027EC02C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC030 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC030 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC034 */ cpu->lr = cpu->r[0];
|
|
/* 027EC038 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC03C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC040 */ return;
|
|
}
|
|
|
|
// fn_027EBF40 @ 0x27ebf40
|
|
void Gambit_fn_027EBF40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EBF40: ; // 0x27ebf40
|
|
/* 027EBF40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EBF40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EBF40 */ cpu->r[1] = _t0;
|
|
/* 027EBF44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EBF44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EBF48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EBF48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EBF4C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EBF50 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EBF54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EBF54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EBF58 */ _t4 = cpu->r[10] + 0xFFFFEE2Cu;
|
|
/* 027EBF58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EBF5C */ cpu->r[31] = cpu->r[31] + 0x00000F48u;
|
|
/* 027EBF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EBF64 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EBF68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBF68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EBF68 */ if (_t6) goto L_027EBF6C; else goto L_027EBFD4;
|
|
L_027EBF6C: ; // 0x27ebf6c
|
|
/* 027EBF6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EBF70 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EBF74 */ _t7 = cpu->r[11] + 0xFFFFD800u;
|
|
/* 027EBF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBF78 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EBF7C */ cpu->r[9] = cpu->r[9] + 0x00000F44u;
|
|
/* 027EBF80 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EBF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EBF88 */ _t8 = cpu->r[8] + 0xFFFFEE2Cu;
|
|
/* 027EBF88 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EBF8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBF8C */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EBF8C */ if (_t10) goto L_027EBF98; else goto L_027EBF90;
|
|
L_027EBF90: ; // 0x27ebf90
|
|
/* 027EBF90 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBF90 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EBF94 */ goto L_027EBFD4;
|
|
L_027EBF98: ; // 0x27ebf98
|
|
/* 027EBF98 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EBF9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EBFA0 */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EBFA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EBFA0 */ cpu->r[5] = _t12;
|
|
/* 027EBFA4 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EBFA8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EBFAC */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EBFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EBFB4 */ _t13 = cpu->r[7] + 0xFFFFD800u;
|
|
/* 027EBFB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EBFB8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFB8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EBFB8 */ if (_t15) goto L_027EBFBC; else goto L_027EBFCC;
|
|
L_027EBFBC: ; // 0x27ebfbc
|
|
/* 027EBFBC */ cpu->r[10] = 0x00000001u;
|
|
/* 027EBFC0 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EBFC4 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EBFC4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EBFC8 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EBFC8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EBFCC: ; // 0x27ebfcc
|
|
/* 027EBFCC */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EBFCC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EBFD0 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EBFD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EBFD4: ; // 0x27ebfd4
|
|
/* 027EBFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EBFD8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFD8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EBFD8 */ if (_t21) goto L_027EC020; else goto L_027EBFDC;
|
|
L_027EBFDC: ; // 0x27ebfdc
|
|
/* 027EBFDC */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EBFDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EBFE0 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EBFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EBFE4 */ cpu->ctr = cpu->r[0];
|
|
/* 027EBFE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EBFEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EBFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EBFF4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFF4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EBFF4 */ if (_t25) goto L_027EC020; else goto L_027EBFF8;
|
|
L_027EBFF8: ; // 0x27ebff8
|
|
/* 027EBFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EBFFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBFFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EBFFC */ if (_t27) goto L_027EC028; else goto L_027EC000;
|
|
L_027EC000: ; // 0x27ec000
|
|
/* 027EC000 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC008 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC008 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC008 */ if (_t30) goto L_027EC020; else goto L_027EC00C;
|
|
L_027EC00C: ; // 0x27ec00c
|
|
/* 027EC00C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC010 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC010 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC010 */ if (_t32) goto L_027EC028; else goto L_027EC014;
|
|
L_027EC014: ; // 0x27ec014
|
|
/* 027EC014 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC014 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC01C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC01C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC01C */ if (_t35) goto L_027EC020; else goto L_027EC00C;
|
|
L_027EC020: ; // 0x27ec020
|
|
/* 027EC020 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC024 */ goto L_027EC02C;
|
|
L_027EC028: ; // 0x27ec028
|
|
/* 027EC028 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC02C: ; // 0x27ec02c
|
|
/* 027EC02C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC02C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC030 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC030 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC034 */ cpu->lr = cpu->r[0];
|
|
/* 027EC038 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC03C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC040 */ return;
|
|
}
|
|
|
|
// fn_027EC044 @ 0x27ec044
|
|
void Gambit_fn_027EC044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027EC044: ; // 0x27ec044
|
|
/* 027EC044 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 027EC044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC044 */ cpu->r[1] = _t0;
|
|
/* 027EC048 */ /* nop */
|
|
/* 027EC04C */ cpu->r[0] = cpu->lr;
|
|
/* 027EC050 */ cpu->r[26] = cpu->r[1] + 0x00000014u;
|
|
/* 027EC054 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 027EC054 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EC058 */ cpu->r[29] = cpu->r[5];
|
|
/* 027EC05C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC05C */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 027EC060 */ cpu->r[10] = 0x10110000u;
|
|
/* 027EC064 */ cpu->r[9] = 0x00000040u;
|
|
/* 027EC068 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC068 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 027EC06C */ cpu->r[10] = cpu->r[10] + 0x00000068u;
|
|
/* 027EC070 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC070 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 027EC074 */ cpu->r[30] = 0x10110000u;
|
|
/* 027EC078 */ _t5 = cpu->r[30] + 0x00007399u;
|
|
/* 027EC078 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 027EC07C */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC07C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EC080 */ _t7 = cpu->r[1] + 0x00000053u;
|
|
/* 027EC080 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
/* 027EC084 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC084 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EC088 */ cpu->r[27] = cpu->r[3];
|
|
/* 027EC08C */ cpu->ctr = cpu->r[9];
|
|
/* 027EC090 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EC094 */ cpu->r[28] = cpu->r[4];
|
|
/* 027EC098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC09C */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC09C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC0A0 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC0A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027EC0A4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027EC0A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 027EC0AC */ cpu->r[0] = 0x00080000u;
|
|
/* 027EC0B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC0B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027EC0B0 */ if (_t12) goto L_027EC0D8; else goto L_027EC0B4;
|
|
L_027EC0B4: ; // 0x27ec0b4
|
|
/* 027EC0B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027EC0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 027EC0BC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027EC0C0 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EC0C0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EC0C0 */ if (_t14) goto L_027EC0D4; else goto L_027EC0C4;
|
|
L_027EC0C4: ; // 0x27ec0c4
|
|
/* 027EC0C4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC0C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
/* 027EC0C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 027EC0CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC0CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 027EC0CC */ if (_t17) goto L_027EC0D0; else goto L_027EC0B4;
|
|
L_027EC0D0: ; // 0x27ec0d0
|
|
/* 027EC0D0 */ goto L_027EC0D8;
|
|
L_027EC0D4: ; // 0x27ec0d4
|
|
/* 027EC0D4 */ cpu->r[31] = 0x00000000u;
|
|
L_027EC0D8: ; // 0x27ec0d8
|
|
/* 027EC0D8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC0D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EC0DC */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC0DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EC0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 027EC0E4 */ _t20 = cpu->r[5] + 0x00000014u;
|
|
/* 027EC0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EC0E8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC0E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027EC0E8 */ if (_t22) goto L_027EC0F0; else goto L_027EC0EC;
|
|
L_027EC0EC: ; // 0x27ec0ec
|
|
/* 027EC0EC */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_027EC0F0: ; // 0x27ec0f0
|
|
/* 027EC0F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC0F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EC0F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC0FC */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC0FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EC100 */ cpu->r[3] = cpu->r[26];
|
|
/* 027EC104 */ cpu->r[5] = cpu->r[31];
|
|
/* 027EC108 */ cpu->r[6] = 0x00000000u;
|
|
/* 027EC10C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027EC110 */ cpu->r[8] = 0x10110000u;
|
|
/* 027EC114 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC118 */ _t24 = cpu->r[26] + cpu->r[31];
|
|
/* 027EC118 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 027EC11C */ cpu->r[8] = cpu->r[8] + 0x00000080u;
|
|
/* 027EC120 */ cpu->r[3] = cpu->r[4];
|
|
/* 027EC124 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC124 */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 027EC128 */ Gambit_fn_027EA4E0(cpu);
|
|
/* 027EC12C */ cpu->r[3] = cpu->r[27];
|
|
/* 027EC130 */ cpu->r[4] = cpu->r[28];
|
|
/* 027EC134 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC138 */ Gambit_fn_027EBCFC(cpu);
|
|
/* 027EC13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC140 */ cpu->r[3] = cpu->r[27];
|
|
/* 027EC144 */ cpu->r[4] = cpu->r[28];
|
|
/* 027EC148 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC148 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EC148 */ if (_t27) goto L_027EC16C; else goto L_027EC14C;
|
|
L_027EC14C: ; // 0x27ec14c
|
|
/* 027EC14C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC150 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC154 */ Gambit_fn_027EBF3C(cpu);
|
|
/* 027EC158 */ /* nop */
|
|
/* 027EC15C */ _t28 = cpu->r[1] + 0x00000074u;
|
|
/* 027EC15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC160 */ cpu->lr = cpu->r[0];
|
|
/* 027EC164 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027EC168 */ return;
|
|
L_027EC16C: ; // 0x27ec16c
|
|
/* 027EC16C */ cpu->r[5] = cpu->r[29];
|
|
/* 027EC170 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC174 */ Gambit_fn_027EBF3C(cpu);
|
|
/* 027EC178 */ /* nop */
|
|
/* 027EC17C */ _t29 = cpu->r[1] + 0x00000074u;
|
|
/* 027EC17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EC180 */ cpu->lr = cpu->r[0];
|
|
/* 027EC184 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027EC188 */ return;
|
|
}
|
|
|
|
// fn_027EC18C @ 0x27ec18c
|
|
void Gambit_fn_027EC18C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EC18C: ; // 0x27ec18c
|
|
/* 027EC18C */ cpu->r[0] = cpu->lr;
|
|
/* 027EC190 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC190 */ cpu->r[1] = _t0;
|
|
/* 027EC194 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC198 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC198 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC19C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC1A0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EC1A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC1A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC1A8 */ _t4 = cpu->r[10] + 0xFFFFEE58u;
|
|
/* 027EC1A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC1AC */ cpu->r[31] = cpu->r[31] + 0x00000F40u;
|
|
/* 027EC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC1B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC1B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC1B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC1B8 */ if (_t6) goto L_027EC1BC; else goto L_027EC224;
|
|
L_027EC1BC: ; // 0x27ec1bc
|
|
/* 027EC1BC */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC1C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC1C4 */ _t7 = cpu->r[11] + 0xFFFFD7FCu;
|
|
/* 027EC1C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC1C8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC1CC */ cpu->r[9] = cpu->r[9] + 0x00000F3Cu;
|
|
/* 027EC1D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EC1D8 */ _t8 = cpu->r[8] + 0xFFFFEE58u;
|
|
/* 027EC1D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EC1DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC1DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC1DC */ if (_t10) goto L_027EC1E8; else goto L_027EC1E0;
|
|
L_027EC1E0: ; // 0x27ec1e0
|
|
/* 027EC1E0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC1E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EC1E4 */ goto L_027EC224;
|
|
L_027EC1E8: ; // 0x27ec1e8
|
|
/* 027EC1E8 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC1EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC1F0 */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EC1F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC1F0 */ cpu->r[5] = _t12;
|
|
/* 027EC1F4 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC1F8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC1FC */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EC204 */ _t13 = cpu->r[7] + 0xFFFFD7FCu;
|
|
/* 027EC204 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EC208 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC208 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC208 */ if (_t15) goto L_027EC20C; else goto L_027EC21C;
|
|
L_027EC20C: ; // 0x27ec20c
|
|
/* 027EC20C */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC210 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC214 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EC214 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EC218 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC218 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EC21C: ; // 0x27ec21c
|
|
/* 027EC21C */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC21C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EC220 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC220 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EC224: ; // 0x27ec224
|
|
/* 027EC224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC228 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC228 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC228 */ if (_t21) goto L_027EC270; else goto L_027EC22C;
|
|
L_027EC22C: ; // 0x27ec22c
|
|
/* 027EC22C */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC22C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC230 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EC234 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC238 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC23C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC244 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC244 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EC244 */ if (_t25) goto L_027EC270; else goto L_027EC248;
|
|
L_027EC248: ; // 0x27ec248
|
|
/* 027EC248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC24C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC24C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EC24C */ if (_t27) goto L_027EC278; else goto L_027EC250;
|
|
L_027EC250: ; // 0x27ec250
|
|
/* 027EC250 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC258 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC258 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC258 */ if (_t30) goto L_027EC270; else goto L_027EC25C;
|
|
L_027EC25C: ; // 0x27ec25c
|
|
/* 027EC25C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC260 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC260 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC260 */ if (_t32) goto L_027EC278; else goto L_027EC264;
|
|
L_027EC264: ; // 0x27ec264
|
|
/* 027EC264 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC26C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC26C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC26C */ if (_t35) goto L_027EC270; else goto L_027EC25C;
|
|
L_027EC270: ; // 0x27ec270
|
|
/* 027EC270 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC274 */ goto L_027EC27C;
|
|
L_027EC278: ; // 0x27ec278
|
|
/* 027EC278 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC27C: ; // 0x27ec27c
|
|
/* 027EC27C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC280 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC284 */ cpu->lr = cpu->r[0];
|
|
/* 027EC288 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC28C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC290 */ return;
|
|
}
|
|
|
|
// fn_027EC190 @ 0x27ec190
|
|
void Gambit_fn_027EC190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EC190: ; // 0x27ec190
|
|
/* 027EC190 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC190 */ cpu->r[1] = _t0;
|
|
/* 027EC194 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC194 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC198 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC198 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC19C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC1A0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EC1A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC1A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC1A8 */ _t4 = cpu->r[10] + 0xFFFFEE58u;
|
|
/* 027EC1A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC1AC */ cpu->r[31] = cpu->r[31] + 0x00000F40u;
|
|
/* 027EC1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC1B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC1B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC1B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC1B8 */ if (_t6) goto L_027EC1BC; else goto L_027EC224;
|
|
L_027EC1BC: ; // 0x27ec1bc
|
|
/* 027EC1BC */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC1C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC1C4 */ _t7 = cpu->r[11] + 0xFFFFD7FCu;
|
|
/* 027EC1C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC1C8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC1CC */ cpu->r[9] = cpu->r[9] + 0x00000F3Cu;
|
|
/* 027EC1D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EC1D8 */ _t8 = cpu->r[8] + 0xFFFFEE58u;
|
|
/* 027EC1D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EC1DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC1DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC1DC */ if (_t10) goto L_027EC1E8; else goto L_027EC1E0;
|
|
L_027EC1E0: ; // 0x27ec1e0
|
|
/* 027EC1E0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC1E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EC1E4 */ goto L_027EC224;
|
|
L_027EC1E8: ; // 0x27ec1e8
|
|
/* 027EC1E8 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC1EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC1F0 */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EC1F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC1F0 */ cpu->r[5] = _t12;
|
|
/* 027EC1F4 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC1F8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC1FC */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EC204 */ _t13 = cpu->r[7] + 0xFFFFD7FCu;
|
|
/* 027EC204 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EC208 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC208 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC208 */ if (_t15) goto L_027EC20C; else goto L_027EC21C;
|
|
L_027EC20C: ; // 0x27ec20c
|
|
/* 027EC20C */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC210 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC214 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EC214 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EC218 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC218 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EC21C: ; // 0x27ec21c
|
|
/* 027EC21C */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC21C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EC220 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC220 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EC224: ; // 0x27ec224
|
|
/* 027EC224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC228 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC228 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC228 */ if (_t21) goto L_027EC270; else goto L_027EC22C;
|
|
L_027EC22C: ; // 0x27ec22c
|
|
/* 027EC22C */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC22C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC230 */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EC234 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC238 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC23C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC244 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC244 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EC244 */ if (_t25) goto L_027EC270; else goto L_027EC248;
|
|
L_027EC248: ; // 0x27ec248
|
|
/* 027EC248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC24C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC24C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EC24C */ if (_t27) goto L_027EC278; else goto L_027EC250;
|
|
L_027EC250: ; // 0x27ec250
|
|
/* 027EC250 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC258 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC258 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC258 */ if (_t30) goto L_027EC270; else goto L_027EC25C;
|
|
L_027EC25C: ; // 0x27ec25c
|
|
/* 027EC25C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC260 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC260 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC260 */ if (_t32) goto L_027EC278; else goto L_027EC264;
|
|
L_027EC264: ; // 0x27ec264
|
|
/* 027EC264 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC26C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC26C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC26C */ if (_t35) goto L_027EC270; else goto L_027EC25C;
|
|
L_027EC270: ; // 0x27ec270
|
|
/* 027EC270 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC274 */ goto L_027EC27C;
|
|
L_027EC278: ; // 0x27ec278
|
|
/* 027EC278 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC27C: ; // 0x27ec27c
|
|
/* 027EC27C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC280 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC284 */ cpu->lr = cpu->r[0];
|
|
/* 027EC288 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC28C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC290 */ return;
|
|
}
|
|
|
|
// fn_027EC294 @ 0x27ec294
|
|
void Gambit_fn_027EC294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EC294: ; // 0x27ec294
|
|
/* 027EC294 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC298 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EC298 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EC29C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC29C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EC29C */ cpu->r[1] = _t1;
|
|
/* 027EC2A0 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC2A4 */ Gambit_fn_027EC18C(cpu);
|
|
/* 027EC2A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EC2AC */ cpu->lr = cpu->r[0];
|
|
/* 027EC2B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC2B4 */ return;
|
|
}
|
|
|
|
// fn_027EC29C @ 0x27ec29c
|
|
void Gambit_fn_027EC29C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EC29C: ; // 0x27ec29c
|
|
/* 027EC29C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC29C */ cpu->r[1] = _t0;
|
|
/* 027EC2A0 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC2A4 */ Gambit_fn_027EC18C(cpu);
|
|
/* 027EC2A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EC2AC */ cpu->lr = cpu->r[0];
|
|
/* 027EC2B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC2B4 */ return;
|
|
}
|
|
|
|
// fn_027EC2B8 @ 0x27ec2b8
|
|
void Gambit_fn_027EC2B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EC2B8: ; // 0x27ec2b8
|
|
/* 027EC2B8 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC2BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC2BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC2BC */ cpu->r[1] = _t0;
|
|
/* 027EC2C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC2C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC2C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC2C8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC2CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EC2D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC2D4 */ _t4 = cpu->r[10] + 0xFFFFEE5Cu;
|
|
/* 027EC2D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC2D8 */ cpu->r[31] = cpu->r[31] + 0x00000F50u;
|
|
/* 027EC2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC2E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC2E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC2E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC2E4 */ if (_t6) goto L_027EC2E8; else goto L_027EC350;
|
|
L_027EC2E8: ; // 0x27ec2e8
|
|
/* 027EC2E8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC2EC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC2F0 */ _t7 = cpu->r[11] + 0xFFFFD824u;
|
|
/* 027EC2F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC2F4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC2F8 */ cpu->r[9] = cpu->r[9] + 0x00000F4Cu;
|
|
/* 027EC2FC */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EC304 */ _t8 = cpu->r[8] + 0xFFFFEE5Cu;
|
|
/* 027EC304 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EC308 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC308 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC308 */ if (_t10) goto L_027EC314; else goto L_027EC30C;
|
|
L_027EC30C: ; // 0x27ec30c
|
|
/* 027EC30C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC30C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EC310 */ goto L_027EC350;
|
|
L_027EC314: ; // 0x27ec314
|
|
/* 027EC314 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC318 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC31C */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EC31C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC31C */ cpu->r[5] = _t12;
|
|
/* 027EC320 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC324 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC328 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EC330 */ _t13 = cpu->r[7] + 0xFFFFD824u;
|
|
/* 027EC330 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EC334 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC334 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC334 */ if (_t15) goto L_027EC338; else goto L_027EC348;
|
|
L_027EC338: ; // 0x27ec338
|
|
/* 027EC338 */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC33C */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC340 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EC340 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EC344 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC344 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EC348: ; // 0x27ec348
|
|
/* 027EC348 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC348 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EC34C */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC34C */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EC350: ; // 0x27ec350
|
|
/* 027EC350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC354 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC354 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC354 */ if (_t21) goto L_027EC39C; else goto L_027EC358;
|
|
L_027EC358: ; // 0x27ec358
|
|
/* 027EC358 */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC35C */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EC360 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC364 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC370 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC370 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EC370 */ if (_t25) goto L_027EC39C; else goto L_027EC374;
|
|
L_027EC374: ; // 0x27ec374
|
|
/* 027EC374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC378 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC378 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EC378 */ if (_t27) goto L_027EC3A4; else goto L_027EC37C;
|
|
L_027EC37C: ; // 0x27ec37c
|
|
/* 027EC37C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC37C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC384 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC384 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC384 */ if (_t30) goto L_027EC39C; else goto L_027EC388;
|
|
L_027EC388: ; // 0x27ec388
|
|
/* 027EC388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC38C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC38C */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC38C */ if (_t32) goto L_027EC3A4; else goto L_027EC390;
|
|
L_027EC390: ; // 0x27ec390
|
|
/* 027EC390 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC398 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC398 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC398 */ if (_t35) goto L_027EC39C; else goto L_027EC388;
|
|
L_027EC39C: ; // 0x27ec39c
|
|
/* 027EC39C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC3A0 */ goto L_027EC3A8;
|
|
L_027EC3A4: ; // 0x27ec3a4
|
|
/* 027EC3A4 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC3A8: ; // 0x27ec3a8
|
|
/* 027EC3A8 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC3AC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC3B0 */ cpu->lr = cpu->r[0];
|
|
/* 027EC3B4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC3B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC3BC */ return;
|
|
}
|
|
|
|
// fn_027EC2BC @ 0x27ec2bc
|
|
void Gambit_fn_027EC2BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027EC2BC: ; // 0x27ec2bc
|
|
/* 027EC2BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC2BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC2BC */ cpu->r[1] = _t0;
|
|
/* 027EC2C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC2C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC2C4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC2C8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC2CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 027EC2D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC2D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC2D4 */ _t4 = cpu->r[10] + 0xFFFFEE5Cu;
|
|
/* 027EC2D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC2D8 */ cpu->r[31] = cpu->r[31] + 0x00000F50u;
|
|
/* 027EC2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC2E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC2E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC2E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC2E4 */ if (_t6) goto L_027EC2E8; else goto L_027EC350;
|
|
L_027EC2E8: ; // 0x27ec2e8
|
|
/* 027EC2E8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC2EC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC2F0 */ _t7 = cpu->r[11] + 0xFFFFD824u;
|
|
/* 027EC2F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC2F4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC2F8 */ cpu->r[9] = cpu->r[9] + 0x00000F4Cu;
|
|
/* 027EC2FC */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027EC304 */ _t8 = cpu->r[8] + 0xFFFFEE5Cu;
|
|
/* 027EC304 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027EC308 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC308 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC308 */ if (_t10) goto L_027EC314; else goto L_027EC30C;
|
|
L_027EC30C: ; // 0x27ec30c
|
|
/* 027EC30C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC30C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 027EC310 */ goto L_027EC350;
|
|
L_027EC314: ; // 0x27ec314
|
|
/* 027EC314 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC318 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC31C */ _t12 = cpu->r[5] + 0xFFFFD7ECu;
|
|
/* 027EC31C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC31C */ cpu->r[5] = _t12;
|
|
/* 027EC320 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC324 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC328 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EC330 */ _t13 = cpu->r[7] + 0xFFFFD824u;
|
|
/* 027EC330 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 027EC334 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC334 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC334 */ if (_t15) goto L_027EC338; else goto L_027EC348;
|
|
L_027EC338: ; // 0x27ec338
|
|
/* 027EC338 */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC33C */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC340 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 027EC340 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 027EC344 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC344 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_027EC348: ; // 0x27ec348
|
|
/* 027EC348 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC348 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 027EC34C */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC34C */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_027EC350: ; // 0x27ec350
|
|
/* 027EC350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC354 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC354 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC354 */ if (_t21) goto L_027EC39C; else goto L_027EC358;
|
|
L_027EC358: ; // 0x27ec358
|
|
/* 027EC358 */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC358 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC35C */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027EC360 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC364 */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC370 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC370 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EC370 */ if (_t25) goto L_027EC39C; else goto L_027EC374;
|
|
L_027EC374: ; // 0x27ec374
|
|
/* 027EC374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC378 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC378 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EC378 */ if (_t27) goto L_027EC3A4; else goto L_027EC37C;
|
|
L_027EC37C: ; // 0x27ec37c
|
|
/* 027EC37C */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC37C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EC380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC384 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC384 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC384 */ if (_t30) goto L_027EC39C; else goto L_027EC388;
|
|
L_027EC388: ; // 0x27ec388
|
|
/* 027EC388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC38C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC38C */ _t32 = _t31 & 0x00000001u;
|
|
/* 027EC38C */ if (_t32) goto L_027EC3A4; else goto L_027EC390;
|
|
L_027EC390: ; // 0x27ec390
|
|
/* 027EC390 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EC394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC398 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC398 */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EC398 */ if (_t35) goto L_027EC39C; else goto L_027EC388;
|
|
L_027EC39C: ; // 0x27ec39c
|
|
/* 027EC39C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC3A0 */ goto L_027EC3A8;
|
|
L_027EC3A4: ; // 0x27ec3a4
|
|
/* 027EC3A4 */ cpu->r[3] = cpu->r[30];
|
|
L_027EC3A8: ; // 0x27ec3a8
|
|
/* 027EC3A8 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC3A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027EC3AC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC3B0 */ cpu->lr = cpu->r[0];
|
|
/* 027EC3B4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EC3B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC3BC */ return;
|
|
}
|
|
|
|
// fn_027EC3C0 @ 0x27ec3c0
|
|
void Gambit_fn_027EC3C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EC3C0: ; // 0x27ec3c0
|
|
/* 027EC3C0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC3C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EC3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EC3C8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC3C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EC3C8 */ cpu->r[1] = _t1;
|
|
/* 027EC3CC */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC3D0 */ Gambit_fn_027EC2B8(cpu);
|
|
/* 027EC3D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EC3D8 */ cpu->lr = cpu->r[0];
|
|
/* 027EC3DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3E0 */ return;
|
|
}
|
|
|
|
// fn_027EC3C8 @ 0x27ec3c8
|
|
void Gambit_fn_027EC3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EC3C8: ; // 0x27ec3c8
|
|
/* 027EC3C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC3C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC3C8 */ cpu->r[1] = _t0;
|
|
/* 027EC3CC */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC3D0 */ Gambit_fn_027EC2B8(cpu);
|
|
/* 027EC3D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EC3D8 */ cpu->lr = cpu->r[0];
|
|
/* 027EC3DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3E0 */ return;
|
|
}
|
|
|
|
// fn_027EC3E4 @ 0x27ec3e4
|
|
void Gambit_fn_027EC3E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027EC3E4: ; // 0x27ec3e4
|
|
/* 027EC3E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC3E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC3E8 */ cpu->r[1] = _t0;
|
|
/* 027EC3EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC3F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC3F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC3F8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC3FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC3FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC400 */ _t4 = cpu->r[9] + 0xFFFFEDD8u;
|
|
/* 027EC400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC400 */ cpu->r[9] = _t4;
|
|
/* 027EC404 */ cpu->r[31] = cpu->r[31] + 0x00000F58u;
|
|
/* 027EC408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC40C */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC410 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC410 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC410 */ if (_t6) goto L_027EC414; else goto L_027EC448;
|
|
L_027EC414: ; // 0x27ec414
|
|
/* 027EC414 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC418 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC41C */ _t7 = cpu->r[7] + 0xFFFFD7ECu;
|
|
/* 027EC41C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC41C */ cpu->r[7] = _t7;
|
|
/* 027EC420 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EC424 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC42C */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC42C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027EC430 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC430 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC430 */ if (_t10) goto L_027EC434; else goto L_027EC444;
|
|
L_027EC434: ; // 0x27ec434
|
|
/* 027EC434 */ cpu->r[11] = 0x00000001u;
|
|
/* 027EC438 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC43C */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 027EC43C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027EC440 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC440 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_027EC444: ; // 0x27ec444
|
|
/* 027EC444 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC444 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027EC448: ; // 0x27ec448
|
|
/* 027EC448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC44C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC44C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC44C */ if (_t15) goto L_027EC494; else goto L_027EC450;
|
|
L_027EC450: ; // 0x27ec450
|
|
/* 027EC450 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC450 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC454 */ _t17 = cpu->r[6] + 0x00000014u;
|
|
/* 027EC454 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EC458 */ cpu->ctr = cpu->r[8];
|
|
/* 027EC45C */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC460 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC468 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC468 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC468 */ if (_t19) goto L_027EC494; else goto L_027EC46C;
|
|
L_027EC46C: ; // 0x27ec46c
|
|
/* 027EC46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC470 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC470 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC470 */ if (_t21) goto L_027EC498; else goto L_027EC474;
|
|
L_027EC474: ; // 0x27ec474
|
|
/* 027EC474 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC47C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC47C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC47C */ if (_t24) goto L_027EC494; else goto L_027EC480;
|
|
L_027EC480: ; // 0x27ec480
|
|
/* 027EC480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC484 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC484 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EC484 */ if (_t26) goto L_027EC498; else goto L_027EC488;
|
|
L_027EC488: ; // 0x27ec488
|
|
/* 027EC488 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EC48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC490 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC490 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EC490 */ if (_t29) goto L_027EC494; else goto L_027EC480;
|
|
L_027EC494: ; // 0x27ec494
|
|
/* 027EC494 */ cpu->r[30] = 0x00000000u;
|
|
L_027EC498: ; // 0x27ec498
|
|
/* 027EC498 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EC49C */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC4A0 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC4A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC4A4 */ cpu->lr = cpu->r[0];
|
|
/* 027EC4A8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC4AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC4B0 */ return;
|
|
}
|
|
|
|
// fn_027EC3E8 @ 0x27ec3e8
|
|
void Gambit_fn_027EC3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027EC3E8: ; // 0x27ec3e8
|
|
/* 027EC3E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027EC3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC3E8 */ cpu->r[1] = _t0;
|
|
/* 027EC3EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC3EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027EC3F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC3F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027EC3F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027EC3F8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC3FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC3FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027EC400 */ _t4 = cpu->r[9] + 0xFFFFEDD8u;
|
|
/* 027EC400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027EC400 */ cpu->r[9] = _t4;
|
|
/* 027EC404 */ cpu->r[31] = cpu->r[31] + 0x00000F58u;
|
|
/* 027EC408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC40C */ cpu->r[30] = cpu->r[3];
|
|
/* 027EC410 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC410 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027EC410 */ if (_t6) goto L_027EC414; else goto L_027EC448;
|
|
L_027EC414: ; // 0x27ec414
|
|
/* 027EC414 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC418 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC41C */ _t7 = cpu->r[7] + 0xFFFFD7ECu;
|
|
/* 027EC41C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC41C */ cpu->r[7] = _t7;
|
|
/* 027EC420 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EC424 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 027EC428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC42C */ _t8 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC42C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027EC430 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC430 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EC430 */ if (_t10) goto L_027EC434; else goto L_027EC444;
|
|
L_027EC434: ; // 0x27ec434
|
|
/* 027EC434 */ cpu->r[11] = 0x00000001u;
|
|
/* 027EC438 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC43C */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 027EC43C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 027EC440 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC440 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_027EC444: ; // 0x27ec444
|
|
/* 027EC444 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 027EC444 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_027EC448: ; // 0x27ec448
|
|
/* 027EC448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027EC44C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC44C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC44C */ if (_t15) goto L_027EC494; else goto L_027EC450;
|
|
L_027EC450: ; // 0x27ec450
|
|
/* 027EC450 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027EC450 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC454 */ _t17 = cpu->r[6] + 0x00000014u;
|
|
/* 027EC454 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EC458 */ cpu->ctr = cpu->r[8];
|
|
/* 027EC45C */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC460 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC468 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC468 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC468 */ if (_t19) goto L_027EC494; else goto L_027EC46C;
|
|
L_027EC46C: ; // 0x27ec46c
|
|
/* 027EC46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC470 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC470 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027EC470 */ if (_t21) goto L_027EC498; else goto L_027EC474;
|
|
L_027EC474: ; // 0x27ec474
|
|
/* 027EC474 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027EC478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC47C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC47C */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC47C */ if (_t24) goto L_027EC494; else goto L_027EC480;
|
|
L_027EC480: ; // 0x27ec480
|
|
/* 027EC480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[31]);
|
|
/* 027EC484 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC484 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027EC484 */ if (_t26) goto L_027EC498; else goto L_027EC488;
|
|
L_027EC488: ; // 0x27ec488
|
|
/* 027EC488 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC488 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EC48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC490 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC490 */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EC490 */ if (_t29) goto L_027EC494; else goto L_027EC480;
|
|
L_027EC494: ; // 0x27ec494
|
|
/* 027EC494 */ cpu->r[30] = 0x00000000u;
|
|
L_027EC498: ; // 0x27ec498
|
|
/* 027EC498 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EC49C */ cpu->r[3] = cpu->r[30];
|
|
/* 027EC4A0 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC4A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC4A4 */ cpu->lr = cpu->r[0];
|
|
/* 027EC4A8 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC4AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027EC4B0 */ return;
|
|
}
|
|
|
|
// fn_027EC4B4 @ 0x27ec4b4
|
|
void Gambit_fn_027EC4B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EC4B4: ; // 0x27ec4b4
|
|
/* 027EC4B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC4B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EC4B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EC4BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC4BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EC4BC */ cpu->r[1] = _t1;
|
|
/* 027EC4C0 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC4C4 */ Gambit_fn_027EC3E4(cpu);
|
|
/* 027EC4C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EC4CC */ cpu->lr = cpu->r[0];
|
|
/* 027EC4D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC4D4 */ return;
|
|
}
|
|
|
|
// fn_027EC4BC @ 0x27ec4bc
|
|
void Gambit_fn_027EC4BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EC4BC: ; // 0x27ec4bc
|
|
/* 027EC4BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EC4BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC4BC */ cpu->r[1] = _t0;
|
|
/* 027EC4C0 */ Gambit_fn_027EBB94(cpu);
|
|
/* 027EC4C4 */ Gambit_fn_027EC3E4(cpu);
|
|
/* 027EC4C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EC4CC */ cpu->lr = cpu->r[0];
|
|
/* 027EC4D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC4D4 */ return;
|
|
}
|
|
|
|
// fn_027EC4D8 @ 0x27ec4d8
|
|
void Gambit_fn_027EC4D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90;
|
|
|
|
L_027EC4D8: ; // 0x27ec4d8
|
|
/* 027EC4D8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027EC4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC4D8 */ cpu->r[1] = _t0;
|
|
/* 027EC4DC */ /* nop */
|
|
/* 027EC4E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC4E4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027EC4E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027EC4E8 */ _t2 = cpu->r[4] + 0x00000030u;
|
|
/* 027EC4E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EC4EC */ _t3 = cpu->r[6] + 0x00000300u;
|
|
/* 027EC4EC */ cpu->r[21] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027EC4F0 */ cpu->r[18] = cpu->r[6] + 0x000002FCu;
|
|
/* 027EC4F4 */ cpu->r[19] = cpu->r[3];
|
|
/* 027EC4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[18]);
|
|
/* 027EC4FC */ cpu->r[20] = cpu->r[5];
|
|
/* 027EC500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027EC500 */ if (_t5) goto L_027EC704; else goto L_027EC504;
|
|
L_027EC504: ; // 0x27ec504
|
|
/* 027EC504 */ cpu->r[31] = 0x10110000u;
|
|
/* 027EC508 */ cpu->r[23] = 0x101D0000u;
|
|
/* 027EC50C */ cpu->r[22] = 0x00000001u;
|
|
/* 027EC510 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 027EC510 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 027EC514 */ cpu->r[25] = 0x101D0000u;
|
|
/* 027EC518 */ cpu->r[28] = 0x00080000u;
|
|
/* 027EC51C */ cpu->r[17] = 0x10110000u;
|
|
/* 027EC520 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EC524 */ cpu->r[23] = cpu->r[23] + 0x00000F44u;
|
|
/* 027EC528 */ cpu->r[24] = 0x101D0000u;
|
|
/* 027EC52C */ cpu->r[26] = 0x101D0000u;
|
|
/* 027EC530 */ cpu->r[25] = cpu->r[25] + 0x00000F38u;
|
|
/* 027EC534 */ cpu->r[27] = 0x101D0000u;
|
|
/* 027EC538 */ cpu->r[30] = cpu->r[30] + 0x00000F48u;
|
|
/* 027EC53C */ cpu->r[17] = cpu->r[17] + 0x00000038u;
|
|
/* 027EC540 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_027EC544: ; // 0x27ec544
|
|
/* 027EC544 */ _t7 = cpu->r[24] + 0xFFFFEE2Cu;
|
|
/* 027EC544 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EC548 */ _t8 = cpu->r[21] + 0x00000008u;
|
|
/* 027EC548 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EC54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027EC550 */ _t9 = cpu->r[7] + 0x00000004u;
|
|
/* 027EC550 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC554 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC554 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027EC554 */ if (_t11) goto L_027EC558; else goto L_027EC58C;
|
|
L_027EC558: ; // 0x27ec558
|
|
/* 027EC558 */ _t12 = cpu->r[27] + 0xFFFFD800u;
|
|
/* 027EC558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027EC560 */ _t13 = cpu->r[24] + 0xFFFFEE2Cu;
|
|
/* 027EC560 */ rbrew_write32(cpu->mem, _t13, cpu->r[22]);
|
|
/* 027EC564 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC564 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC564 */ if (_t15) goto L_027EC568; else goto L_027EC588;
|
|
L_027EC568: ; // 0x27ec568
|
|
/* 027EC568 */ _t16 = cpu->r[26] + 0xFFFFD7ECu;
|
|
/* 027EC568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EC570 */ _t17 = cpu->r[27] + 0xFFFFD800u;
|
|
/* 027EC570 */ rbrew_write32(cpu->mem, _t17, cpu->r[22]);
|
|
/* 027EC574 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC574 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC574 */ if (_t19) goto L_027EC578; else goto L_027EC584;
|
|
L_027EC578: ; // 0x27ec578
|
|
/* 027EC578 */ _t20 = cpu->r[26] + 0xFFFFD7ECu;
|
|
/* 027EC578 */ rbrew_write32(cpu->mem, _t20, cpu->r[22]);
|
|
/* 027EC57C */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC580 */ _t21 = cpu->r[25] + 0x00000000u;
|
|
/* 027EC580 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_027EC584: ; // 0x27ec584
|
|
/* 027EC584 */ _t22 = cpu->r[23] + 0x00000000u;
|
|
/* 027EC584 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]);
|
|
L_027EC588: ; // 0x27ec588
|
|
/* 027EC588 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC588 */ rbrew_write32(cpu->mem, _t23, cpu->r[23]);
|
|
L_027EC58C: ; // 0x27ec58c
|
|
/* 027EC58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027EC590 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC590 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027EC590 */ if (_t25) goto L_027EC638; else goto L_027EC594;
|
|
L_027EC594: ; // 0x27ec594
|
|
/* 027EC594 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 027EC594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EC598 */ _t27 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EC59C */ cpu->ctr = cpu->r[9];
|
|
/* 027EC5A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EC5A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC5A8 */ cpu->r[12] = cpu->r[3];
|
|
/* 027EC5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC5AC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC5AC */ _t29 = _t28 & 0x00000001u;
|
|
/* 027EC5AC */ if (_t29) goto L_027EC638; else goto L_027EC5B0;
|
|
L_027EC5B0: ; // 0x27ec5b0
|
|
/* 027EC5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 027EC5B4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC5B4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027EC5B4 */ if (_t31) goto L_027EC5DC; else goto L_027EC5B8;
|
|
L_027EC5B8: ; // 0x27ec5b8
|
|
/* 027EC5B8 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC5B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC5C0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC5C0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EC5C0 */ if (_t34) goto L_027EC638; else goto L_027EC5C4;
|
|
L_027EC5C4: ; // 0x27ec5c4
|
|
/* 027EC5C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 027EC5C8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC5C8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EC5C8 */ if (_t36) goto L_027EC5DC; else goto L_027EC5CC;
|
|
L_027EC5CC: ; // 0x27ec5cc
|
|
/* 027EC5CC */ _t37 = cpu->r[12] + 0x00000000u;
|
|
/* 027EC5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC5D4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC5D4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EC5D4 */ if (_t39) goto L_027EC5D8; else goto L_027EC5C4;
|
|
L_027EC5D8: ; // 0x27ec5d8
|
|
/* 027EC5D8 */ goto L_027EC638;
|
|
L_027EC5DC: ; // 0x27ec5dc
|
|
/* 027EC5DC */ _t40 = cpu->r[29] + 0x000000A8u;
|
|
/* 027EC5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EC5E0 */ _t41 = cpu->r[20] + 0x00000004u;
|
|
/* 027EC5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027EC5E4 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC5E4 */ rbrew_write32(cpu->mem, _t42, cpu->r[17]);
|
|
/* 027EC5E8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC5E8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 027EC5EC */ _t44 = cpu->r[4] + 0x00000014u;
|
|
/* 027EC5EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027EC5F0 */ cpu->ctr = cpu->r[5];
|
|
/* 027EC5F4 */ cpu->r[3] = cpu->r[20];
|
|
/* 027EC5F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC5FC */ _t45 = cpu->r[20] + 0x00000004u;
|
|
/* 027EC5FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027EC600 */ _t46 = cpu->r[8] + 0x00000014u;
|
|
/* 027EC600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027EC604 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC608 */ cpu->r[3] = cpu->r[20];
|
|
/* 027EC60C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC610 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC610 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EC614 */ _t48 = cpu->r[11] + 0x00000014u;
|
|
/* 027EC614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027EC618 */ cpu->ctr = cpu->r[4];
|
|
/* 027EC61C */ _t49 = cpu->r[20] + 0x00000000u;
|
|
/* 027EC61C */ cpu->r[16] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027EC620 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC628 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 027EC62C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[11]);
|
|
/* 027EC630 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC630 */ _t52 = _t51 & 0x00000001u;
|
|
/* 027EC630 */ if (_t52) goto L_027EC6D0; else goto L_027EC634;
|
|
L_027EC634: ; // 0x27ec634
|
|
/* 027EC634 */ goto L_027EC694;
|
|
L_027EC638: ; // 0x27ec638
|
|
/* 027EC638 */ cpu->r[29] = 0x00000000u;
|
|
/* 027EC63C */ _t53 = cpu->r[29] + 0x000000A8u;
|
|
/* 027EC63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027EC640 */ _t54 = cpu->r[20] + 0x00000004u;
|
|
/* 027EC640 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 027EC644 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC644 */ rbrew_write32(cpu->mem, _t55, cpu->r[17]);
|
|
/* 027EC648 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC648 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 027EC64C */ _t57 = cpu->r[4] + 0x00000014u;
|
|
/* 027EC64C */ cpu->r[5] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027EC650 */ cpu->ctr = cpu->r[5];
|
|
/* 027EC654 */ cpu->r[3] = cpu->r[20];
|
|
/* 027EC658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC65C */ _t58 = cpu->r[20] + 0x00000004u;
|
|
/* 027EC65C */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027EC660 */ _t59 = cpu->r[8] + 0x00000014u;
|
|
/* 027EC660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027EC664 */ cpu->ctr = cpu->r[0];
|
|
/* 027EC668 */ cpu->r[3] = cpu->r[20];
|
|
/* 027EC66C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC670 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC670 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027EC674 */ _t61 = cpu->r[11] + 0x00000014u;
|
|
/* 027EC674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027EC678 */ cpu->ctr = cpu->r[4];
|
|
/* 027EC67C */ _t62 = cpu->r[20] + 0x00000000u;
|
|
/* 027EC67C */ cpu->r[16] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027EC680 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EC684 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC688 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 027EC688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027EC68C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[11]);
|
|
/* 027EC690 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC690 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027EC690 */ if (_t65) goto L_027EC6D0; else goto L_027EC694;
|
|
L_027EC694: ; // 0x27ec694
|
|
/* 027EC694 */ _t66 = cpu->r[20] + 0x00000000u;
|
|
/* 027EC694 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027EC698 */ cpu->r[6] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 027EC69C */ cpu->ctr = cpu->r[28];
|
|
/* 027EC6A0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_027EC6A4: ; // 0x27ec6a4
|
|
/* 027EC6A4 */ _t67 = cpu->r[7] + 0x00000001u;
|
|
/* 027EC6A4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t67);
|
|
/* 027EC6A4 */ cpu->r[7] = _t67;
|
|
/* 027EC6A8 */ _t68 = cpu->r[6] + 0x00000001u;
|
|
/* 027EC6A8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t68);
|
|
/* 027EC6A8 */ cpu->r[6] = _t68;
|
|
/* 027EC6AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[5]);
|
|
/* 027EC6B0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC6B0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 027EC6B0 */ if (_t70) goto L_027EC6B4; else goto L_027EC6F8;
|
|
L_027EC6B4: ; // 0x27ec6b4
|
|
/* 027EC6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 027EC6B8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC6B8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027EC6B8 */ if (_t72) goto L_027EC6D0; else goto L_027EC6BC;
|
|
L_027EC6BC: ; // 0x27ec6bc
|
|
/* 027EC6BC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027EC6BC */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027EC6BC */ _t74 = _t73 >> (0x00000002u & 31u);
|
|
/* 027EC6BC */ _t75 = _t74 & 0x00000001u;
|
|
/* 027EC6BC */ if (_t75) goto L_027EC6A4; else goto L_027EC6C0;
|
|
L_027EC6C0: ; // 0x27ec6c0
|
|
/* 027EC6C0 */ _t76 = cpu->r[21] + 0x00000004u;
|
|
/* 027EC6C0 */ cpu->r[21] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027EC6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[18]);
|
|
/* 027EC6C8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC6C8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027EC6C8 */ if (_t78) goto L_027EC6CC; else goto L_027EC544;
|
|
L_027EC6CC: ; // 0x27ec6cc
|
|
/* 027EC6CC */ goto L_027EC704;
|
|
L_027EC6D0: ; // 0x27ec6d0
|
|
/* 027EC6D0 */ _t79 = cpu->r[19] + 0x00000000u;
|
|
/* 027EC6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027EC6D4 */ _t80 = cpu->r[19] + 0x00000004u;
|
|
/* 027EC6D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027EC6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 027EC6DC */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC6DC */ _t82 = _t81 & 0x00000001u;
|
|
/* 027EC6DC */ if (_t82) goto L_027EC6E0; else goto L_027EC6F8;
|
|
L_027EC6E0: ; // 0x27ec6e0
|
|
/* 027EC6E0 */ _t83 = cpu->r[19] + 0x00000008u;
|
|
/* 027EC6E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 027EC6E4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027EC6E8 */ _t84 = cpu->r[8] + cpu->r[9];
|
|
/* 027EC6E8 */ rbrew_write32(cpu->mem, _t84, cpu->r[29]);
|
|
/* 027EC6EC */ _t85 = cpu->r[19] + 0x00000000u;
|
|
/* 027EC6EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 027EC6F0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 027EC6F4 */ _t86 = cpu->r[19] + 0x00000000u;
|
|
/* 027EC6F4 */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
L_027EC6F8: ; // 0x27ec6f8
|
|
/* 027EC6F8 */ _t87 = cpu->r[21] + 0x00000004u;
|
|
/* 027EC6F8 */ cpu->r[21] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027EC6FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[18]);
|
|
/* 027EC700 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC700 */ _t89 = _t88 & 0x00000001u;
|
|
/* 027EC700 */ if (_t89) goto L_027EC704; else goto L_027EC544;
|
|
L_027EC704: ; // 0x27ec704
|
|
/* 027EC704 */ /* nop */
|
|
/* 027EC708 */ _t90 = cpu->r[1] + 0x00000054u;
|
|
/* 027EC708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027EC70C */ cpu->lr = cpu->r[0];
|
|
/* 027EC710 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 027EC714 */ return;
|
|
}
|
|
|
|
// fn_027EC718 @ 0x27ec718
|
|
void Gambit_fn_027EC718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_027EC718: ; // 0x27ec718
|
|
/* 027EC718 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC71C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EC71C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC71C */ cpu->r[1] = _t0;
|
|
/* 027EC720 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC720 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EC724 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC724 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027EC728 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC728 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EC72C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC72C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EC730 */ cpu->r[29] = cpu->r[3];
|
|
/* 027EC734 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC734 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EC738 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EC73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 027EC740 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EC744 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC744 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EC744 */ if (_t8) goto L_027EC768; else goto L_027EC748;
|
|
L_027EC748: ; // 0x27ec748
|
|
/* 027EC748 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC74C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC74C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EC750 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EC754 */ cpu->lr = cpu->r[0];
|
|
/* 027EC758 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC75C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC760 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC764 */ return;
|
|
L_027EC768: ; // 0x27ec768
|
|
/* 027EC768 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC76C */ _t13 = cpu->r[9] + 0xFFFFEE58u;
|
|
/* 027EC76C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EC770 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EC774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027EC778 */ cpu->r[30] = cpu->r[30] + 0x00000F40u;
|
|
/* 027EC77C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC77C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC77C */ if (_t15) goto L_027EC780; else goto L_027EC7E8;
|
|
L_027EC780: ; // 0x27ec780
|
|
/* 027EC780 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC784 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC788 */ _t16 = cpu->r[12] + 0xFFFFD7FCu;
|
|
/* 027EC788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC78C */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC790 */ cpu->r[8] = cpu->r[8] + 0x00000F3Cu;
|
|
/* 027EC794 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC79C */ _t17 = cpu->r[7] + 0xFFFFEE58u;
|
|
/* 027EC79C */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 027EC7A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC7A0 */ if (_t19) goto L_027EC7AC; else goto L_027EC7A4;
|
|
L_027EC7A4: ; // 0x27ec7a4
|
|
/* 027EC7A4 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC7A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027EC7A8 */ goto L_027EC7E8;
|
|
L_027EC7AC: ; // 0x27ec7ac
|
|
/* 027EC7AC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC7B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC7B4 */ _t21 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027EC7B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EC7B4 */ cpu->r[9] = _t21;
|
|
/* 027EC7B8 */ cpu->r[11] = cpu->r[11] + 0x00000F38u;
|
|
/* 027EC7BC */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC7C0 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EC7C8 */ _t22 = cpu->r[5] + 0xFFFFD7FCu;
|
|
/* 027EC7C8 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 027EC7CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC7CC */ if (_t24) goto L_027EC7D0; else goto L_027EC7E0;
|
|
L_027EC7D0: ; // 0x27ec7d0
|
|
/* 027EC7D0 */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC7D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC7D8 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC7D8 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027EC7DC */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC7DC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_027EC7E0: ; // 0x27ec7e0
|
|
/* 027EC7E0 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC7E0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027EC7E4 */ _t28 = cpu->r[8] + 0x00000000u;
|
|
/* 027EC7E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_027EC7E8: ; // 0x27ec7e8
|
|
/* 027EC7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC7EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7EC */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC7EC */ if (_t30) goto L_027EC868; else goto L_027EC7F0;
|
|
L_027EC7F0: ; // 0x27ec7f0
|
|
/* 027EC7F0 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 027EC7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC7F4 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC7F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC7F8 */ cpu->ctr = cpu->r[10];
|
|
/* 027EC7FC */ cpu->r[3] = cpu->r[31];
|
|
/* 027EC800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC808 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC808 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EC808 */ if (_t34) goto L_027EC868; else goto L_027EC80C;
|
|
L_027EC80C: ; // 0x27ec80c
|
|
/* 027EC80C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC810 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC810 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EC810 */ if (_t36) goto L_027EC838; else goto L_027EC814;
|
|
L_027EC814: ; // 0x27ec814
|
|
/* 027EC814 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC81C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC81C */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EC81C */ if (_t39) goto L_027EC868; else goto L_027EC820;
|
|
L_027EC820: ; // 0x27ec820
|
|
/* 027EC820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC824 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC824 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EC824 */ if (_t41) goto L_027EC838; else goto L_027EC828;
|
|
L_027EC828: ; // 0x27ec828
|
|
/* 027EC828 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EC82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC830 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC830 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027EC830 */ if (_t44) goto L_027EC834; else goto L_027EC820;
|
|
L_027EC834: ; // 0x27ec834
|
|
/* 027EC834 */ goto L_027EC868;
|
|
L_027EC838: ; // 0x27ec838
|
|
/* 027EC838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC83C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC83C */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EC83C */ if (_t46) goto L_027EC868; else goto L_027EC840;
|
|
L_027EC840: ; // 0x27ec840
|
|
/* 027EC840 */ _t47 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC840 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EC844 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027EC848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]);
|
|
/* 027EC84C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC84C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027EC84C */ if (_t50) goto L_027EC850; else goto L_027EC868;
|
|
L_027EC850: ; // 0x27ec850
|
|
/* 027EC850 */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 027EC850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027EC854 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027EC858 */ _t52 = cpu->r[7] + cpu->r[8];
|
|
/* 027EC858 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 027EC85C */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC85C */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027EC860 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EC864 */ _t54 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC864 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
L_027EC868: ; // 0x27ec868
|
|
/* 027EC868 */ _t55 = cpu->r[31] + 0x00000014u;
|
|
/* 027EC868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027EC868 */ cpu->r[31] = _t55;
|
|
/* 027EC86C */ cpu->r[0] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027EC870 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027EC874 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027EC878 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 027EC87C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027EC87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EC880 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC880 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027EC880 */ if (_t57) goto L_027EC8B4; else goto L_027EC884;
|
|
L_027EC884: ; // 0x27ec884
|
|
/* 027EC884 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EC888 */ cpu->r[4] = cpu->r[30];
|
|
/* 027EC88C */ Gambit_fn_027EC718(cpu);
|
|
/* 027EC890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC894 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC894 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027EC894 */ if (_t59) goto L_027EC748; else goto L_027EC898;
|
|
L_027EC898: ; // 0x27ec898
|
|
/* 027EC898 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027EC89C */ cpu->r[11] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027EC8A0 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 027EC8A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027EC8A8 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027EC8AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027EC8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027EC8B0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC8B0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027EC8B0 */ if (_t62) goto L_027EC8B4; else goto L_027EC884;
|
|
L_027EC8B4: ; // 0x27ec8b4
|
|
/* 027EC8B4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC8B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027EC8B8 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027EC8BC */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC8BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027EC8C0 */ cpu->lr = cpu->r[0];
|
|
/* 027EC8C4 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027EC8C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC8CC */ cpu->r[3] = 0x00000001u;
|
|
/* 027EC8D0 */ return;
|
|
}
|
|
|
|
// fn_027EC71C @ 0x27ec71c
|
|
void Gambit_fn_027EC71C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_027EC71C: ; // 0x27ec71c
|
|
/* 027EC71C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EC71C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC71C */ cpu->r[1] = _t0;
|
|
/* 027EC720 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC720 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EC724 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC724 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027EC728 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC728 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EC72C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC72C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EC730 */ cpu->r[29] = cpu->r[3];
|
|
/* 027EC734 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC734 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EC738 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EC73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 027EC740 */ cpu->r[31] = cpu->r[4];
|
|
/* 027EC744 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC744 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EC744 */ if (_t8) goto L_027EC768; else goto L_027EC748;
|
|
L_027EC748: ; // 0x27ec748
|
|
/* 027EC748 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC74C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC74C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EC750 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EC754 */ cpu->lr = cpu->r[0];
|
|
/* 027EC758 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC75C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC760 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC764 */ return;
|
|
L_027EC768: ; // 0x27ec768
|
|
/* 027EC768 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC76C */ _t13 = cpu->r[9] + 0xFFFFEE58u;
|
|
/* 027EC76C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EC770 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EC774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027EC778 */ cpu->r[30] = cpu->r[30] + 0x00000F40u;
|
|
/* 027EC77C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC77C */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC77C */ if (_t15) goto L_027EC780; else goto L_027EC7E8;
|
|
L_027EC780: ; // 0x27ec780
|
|
/* 027EC780 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC784 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC788 */ _t16 = cpu->r[12] + 0xFFFFD7FCu;
|
|
/* 027EC788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC78C */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC790 */ cpu->r[8] = cpu->r[8] + 0x00000F3Cu;
|
|
/* 027EC794 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC79C */ _t17 = cpu->r[7] + 0xFFFFEE58u;
|
|
/* 027EC79C */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 027EC7A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC7A0 */ if (_t19) goto L_027EC7AC; else goto L_027EC7A4;
|
|
L_027EC7A4: ; // 0x27ec7a4
|
|
/* 027EC7A4 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC7A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027EC7A8 */ goto L_027EC7E8;
|
|
L_027EC7AC: ; // 0x27ec7ac
|
|
/* 027EC7AC */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC7B0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC7B4 */ _t21 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027EC7B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EC7B4 */ cpu->r[9] = _t21;
|
|
/* 027EC7B8 */ cpu->r[11] = cpu->r[11] + 0x00000F38u;
|
|
/* 027EC7BC */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC7C0 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EC7C8 */ _t22 = cpu->r[5] + 0xFFFFD7FCu;
|
|
/* 027EC7C8 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 027EC7CC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7CC */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC7CC */ if (_t24) goto L_027EC7D0; else goto L_027EC7E0;
|
|
L_027EC7D0: ; // 0x27ec7d0
|
|
/* 027EC7D0 */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC7D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC7D8 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC7D8 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027EC7DC */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC7DC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_027EC7E0: ; // 0x27ec7e0
|
|
/* 027EC7E0 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC7E0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027EC7E4 */ _t28 = cpu->r[8] + 0x00000000u;
|
|
/* 027EC7E4 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_027EC7E8: ; // 0x27ec7e8
|
|
/* 027EC7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC7EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC7EC */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC7EC */ if (_t30) goto L_027EC868; else goto L_027EC7F0;
|
|
L_027EC7F0: ; // 0x27ec7f0
|
|
/* 027EC7F0 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 027EC7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC7F4 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC7F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC7F8 */ cpu->ctr = cpu->r[10];
|
|
/* 027EC7FC */ cpu->r[3] = cpu->r[31];
|
|
/* 027EC800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC808 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC808 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EC808 */ if (_t34) goto L_027EC868; else goto L_027EC80C;
|
|
L_027EC80C: ; // 0x27ec80c
|
|
/* 027EC80C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC810 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC810 */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EC810 */ if (_t36) goto L_027EC838; else goto L_027EC814;
|
|
L_027EC814: ; // 0x27ec814
|
|
/* 027EC814 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC81C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC81C */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EC81C */ if (_t39) goto L_027EC868; else goto L_027EC820;
|
|
L_027EC820: ; // 0x27ec820
|
|
/* 027EC820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC824 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC824 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EC824 */ if (_t41) goto L_027EC838; else goto L_027EC828;
|
|
L_027EC828: ; // 0x27ec828
|
|
/* 027EC828 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EC82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC830 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC830 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027EC830 */ if (_t44) goto L_027EC834; else goto L_027EC820;
|
|
L_027EC834: ; // 0x27ec834
|
|
/* 027EC834 */ goto L_027EC868;
|
|
L_027EC838: ; // 0x27ec838
|
|
/* 027EC838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC83C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC83C */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EC83C */ if (_t46) goto L_027EC868; else goto L_027EC840;
|
|
L_027EC840: ; // 0x27ec840
|
|
/* 027EC840 */ _t47 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC840 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EC844 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027EC848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]);
|
|
/* 027EC84C */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC84C */ _t50 = _t49 & 0x00000001u;
|
|
/* 027EC84C */ if (_t50) goto L_027EC850; else goto L_027EC868;
|
|
L_027EC850: ; // 0x27ec850
|
|
/* 027EC850 */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 027EC850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027EC854 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027EC858 */ _t52 = cpu->r[7] + cpu->r[8];
|
|
/* 027EC858 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 027EC85C */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC85C */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027EC860 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027EC864 */ _t54 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC864 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
L_027EC868: ; // 0x27ec868
|
|
/* 027EC868 */ _t55 = cpu->r[31] + 0x00000014u;
|
|
/* 027EC868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027EC868 */ cpu->r[31] = _t55;
|
|
/* 027EC86C */ cpu->r[0] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027EC870 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027EC874 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027EC878 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 027EC87C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027EC87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EC880 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC880 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027EC880 */ if (_t57) goto L_027EC8B4; else goto L_027EC884;
|
|
L_027EC884: ; // 0x27ec884
|
|
/* 027EC884 */ cpu->r[3] = cpu->r[29];
|
|
/* 027EC888 */ cpu->r[4] = cpu->r[30];
|
|
/* 027EC88C */ Gambit_fn_027EC718(cpu);
|
|
/* 027EC890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC894 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC894 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027EC894 */ if (_t59) goto L_027EC748; else goto L_027EC898;
|
|
L_027EC898: ; // 0x27ec898
|
|
/* 027EC898 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC898 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027EC89C */ cpu->r[11] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027EC8A0 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 027EC8A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027EC8A8 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027EC8AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027EC8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027EC8B0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC8B0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027EC8B0 */ if (_t62) goto L_027EC8B4; else goto L_027EC884;
|
|
L_027EC8B4: ; // 0x27ec8b4
|
|
/* 027EC8B4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC8B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027EC8B8 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027EC8BC */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC8BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027EC8C0 */ cpu->lr = cpu->r[0];
|
|
/* 027EC8C4 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027EC8C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC8CC */ cpu->r[3] = 0x00000001u;
|
|
/* 027EC8D0 */ return;
|
|
}
|
|
|
|
// fn_027EC8D4 @ 0x27ec8d4
|
|
void Gambit_fn_027EC8D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_027EC8D4: ; // 0x27ec8d4
|
|
/* 027EC8D4 */ cpu->r[0] = cpu->lr;
|
|
/* 027EC8D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EC8D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC8D8 */ cpu->r[1] = _t0;
|
|
/* 027EC8DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC8DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EC8E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC8E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027EC8E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC8E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EC8E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC8E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EC8EC */ cpu->r[29] = cpu->r[3];
|
|
/* 027EC8F0 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC8F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EC8F4 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EC8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 027EC8FC */ cpu->r[31] = cpu->r[4];
|
|
/* 027EC900 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC900 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EC900 */ if (_t8) goto L_027EC924; else goto L_027EC904;
|
|
L_027EC904: ; // 0x27ec904
|
|
/* 027EC904 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC908 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EC90C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EC910 */ cpu->lr = cpu->r[0];
|
|
/* 027EC914 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC918 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC91C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC920 */ return;
|
|
L_027EC924: ; // 0x27ec924
|
|
/* 027EC924 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC928 */ _t13 = cpu->r[9] + 0xFFFFEE2Cu;
|
|
/* 027EC928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EC92C */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EC930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027EC934 */ cpu->r[30] = cpu->r[30] + 0x00000F48u;
|
|
/* 027EC938 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC938 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC938 */ if (_t15) goto L_027EC93C; else goto L_027EC9A4;
|
|
L_027EC93C: ; // 0x27ec93c
|
|
/* 027EC93C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC940 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC944 */ _t16 = cpu->r[12] + 0xFFFFD800u;
|
|
/* 027EC944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC948 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC94C */ cpu->r[8] = cpu->r[8] + 0x00000F44u;
|
|
/* 027EC950 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC958 */ _t17 = cpu->r[7] + 0xFFFFEE2Cu;
|
|
/* 027EC958 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 027EC95C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC95C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC95C */ if (_t19) goto L_027EC968; else goto L_027EC960;
|
|
L_027EC960: ; // 0x27ec960
|
|
/* 027EC960 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC960 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027EC964 */ goto L_027EC9A4;
|
|
L_027EC968: ; // 0x27ec968
|
|
/* 027EC968 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC96C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC970 */ _t21 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027EC970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EC970 */ cpu->r[9] = _t21;
|
|
/* 027EC974 */ cpu->r[11] = cpu->r[11] + 0x00000F38u;
|
|
/* 027EC978 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC97C */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EC984 */ _t22 = cpu->r[5] + 0xFFFFD800u;
|
|
/* 027EC984 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 027EC988 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC988 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC988 */ if (_t24) goto L_027EC98C; else goto L_027EC99C;
|
|
L_027EC98C: ; // 0x27ec98c
|
|
/* 027EC98C */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC990 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC994 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC994 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027EC998 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC998 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_027EC99C: ; // 0x27ec99c
|
|
/* 027EC99C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC99C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027EC9A0 */ _t28 = cpu->r[8] + 0x00000000u;
|
|
/* 027EC9A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_027EC9A4: ; // 0x27ec9a4
|
|
/* 027EC9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC9A8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC9A8 */ if (_t30) goto L_027ECA24; else goto L_027EC9AC;
|
|
L_027EC9AC: ; // 0x27ec9ac
|
|
/* 027EC9AC */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 027EC9AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC9B0 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC9B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC9B4 */ cpu->ctr = cpu->r[10];
|
|
/* 027EC9B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EC9BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9C4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EC9C4 */ if (_t34) goto L_027ECA24; else goto L_027EC9C8;
|
|
L_027EC9C8: ; // 0x27ec9c8
|
|
/* 027EC9C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC9CC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9CC */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EC9CC */ if (_t36) goto L_027EC9F4; else goto L_027EC9D0;
|
|
L_027EC9D0: ; // 0x27ec9d0
|
|
/* 027EC9D0 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC9D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9D8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EC9D8 */ if (_t39) goto L_027ECA24; else goto L_027EC9DC;
|
|
L_027EC9DC: ; // 0x27ec9dc
|
|
/* 027EC9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC9E0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9E0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EC9E0 */ if (_t41) goto L_027EC9F4; else goto L_027EC9E4;
|
|
L_027EC9E4: ; // 0x27ec9e4
|
|
/* 027EC9E4 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC9E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EC9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9EC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9EC */ _t44 = _t43 & 0x00000001u;
|
|
/* 027EC9EC */ if (_t44) goto L_027EC9F0; else goto L_027EC9DC;
|
|
L_027EC9F0: ; // 0x27ec9f0
|
|
/* 027EC9F0 */ goto L_027ECA24;
|
|
L_027EC9F4: ; // 0x27ec9f4
|
|
/* 027EC9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC9F8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9F8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EC9F8 */ if (_t46) goto L_027ECA24; else goto L_027EC9FC;
|
|
L_027EC9FC: ; // 0x27ec9fc
|
|
/* 027EC9FC */ _t47 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC9FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027ECA00 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 027ECA00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027ECA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]);
|
|
/* 027ECA08 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECA08 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027ECA08 */ if (_t50) goto L_027ECA0C; else goto L_027ECA24;
|
|
L_027ECA0C: ; // 0x27eca0c
|
|
/* 027ECA0C */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 027ECA0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027ECA10 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ECA14 */ _t52 = cpu->r[7] + cpu->r[8];
|
|
/* 027ECA14 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 027ECA18 */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 027ECA18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027ECA1C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027ECA20 */ _t54 = cpu->r[29] + 0x00000000u;
|
|
/* 027ECA20 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
L_027ECA24: ; // 0x27eca24
|
|
/* 027ECA24 */ _t55 = cpu->r[31] + 0x00000014u;
|
|
/* 027ECA24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027ECA24 */ cpu->r[31] = _t55;
|
|
/* 027ECA28 */ cpu->r[0] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027ECA2C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027ECA30 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECA34 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 027ECA38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027ECA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECA3C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA3C */ _t57 = _t56 & 0x00000001u;
|
|
/* 027ECA3C */ if (_t57) goto L_027ECA70; else goto L_027ECA40;
|
|
L_027ECA40: ; // 0x27eca40
|
|
/* 027ECA40 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ECA44 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ECA48 */ Gambit_fn_027EC8D4(cpu);
|
|
/* 027ECA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECA50 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA50 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027ECA50 */ if (_t59) goto L_027EC904; else goto L_027ECA54;
|
|
L_027ECA54: ; // 0x27eca54
|
|
/* 027ECA54 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECA54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027ECA58 */ cpu->r[11] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027ECA5C */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 027ECA60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECA64 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027ECA68 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027ECA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027ECA6C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA6C */ _t62 = _t61 & 0x00000001u;
|
|
/* 027ECA6C */ if (_t62) goto L_027ECA70; else goto L_027ECA40;
|
|
L_027ECA70: ; // 0x27eca70
|
|
/* 027ECA70 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECA70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027ECA74 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027ECA78 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECA78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027ECA7C */ cpu->lr = cpu->r[0];
|
|
/* 027ECA80 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECA80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027ECA84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECA88 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ECA8C */ return;
|
|
}
|
|
|
|
// fn_027EC8D8 @ 0x27ec8d8
|
|
void Gambit_fn_027EC8D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_027EC8D8: ; // 0x27ec8d8
|
|
/* 027EC8D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EC8D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EC8D8 */ cpu->r[1] = _t0;
|
|
/* 027EC8DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC8DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027EC8E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC8E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027EC8E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC8E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EC8E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC8E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EC8EC */ cpu->r[29] = cpu->r[3];
|
|
/* 027EC8F0 */ _t5 = cpu->r[29] + 0x00000004u;
|
|
/* 027EC8F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EC8F4 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EC8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 027EC8FC */ cpu->r[31] = cpu->r[4];
|
|
/* 027EC900 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EC900 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EC900 */ if (_t8) goto L_027EC924; else goto L_027EC904;
|
|
L_027EC904: ; // 0x27ec904
|
|
/* 027EC904 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EC904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027EC908 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EC908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EC90C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027EC90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027EC910 */ cpu->lr = cpu->r[0];
|
|
/* 027EC914 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027EC914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027EC918 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EC91C */ cpu->r[3] = 0x00000000u;
|
|
/* 027EC920 */ return;
|
|
L_027EC924: ; // 0x27ec924
|
|
/* 027EC924 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC928 */ _t13 = cpu->r[9] + 0xFFFFEE2Cu;
|
|
/* 027EC928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027EC92C */ cpu->r[30] = 0x101D0000u;
|
|
/* 027EC930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027EC934 */ cpu->r[30] = cpu->r[30] + 0x00000F48u;
|
|
/* 027EC938 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC938 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027EC938 */ if (_t15) goto L_027EC93C; else goto L_027EC9A4;
|
|
L_027EC93C: ; // 0x27ec93c
|
|
/* 027EC93C */ cpu->r[12] = 0x101D0000u;
|
|
/* 027EC940 */ cpu->r[8] = 0x101D0000u;
|
|
/* 027EC944 */ _t16 = cpu->r[12] + 0xFFFFD800u;
|
|
/* 027EC944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EC948 */ cpu->r[7] = 0x101D0000u;
|
|
/* 027EC94C */ cpu->r[8] = cpu->r[8] + 0x00000F44u;
|
|
/* 027EC950 */ cpu->r[5] = 0x00000001u;
|
|
/* 027EC954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027EC958 */ _t17 = cpu->r[7] + 0xFFFFEE2Cu;
|
|
/* 027EC958 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 027EC95C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC95C */ _t19 = _t18 & 0x00000001u;
|
|
/* 027EC95C */ if (_t19) goto L_027EC968; else goto L_027EC960;
|
|
L_027EC960: ; // 0x27ec960
|
|
/* 027EC960 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC960 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 027EC964 */ goto L_027EC9A4;
|
|
L_027EC968: ; // 0x27ec968
|
|
/* 027EC968 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027EC96C */ cpu->r[11] = 0x101D0000u;
|
|
/* 027EC970 */ _t21 = cpu->r[9] + 0xFFFFD7ECu;
|
|
/* 027EC970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027EC970 */ cpu->r[9] = _t21;
|
|
/* 027EC974 */ cpu->r[11] = cpu->r[11] + 0x00000F38u;
|
|
/* 027EC978 */ cpu->r[6] = 0x00000001u;
|
|
/* 027EC97C */ cpu->r[5] = 0x101D0000u;
|
|
/* 027EC980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027EC984 */ _t22 = cpu->r[5] + 0xFFFFD800u;
|
|
/* 027EC984 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 027EC988 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC988 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027EC988 */ if (_t24) goto L_027EC98C; else goto L_027EC99C;
|
|
L_027EC98C: ; // 0x27ec98c
|
|
/* 027EC98C */ cpu->r[10] = 0x00000001u;
|
|
/* 027EC990 */ cpu->r[0] = 0x00000000u;
|
|
/* 027EC994 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 027EC994 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027EC998 */ _t26 = cpu->r[11] + 0x00000000u;
|
|
/* 027EC998 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_027EC99C: ; // 0x27ec99c
|
|
/* 027EC99C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 027EC99C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 027EC9A0 */ _t28 = cpu->r[8] + 0x00000000u;
|
|
/* 027EC9A0 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_027EC9A4: ; // 0x27ec9a4
|
|
/* 027EC9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC9A8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027EC9A8 */ if (_t30) goto L_027ECA24; else goto L_027EC9AC;
|
|
L_027EC9AC: ; // 0x27ec9ac
|
|
/* 027EC9AC */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 027EC9AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EC9B0 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 027EC9B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EC9B4 */ cpu->ctr = cpu->r[10];
|
|
/* 027EC9B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027EC9BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EC9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9C4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027EC9C4 */ if (_t34) goto L_027ECA24; else goto L_027EC9C8;
|
|
L_027EC9C8: ; // 0x27ec9c8
|
|
/* 027EC9C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC9CC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9CC */ _t36 = _t35 & 0x00000001u;
|
|
/* 027EC9CC */ if (_t36) goto L_027EC9F4; else goto L_027EC9D0;
|
|
L_027EC9D0: ; // 0x27ec9d0
|
|
/* 027EC9D0 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC9D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EC9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9D8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 027EC9D8 */ if (_t39) goto L_027ECA24; else goto L_027EC9DC;
|
|
L_027EC9DC: ; // 0x27ec9dc
|
|
/* 027EC9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[30]);
|
|
/* 027EC9E0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9E0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027EC9E0 */ if (_t41) goto L_027EC9F4; else goto L_027EC9E4;
|
|
L_027EC9E4: ; // 0x27ec9e4
|
|
/* 027EC9E4 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 027EC9E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EC9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EC9EC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9EC */ _t44 = _t43 & 0x00000001u;
|
|
/* 027EC9EC */ if (_t44) goto L_027EC9F0; else goto L_027EC9DC;
|
|
L_027EC9F0: ; // 0x27ec9f0
|
|
/* 027EC9F0 */ goto L_027ECA24;
|
|
L_027EC9F4: ; // 0x27ec9f4
|
|
/* 027EC9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027EC9F8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EC9F8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EC9F8 */ if (_t46) goto L_027ECA24; else goto L_027EC9FC;
|
|
L_027EC9FC: ; // 0x27ec9fc
|
|
/* 027EC9FC */ _t47 = cpu->r[29] + 0x00000000u;
|
|
/* 027EC9FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027ECA00 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 027ECA00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 027ECA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]);
|
|
/* 027ECA08 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECA08 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027ECA08 */ if (_t50) goto L_027ECA0C; else goto L_027ECA24;
|
|
L_027ECA0C: ; // 0x27eca0c
|
|
/* 027ECA0C */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 027ECA0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027ECA10 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ECA14 */ _t52 = cpu->r[7] + cpu->r[8];
|
|
/* 027ECA14 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 027ECA18 */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 027ECA18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027ECA1C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027ECA20 */ _t54 = cpu->r[29] + 0x00000000u;
|
|
/* 027ECA20 */ rbrew_write32(cpu->mem, _t54, cpu->r[9]);
|
|
L_027ECA24: ; // 0x27eca24
|
|
/* 027ECA24 */ _t55 = cpu->r[31] + 0x00000014u;
|
|
/* 027ECA24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 027ECA24 */ cpu->r[31] = _t55;
|
|
/* 027ECA28 */ cpu->r[0] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027ECA2C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 027ECA30 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECA34 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 027ECA38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027ECA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECA3C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA3C */ _t57 = _t56 & 0x00000001u;
|
|
/* 027ECA3C */ if (_t57) goto L_027ECA70; else goto L_027ECA40;
|
|
L_027ECA40: ; // 0x27eca40
|
|
/* 027ECA40 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ECA44 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ECA48 */ Gambit_fn_027EC8D4(cpu);
|
|
/* 027ECA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECA50 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA50 */ _t59 = _t58 & 0x00000001u;
|
|
/* 027ECA50 */ if (_t59) goto L_027EC904; else goto L_027ECA54;
|
|
L_027ECA54: ; // 0x27eca54
|
|
/* 027ECA54 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECA54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027ECA58 */ cpu->r[11] = cpu->r[30] ^ cpu->r[31];
|
|
/* 027ECA5C */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 027ECA60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECA64 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 027ECA68 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027ECA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027ECA6C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECA6C */ _t62 = _t61 & 0x00000001u;
|
|
/* 027ECA6C */ if (_t62) goto L_027ECA70; else goto L_027ECA40;
|
|
L_027ECA70: ; // 0x27eca70
|
|
/* 027ECA70 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECA70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027ECA74 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027ECA78 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECA78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027ECA7C */ cpu->lr = cpu->r[0];
|
|
/* 027ECA80 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECA80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027ECA84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECA88 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ECA8C */ return;
|
|
}
|
|
|
|
// fn_027ECA90 @ 0x27eca90
|
|
void Gambit_fn_027ECA90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_026E16CC: ; // 0x26e16cc
|
|
/* 026E16CC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 026E16CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 026E16CC */ cpu->r[1] = _t0;
|
|
/* 026E16D0 */ cpu->r[0] = cpu->lr;
|
|
/* 026E16D4 */ /* nop */
|
|
/* 026E16D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 026E16D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 026E16DC */ cpu->r[31] = cpu->r[4];
|
|
/* 026E16E0 */ cpu->r[27] = cpu->r[5];
|
|
/* 026E16E4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 026E16E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 026E16E8 */ cpu->r[29] = cpu->r[6];
|
|
/* 026E16EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E16EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 026E16EC */ if (_t3) goto L_026E16F0; else goto L_026E1700;
|
|
L_026E16F0: ; // 0x26e16f0
|
|
/* 026E16F0 */ cpu->r[3] = 0x00000058u;
|
|
/* 026E16F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 026E16F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 026E16F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 026E16FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E16FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 026E16FC */ if (_t5) goto L_026E18C4; else goto L_026E1700;
|
|
L_026E1700: ; // 0x26e1700
|
|
/* 026E1700 */ cpu->r[26] = 0x00000000u;
|
|
/* 026E1704 */ cpu->r[25] = cpu->r[30] + 0x00000008u;
|
|
/* 026E1704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 026E1708 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 026E1708 */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 026E170C */ cpu->r[24] = 0x10110000u;
|
|
/* 026E1710 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 026E1710 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 026E1714 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E1714 */ _t9 = _t8 & 0x00000001u;
|
|
/* 026E1714 */ if (_t9) goto L_026E1718; else goto L_026E1778;
|
|
L_026E1718: ; // 0x26e1718
|
|
/* 026E1718 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 026E171C */ Gambit_fn_02801A78(cpu);
|
|
/* 026E1720 */ cpu->r[25] = cpu->r[3];
|
|
/* 026E1720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 026E1724 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E1724 */ _t11 = _t10 & 0x00000001u;
|
|
/* 026E1724 */ if (_t11) goto L_026E1728; else goto L_026E1778;
|
|
L_026E1728: ; // 0x26e1728
|
|
/* 026E1728 */ _t12 = cpu->r[24] + 0x00007399u;
|
|
/* 026E1728 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 026E172C */ cpu->r[4] = cpu->r[27];
|
|
/* 026E1730 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 026E1730 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 026E1734 */ cpu->r[5] = cpu->r[29];
|
|
/* 026E1738 */ _t14 = cpu->r[30] + 0x00000054u;
|
|
/* 026E1738 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[26]);
|
|
/* 026E173C */ Gambit_fn_027EBB94(cpu);
|
|
/* 026E1740 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 026E1740 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 026E1744 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 026E1744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 026E1748 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 026E1748 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 026E174C */ cpu->ctr = cpu->r[7];
|
|
/* 026E1750 */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 026E1750 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 026E1754 */ cpu->r[3] = cpu->r[27];
|
|
/* 026E1758 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026E175C */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 026E175C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 026E1760 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 026E1760 */ cpu->r[8] = rbrew_read8(cpu->mem, _t20);
|
|
/* 026E1764 */ cpu->r[0] = 0x00080000u;
|
|
/* 026E1768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 026E176C */ cpu->r[29] = 0x00000000u;
|
|
/* 026E1770 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E1770 */ _t22 = _t21 & 0x00000001u;
|
|
/* 026E1770 */ if (_t22) goto L_026E1774; else goto L_026E1864;
|
|
L_026E1774: ; // 0x26e1774
|
|
/* 026E1774 */ goto L_026E1888;
|
|
L_026E1778: ; // 0x26e1778
|
|
/* 026E1778 */ cpu->r[28] = cpu->r[25];
|
|
/* 026E1778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 026E177C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E177C */ _t24 = _t23 & 0x00000001u;
|
|
/* 026E177C */ if (_t24) goto L_026E1780; else goto L_026E17A4;
|
|
L_026E1780: ; // 0x26e1780
|
|
/* 026E1780 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 026E1784 */ Gambit_fn_02801A78(cpu);
|
|
/* 026E1788 */ cpu->r[28] = cpu->r[3];
|
|
/* 026E1788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 026E178C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E178C */ _t26 = _t25 & 0x00000001u;
|
|
/* 026E178C */ if (_t26) goto L_026E1790; else goto L_026E17A4;
|
|
L_026E1790: ; // 0x26e1790
|
|
/* 026E1790 */ cpu->r[0] = 0x100F0000u;
|
|
/* 026E1794 */ _t27 = cpu->r[24] + 0x00007399u;
|
|
/* 026E1794 */ cpu->r[31] = rbrew_read8(cpu->mem, _t27);
|
|
/* 026E1798 */ cpu->r[0] = cpu->r[0] + 0xFFFFD0A4u;
|
|
/* 026E179C */ _t28 = cpu->r[25] + 0x00000004u;
|
|
/* 026E179C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 026E17A0 */ goto L_026E181C;
|
|
L_026E17A4: ; // 0x26e17a4
|
|
/* 026E17A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 026E17A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 026E17A8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E17A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 026E17A8 */ if (_t30) goto L_026E17AC; else goto L_026E17D8;
|
|
L_026E17AC: ; // 0x26e17ac
|
|
/* 026E17AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 026E17B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 026E17B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 026E17B8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E17B8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 026E17B8 */ if (_t32) goto L_026E17BC; else goto L_026E17D8;
|
|
L_026E17BC: ; // 0x26e17bc
|
|
/* 026E17BC */ cpu->r[0] = 0x100F0000u;
|
|
/* 026E17C0 */ _t33 = cpu->r[24] + 0x00007399u;
|
|
/* 026E17C0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t33);
|
|
/* 026E17C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFD08Cu;
|
|
/* 026E17C8 */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 026E17C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 026E17CC */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 026E17CC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 026E17D0 */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 026E17D0 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[31]);
|
|
/* 026E17D4 */ goto L_026E1810;
|
|
L_026E17D8: ; // 0x26e17d8
|
|
/* 026E17D8 */ cpu->r[7] = 0x100F0000u;
|
|
/* 026E17DC */ cpu->r[8] = 0x00000040u;
|
|
/* 026E17E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFD074u;
|
|
/* 026E17E4 */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 026E17E4 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 026E17E8 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 026E17EC */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 026E17EC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 026E17F0 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 026E17F0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 026E17F4 */ _t40 = cpu->r[24] + 0x00007399u;
|
|
/* 026E17F4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t40);
|
|
/* 026E17F8 */ cpu->r[0] = 0x100F0000u;
|
|
/* 026E17FC */ _t41 = cpu->r[28] + 0x00000000u;
|
|
/* 026E17FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 026E1800 */ cpu->r[0] = cpu->r[0] + 0xFFFFD08Cu;
|
|
/* 026E1804 */ _t42 = cpu->r[28] + 0x0000004Bu;
|
|
/* 026E1804 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
/* 026E1808 */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 026E1808 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 026E180C */ _t44 = cpu->r[10] + 0x00000000u;
|
|
/* 026E180C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[31]);
|
|
L_026E1810: ; // 0x26e1810
|
|
/* 026E1810 */ cpu->r[0] = 0x100F0000u;
|
|
/* 026E1814 */ cpu->r[0] = cpu->r[0] + 0xFFFFD0A4u;
|
|
/* 026E1818 */ _t45 = cpu->r[25] + 0x00000004u;
|
|
/* 026E1818 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_026E181C: ; // 0x26e181c
|
|
/* 026E181C */ _t46 = cpu->r[30] + 0x00000000u;
|
|
/* 026E181C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 026E1820 */ cpu->r[4] = cpu->r[27];
|
|
/* 026E1824 */ cpu->r[5] = cpu->r[29];
|
|
/* 026E1828 */ _t47 = cpu->r[30] + 0x00000054u;
|
|
/* 026E1828 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[26]);
|
|
/* 026E182C */ Gambit_fn_027EBB94(cpu);
|
|
/* 026E1830 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 026E1830 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 026E1834 */ _t49 = cpu->r[27] + 0x00000004u;
|
|
/* 026E1834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 026E1838 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 026E1838 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 026E183C */ cpu->ctr = cpu->r[7];
|
|
/* 026E1840 */ _t51 = cpu->r[30] + 0x00000008u;
|
|
/* 026E1840 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 026E1844 */ cpu->r[3] = cpu->r[27];
|
|
/* 026E1848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026E184C */ _t52 = cpu->r[27] + 0x00000000u;
|
|
/* 026E184C */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 026E1850 */ _t53 = cpu->r[11] + 0x00000000u;
|
|
/* 026E1850 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 026E1854 */ cpu->r[0] = 0x00080000u;
|
|
/* 026E1858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 026E185C */ cpu->r[29] = 0x00000000u;
|
|
/* 026E1860 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E1860 */ _t55 = _t54 & 0x00000001u;
|
|
/* 026E1860 */ if (_t55) goto L_026E1774; else goto L_026E1864;
|
|
L_026E1864: ; // 0x26e1864
|
|
/* 026E1864 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 026E1868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 026E186C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 026E1870 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 026E1870 */ _t57 = _t56 & 0x00000001u;
|
|
/* 026E1870 */ if (_t57) goto L_026E1884; else goto L_026E1874;
|
|
L_026E1874: ; // 0x26e1874
|
|
/* 026E1874 */ _t58 = cpu->r[11] + 0x00000000u;
|
|
/* 026E1874 */ cpu->r[9] = rbrew_read8(cpu->mem, _t58);
|
|
/* 026E1878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 026E187C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 026E187C */ _t60 = _t59 & 0x00000001u;
|
|
/* 026E187C */ if (_t60) goto L_026E1880; else goto L_026E1864;
|
|
L_026E1880: ; // 0x26e1880
|
|
/* 026E1880 */ goto L_026E1888;
|
|
L_026E1884: ; // 0x26e1884
|
|
/* 026E1884 */ cpu->r[29] = 0x00000000u;
|
|
L_026E1888: ; // 0x26e1888
|
|
/* 026E1888 */ _t61 = cpu->r[30] + 0x00000010u;
|
|
/* 026E1888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t61);
|
|
/* 026E188C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 026E1890 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 026E1890 */ _t63 = _t62 & 0x00000001u;
|
|
/* 026E1890 */ if (_t63) goto L_026E1898; else goto L_026E1894;
|
|
L_026E1894: ; // 0x26e1894
|
|
/* 026E1894 */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_026E1898: ; // 0x26e1898
|
|
/* 026E1898 */ _t64 = cpu->r[27] + 0x00000004u;
|
|
/* 026E1898 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 026E189C */ _t65 = cpu->r[10] + 0x00000014u;
|
|
/* 026E189C */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 026E18A0 */ cpu->ctr = cpu->r[12];
|
|
/* 026E18A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 026E18A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 026E18AC */ _t66 = cpu->r[27] + 0x00000000u;
|
|
/* 026E18AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 026E18B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 026E18B4 */ cpu->r[5] = cpu->r[29];
|
|
/* 026E18B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 026E18BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 026E18C0 */ _t67 = cpu->r[28] + cpu->r[29];
|
|
/* 026E18C0 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[31]);
|
|
L_026E18C4: ; // 0x26e18c4
|
|
/* 026E18C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 026E18C8 */ /* nop */
|
|
/* 026E18CC */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 026E18CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 026E18D0 */ cpu->lr = cpu->r[0];
|
|
/* 026E18D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 026E18D8 */ return;
|
|
L_027ECA90: ; // 0x27eca90
|
|
/* 027ECA90 */ cpu->r[6] = cpu->r[4];
|
|
/* 027ECA94 */ _t69 = cpu->r[3] + 0x000000E0u;
|
|
/* 027ECA94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027ECA98 */ cpu->r[5] = cpu->r[3] + 0x00000024u;
|
|
/* 027ECA9C */ cpu->r[3] = 0x00000000u;
|
|
/* 027ECAA0 */ goto L_026E16CC;
|
|
}
|
|
|
|
// fn_027ECAA4 @ 0x27ecaa4
|
|
void Gambit_fn_027ECAA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027ECAA4: ; // 0x27ecaa4
|
|
/* 027ECAA4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECAA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECAA8 */ cpu->r[1] = _t0;
|
|
/* 027ECAAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECAB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECAB4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027ECAB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECAB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECABC */ _t3 = cpu->r[31] + 0x000000E0u;
|
|
/* 027ECABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECAC0 */ cpu->r[4] = cpu->r[31] + 0x00000024u;
|
|
/* 027ECAC4 */ Gambit_fn_027EBF08(cpu);
|
|
/* 027ECAC8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027ECACC */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECAD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ECAD4 */ Gambit_fn_026DBD6C(cpu);
|
|
/* 027ECAD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECADC */ cpu->lr = cpu->r[0];
|
|
/* 027ECAE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECAE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECAE8 */ return;
|
|
}
|
|
|
|
// fn_027ECAA8 @ 0x27ecaa8
|
|
void Gambit_fn_027ECAA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027ECAA8: ; // 0x27ecaa8
|
|
/* 027ECAA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECAA8 */ cpu->r[1] = _t0;
|
|
/* 027ECAAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECAB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECAB4 */ cpu->r[5] = cpu->r[4];
|
|
/* 027ECAB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECAB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECABC */ _t3 = cpu->r[31] + 0x000000E0u;
|
|
/* 027ECABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECAC0 */ cpu->r[4] = cpu->r[31] + 0x00000024u;
|
|
/* 027ECAC4 */ Gambit_fn_027EBF08(cpu);
|
|
/* 027ECAC8 */ cpu->r[5] = cpu->r[3];
|
|
/* 027ECACC */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECAD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ECAD4 */ Gambit_fn_026DBD6C(cpu);
|
|
/* 027ECAD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECADC */ cpu->lr = cpu->r[0];
|
|
/* 027ECAE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECAE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECAE8 */ return;
|
|
}
|
|
|
|
// fn_027ECAF0 @ 0x27ecaf0
|
|
void Gambit_fn_027ECAF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027ECAF0: ; // 0x27ecaf0
|
|
/* 027ECAF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECAF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECAF0 */ cpu->r[1] = _t0;
|
|
/* 027ECAF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECAF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECAFC */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB04 */ Gambit_fn_026D8A40(cpu);
|
|
/* 027ECB08 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB0C */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECB10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECB14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECB18 */ cpu->lr = cpu->r[0];
|
|
/* 027ECB1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECB20 */ return;
|
|
}
|
|
|
|
// fn_027ECB24 @ 0x27ecb24
|
|
void Gambit_fn_027ECB24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027ECAEC: ; // 0x27ecaec
|
|
/* 027ECAEC */ cpu->r[0] = cpu->lr;
|
|
/* 027ECAF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECAF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECAF0 */ cpu->r[1] = _t0;
|
|
/* 027ECAF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECAF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECAF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECAFC */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB04 */ Gambit_fn_026D8A40(cpu);
|
|
/* 027ECB08 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB0C */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECB10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECB14 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECB18 */ cpu->lr = cpu->r[0];
|
|
/* 027ECB1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECB20 */ return;
|
|
L_027ECB24: ; // 0x27ecb24
|
|
/* 027ECB24 */ cpu->r[12] = cpu->r[4];
|
|
/* 027ECB28 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027ECB28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECB2C */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 027ECB2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECB30 */ goto L_027ECAEC;
|
|
}
|
|
|
|
// fn_027ECB34 @ 0x27ecb34
|
|
void Gambit_fn_027ECB34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027ECB34: ; // 0x27ecb34
|
|
/* 027ECB34 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECB38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECB38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECB38 */ cpu->r[1] = _t0;
|
|
/* 027ECB3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECB40 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECB44 */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB4C */ Gambit_fn_026D8A70(cpu);
|
|
/* 027ECB50 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB54 */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECB58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECB5C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECB60 */ cpu->lr = cpu->r[0];
|
|
/* 027ECB64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECB68 */ return;
|
|
}
|
|
|
|
// fn_027ECB38 @ 0x27ecb38
|
|
void Gambit_fn_027ECB38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027ECB38: ; // 0x27ecb38
|
|
/* 027ECB38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECB38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECB38 */ cpu->r[1] = _t0;
|
|
/* 027ECB3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECB40 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECB44 */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB4C */ Gambit_fn_026D8A70(cpu);
|
|
/* 027ECB50 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB54 */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECB58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECB5C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECB60 */ cpu->lr = cpu->r[0];
|
|
/* 027ECB64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECB68 */ return;
|
|
}
|
|
|
|
// fn_027ECB6C @ 0x27ecb6c
|
|
void Gambit_fn_027ECB6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027ECB34: ; // 0x27ecb34
|
|
/* 027ECB34 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECB38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECB38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECB38 */ cpu->r[1] = _t0;
|
|
/* 027ECB3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECB40 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECB44 */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB4C */ Gambit_fn_026D8A70(cpu);
|
|
/* 027ECB50 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB54 */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECB58 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECB5C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECB60 */ cpu->lr = cpu->r[0];
|
|
/* 027ECB64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECB68 */ return;
|
|
L_027ECB6C: ; // 0x27ecb6c
|
|
/* 027ECB6C */ cpu->r[12] = cpu->r[4];
|
|
/* 027ECB70 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 027ECB70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECB74 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 027ECB74 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECB78 */ goto L_027ECB34;
|
|
}
|
|
|
|
// fn_027ECB7C @ 0x27ecb7c
|
|
void Gambit_fn_027ECB7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027ECB7C: ; // 0x27ecb7c
|
|
/* 027ECB7C */ cpu->r[0] = cpu->lr;
|
|
/* 027ECB80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECB80 */ cpu->r[1] = _t0;
|
|
/* 027ECB84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECB88 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECB8C */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB94 */ Gambit_fn_026D8AB0(cpu);
|
|
/* 027ECB98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB9C */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECBA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECBA4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECBA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECBA8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECBAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECBB0 */ return;
|
|
}
|
|
|
|
// fn_027ECB80 @ 0x27ecb80
|
|
void Gambit_fn_027ECB80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027ECB80: ; // 0x27ecb80
|
|
/* 027ECB80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027ECB80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECB80 */ cpu->r[1] = _t0;
|
|
/* 027ECB84 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECB84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECB88 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ECB8C */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 027ECB90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECB90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027ECB94 */ Gambit_fn_026D8AB0(cpu);
|
|
/* 027ECB98 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECB9C */ Gambit_fn_027EBCD4(cpu);
|
|
/* 027ECBA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECBA4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECBA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECBA8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECBAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027ECBB0 */ return;
|
|
}
|
|
|
|
// fn_027ECBB4 @ 0x27ecbb4
|
|
void Gambit_fn_027ECBB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027EBCD4: ; // 0x27ebcd4
|
|
/* 027EBCD4 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027EBCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027EBCD8 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027EBCD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EBCDC */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EBCDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EBCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027EBCE4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EBCE4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027EBCE4 */ _t5 = _t4 ^ 0x00000001u;
|
|
/* 027EBCE4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027EBCE4 */ goto L_027EBCE8;
|
|
L_027EBCE8: ; // 0x27ebce8
|
|
/* 027EBCE8 */ _t6 = cpu->r[3] + 0x00000020u;
|
|
/* 027EBCE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027EBCEC */ _t7 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027EBCEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027EBCF0 */ cpu->r[0] = 0x00000001u;
|
|
/* 027EBCF4 */ _t8 = cpu->r[12] + 0x00004061u;
|
|
/* 027EBCF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 027EBCF8 */ return;
|
|
L_027ECBB4: ; // 0x27ecbb4
|
|
/* 027ECBB4 */ cpu->r[9] = 0x00000000u;
|
|
/* 027ECBB8 */ cpu->r[8] = cpu->r[3] + 0x00000120u;
|
|
/* 027ECBBC */ cpu->r[7] = cpu->r[9];
|
|
/* 027ECBC0 */ _t9 = cpu->r[3] + 0x0000011Cu;
|
|
/* 027ECBC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
L_027ECBC4: ; // 0x27ecbc4
|
|
/* 027ECBC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ECBC8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027ECBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u);
|
|
/* 027ECBD0 */ _t10 = cpu->r[8] + cpu->r[12];
|
|
/* 027ECBD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 027ECBD4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECBD4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027ECBD4 */ if (_t12) goto L_027ECBD8; else goto L_027ECBF4;
|
|
L_027ECBD8: ; // 0x27ecbd8
|
|
/* 027ECBD8 */ cpu->r[0] = 0x00000000u;
|
|
L_027ECBDC: ; // 0x27ecbdc
|
|
/* 027ECBDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000020u);
|
|
/* 027ECBE0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECBE0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027ECBE0 */ if (_t14) goto L_027ECBC4; else goto L_027ECBE4;
|
|
L_027ECBE4: ; // 0x27ecbe4
|
|
/* 027ECBE4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 027ECBE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000020u);
|
|
/* 027ECBEC */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 027ECBEC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027ECBF0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECBF0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027ECBF0 */ if (_t17) goto L_027ECBDC; else goto L_027ECBF4;
|
|
L_027ECBF4: ; // 0x27ecbf4
|
|
/* 027ECBF4 */ goto L_027EBCD4;
|
|
}
|
|
|
|
// fn_027ECBF8 @ 0x27ecbf8
|
|
void Gambit_fn_027ECBF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027ECBF8: ; // 0x27ecbf8
|
|
/* 027ECBF8 */ _t0 = cpu->r[4] + 0x00000030u;
|
|
/* 027ECBF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECBFC */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECBFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECC00 */ goto L_027EE354;
|
|
L_027EE354: ; // 0x27ee354
|
|
/* 027EE354 */ cpu->r[0] = cpu->lr;
|
|
/* 027EE358 */ _t2 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 027EE358 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 027EE358 */ cpu->r[1] = _t2;
|
|
/* 027EE35C */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 027EE35C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027EE360 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EE364 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027EE368 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027EE368 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027EE36C */ Gambit_fn_027EE274(cpu);
|
|
/* 027EE370 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 027EE370 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EE374 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 027EE374 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027EE378 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EE378 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 027EE37C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EE37C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EE380 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027EE380 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 027EE384 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027EE384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027EE388 */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 027EE388 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EE38C */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 027EE38C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 027EE390 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 027EE390 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 027EE394 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027EE394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027EE398 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 027EE398 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 027EE39C */ _t16 = cpu->r[31] + 0x00000008u;
|
|
/* 027EE39C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 027EE3A0 */ _t17 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027EE3A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EE3A4 */ cpu->lr = cpu->r[0];
|
|
/* 027EE3A8 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 027EE3A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EE3AC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027EE3B0 */ return;
|
|
}
|
|
|
|
// fn_027ECC04 @ 0x27ecc04
|
|
void Gambit_fn_027ECC04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027ECC04: ; // 0x27ecc04
|
|
/* 027ECC04 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECC08 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECC0C */ goto L_027EEBC0;
|
|
L_027EEBC0: ; // 0x27eebc0
|
|
/* 027EEBC0 */ _t2 = cpu->r[3] + 0x00000044u;
|
|
/* 027EEBC0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EEBC4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027EEBC4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027EEBC8 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 027EEBC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 027EEBCC */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 027EEBCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027EEBD0 */ _t6 = cpu->r[3] + 0x00000024u;
|
|
/* 027EEBD0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 027EEBD4 */ cpu->r[0] = cpu->r[12] | 0x00000010u;
|
|
/* 027EEBD8 */ _t7 = cpu->r[3] + 0x00000020u;
|
|
/* 027EEBD8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 027EEBDC */ _t8 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027EEBDC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 027EEBE0 */ _t9 = cpu->r[3] + 0x00000044u;
|
|
/* 027EEBE0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 027EEBE4 */ return;
|
|
}
|
|
|
|
// fn_027ECC10 @ 0x27ecc10
|
|
void Gambit_fn_027ECC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ECC10: ; // 0x27ecc10
|
|
/* 027ECC10 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECC14 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ECC14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECC14 */ cpu->r[1] = _t0;
|
|
/* 027ECC18 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECC1C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ECC20 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECC24 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECC28 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECC2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC30 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ECC34 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECC38 */ Gambit_fn_027EE8B8(cpu);
|
|
/* 027ECC3C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECC3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ECC40 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027ECC40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ECC44 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECC48 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC48 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027ECC4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECC50 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027ECC54 */ Gambit_fn_027EEBC0(cpu);
|
|
/* 027ECC58 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ECC5C */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ECC60 */ cpu->lr = cpu->r[0];
|
|
/* 027ECC64 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ECC68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ECC6C */ return;
|
|
}
|
|
|
|
// fn_027ECC14 @ 0x27ecc14
|
|
void Gambit_fn_027ECC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ECC14: ; // 0x27ecc14
|
|
/* 027ECC14 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ECC14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECC14 */ cpu->r[1] = _t0;
|
|
/* 027ECC18 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECC1C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ECC20 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECC24 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECC28 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECC2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC30 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ECC34 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECC38 */ Gambit_fn_027EE8B8(cpu);
|
|
/* 027ECC3C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECC3C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ECC40 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027ECC40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ECC44 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECC48 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC48 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027ECC4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECC50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECC50 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027ECC54 */ Gambit_fn_027EEBC0(cpu);
|
|
/* 027ECC58 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ECC5C */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ECC60 */ cpu->lr = cpu->r[0];
|
|
/* 027ECC64 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ECC68 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ECC6C */ return;
|
|
}
|
|
|
|
// fn_027ECC70 @ 0x27ecc70
|
|
void Gambit_fn_027ECC70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027ECC70: ; // 0x27ecc70
|
|
/* 027ECC70 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECC74 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 027ECC74 */ cpu->r[4] = rbrew_read8(cpu->mem, _t1);
|
|
/* 027ECC78 */ _t2 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ECC7C */ goto L_027EED4C;
|
|
L_027EED4C: ; // 0x27eed4c
|
|
/* 027EED4C */ _t3 = cpu->r[3] + 0x00000044u;
|
|
/* 027EED4C */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027EED50 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 027EED54 */ cpu->r[10] = cpu->r[11] & 0x000000FDu;
|
|
/* 027EED54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027EED58 */ _t4 = cpu->r[3] + 0x00000045u;
|
|
/* 027EED58 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 027EED5C */ cpu->r[0] = cpu->r[10] | cpu->r[12];
|
|
/* 027EED60 */ _t5 = cpu->r[3] + 0x00000044u;
|
|
/* 027EED60 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 027EED64 */ return;
|
|
}
|
|
|
|
// fn_027ECC80 @ 0x27ecc80
|
|
void Gambit_fn_027ECC80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ECC80: ; // 0x27ecc80
|
|
/* 027ECC80 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECC84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ECC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECC84 */ cpu->r[1] = _t0;
|
|
/* 027ECC88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECC8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ECC90 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECC94 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECC98 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECC9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCA0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ECCA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECCA8 */ Gambit_fn_027EE8F4(cpu);
|
|
/* 027ECCAC */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECCAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ECCB0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027ECCB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ECCB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECCB8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCB8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027ECCBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCC0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECCC0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027ECCC4 */ Gambit_fn_027EED68(cpu);
|
|
/* 027ECCC8 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ECCCC */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECCCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ECCD0 */ cpu->lr = cpu->r[0];
|
|
/* 027ECCD4 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECCD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ECCD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ECCDC */ return;
|
|
}
|
|
|
|
// fn_027ECC84 @ 0x27ecc84
|
|
void Gambit_fn_027ECC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ECC84: ; // 0x27ecc84
|
|
/* 027ECC84 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ECC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECC84 */ cpu->r[1] = _t0;
|
|
/* 027ECC88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECC8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ECC90 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECC94 */ _t4 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECC94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECC98 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECC98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECC9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCA0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ECCA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECCA8 */ Gambit_fn_027EE8F4(cpu);
|
|
/* 027ECCAC */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 027ECCAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ECCB0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 027ECCB0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ECCB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ECCB8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCB8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 027ECCBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECCC0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECCC0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 027ECCC4 */ Gambit_fn_027EED68(cpu);
|
|
/* 027ECCC8 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 027ECCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ECCCC */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ECCCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ECCD0 */ cpu->lr = cpu->r[0];
|
|
/* 027ECCD4 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECCD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ECCD8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ECCDC */ return;
|
|
}
|
|
|
|
// fn_027ECCE0 @ 0x27ecce0
|
|
void Gambit_fn_027ECCE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027ECCE0: ; // 0x27ecce0
|
|
/* 027ECCE0 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECCE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECCE4 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECCE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECCE8 */ goto L_027EEDB0;
|
|
L_027EEDB0: ; // 0x27eedb0
|
|
/* 027EEDB0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EEDB4 */ cpu->r[10] = cpu->r[3];
|
|
/* 027EEDB8 */ cpu->r[4] = cpu->r[10];
|
|
/* 027EEDBC */ _t2 = cpu->r[1] + 0x00000004u;
|
|
/* 027EEDBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027EEDC0 */ cpu->f[12] = cpu->f[1];
|
|
/* 027EEDC4 */ _t3 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027EEDC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 027EEDC4 */ cpu->r[1] = _t3;
|
|
/* 027EEDC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027EEDCC */ Gambit_fn_027EE590(cpu);
|
|
/* 027EEDD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EEDD4 */ cpu->r[3] = cpu->r[10];
|
|
/* 027EEDD8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027EEDD8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 027EEDDC */ Gambit_fn_027EED88(cpu);
|
|
/* 027EEDE0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EEDE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027EEDE4 */ cpu->lr = cpu->r[0];
|
|
/* 027EEDE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027EEDEC */ return;
|
|
}
|
|
|
|
// fn_027ECCEC @ 0x27eccec
|
|
void Gambit_fn_027ECCEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027ECCEC: ; // 0x27eccec
|
|
/* 027ECCEC */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027ECCEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECCF0 */ _t1 = cpu->r[12] + 0x0000001Cu;
|
|
/* 027ECCF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECCF4 */ goto L_027EEDF0;
|
|
L_027EEDF0: ; // 0x27eedf0
|
|
/* 027EEDF0 */ _t2 = cpu->r[3] + 0x00000044u;
|
|
/* 027EEDF0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027EEDF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 027EEDF8 */ cpu->r[0] = cpu->r[12] | cpu->r[4];
|
|
/* 027EEDFC */ _t3 = cpu->r[3] + 0x00000044u;
|
|
/* 027EEDFC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027EEE00 */ return;
|
|
}
|
|
|
|
// fn_027ECCF8 @ 0x27eccf8
|
|
void Gambit_fn_027ECCF8(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_027ECCF8: ; // 0x27eccf8
|
|
/* 027ECCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECCFC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECCFC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECCFC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECCFC */ goto L_027ECD00;
|
|
L_027ECD00: ; // 0x27ecd00
|
|
/* 027ECD00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD04 */ goto L_027ECD08;
|
|
L_027ECD08: ; // 0x27ecd08
|
|
/* 027ECD08 */ 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_027ECD0C @ 0x27ecd0c
|
|
void Gambit_fn_027ECD0C(CPUState* cpu) {
|
|
L_027ECD0C: ; // 0x27ecd0c
|
|
/* 027ECD0C */ return;
|
|
}
|
|
|
|
// fn_027ECD10 @ 0x27ecd10
|
|
void Gambit_fn_027ECD10(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_027ECD10: ; // 0x27ecd10
|
|
/* 027ECD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECD14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECD14 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD14 */ goto L_027ECD18;
|
|
L_027ECD18: ; // 0x27ecd18
|
|
/* 027ECD18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD1C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD1C */ goto L_027ECD20;
|
|
L_027ECD20: ; // 0x27ecd20
|
|
/* 027ECD20 */ 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_027ECD24 @ 0x27ecd24
|
|
void Gambit_fn_027ECD24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027ECD24: ; // 0x27ecd24
|
|
/* 027ECD24 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027ECD24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECD28 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027ECD28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECD2C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027ECD30 */ cpu->r[11] = 0x10110000u;
|
|
/* 027ECD34 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027ECD34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027ECD38 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027ECD38 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027ECD3C */ return;
|
|
}
|
|
|
|
// fn_027ECD40 @ 0x27ecd40
|
|
void Gambit_fn_027ECD40(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_027ECD40: ; // 0x27ecd40
|
|
/* 027ECD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECD44 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD44 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECD44 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD44 */ goto L_027ECD48;
|
|
L_027ECD48: ; // 0x27ecd48
|
|
/* 027ECD48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD4C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD4C */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD4C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD4C */ goto L_027ECD50;
|
|
L_027ECD50: ; // 0x27ecd50
|
|
/* 027ECD50 */ 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_027ECD54 @ 0x27ecd54
|
|
void Gambit_fn_027ECD54(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_027ECD54: ; // 0x27ecd54
|
|
/* 027ECD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECD58 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD58 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECD58 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD58 */ goto L_027ECD5C;
|
|
L_027ECD5C: ; // 0x27ecd5c
|
|
/* 027ECD5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD60 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD60 */ goto L_027ECD64;
|
|
L_027ECD64: ; // 0x27ecd64
|
|
/* 027ECD64 */ 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_027ECD68 @ 0x27ecd68
|
|
void Gambit_fn_027ECD68(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_027ECD68: ; // 0x27ecd68
|
|
/* 027ECD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECD6C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD6C */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECD6C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD6C */ goto L_027ECD70;
|
|
L_027ECD70: ; // 0x27ecd70
|
|
/* 027ECD70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD74 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD74 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD74 */ goto L_027ECD78;
|
|
L_027ECD78: ; // 0x27ecd78
|
|
/* 027ECD78 */ 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_027ECD7C @ 0x27ecd7c
|
|
void Gambit_fn_027ECD7C(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_027ECD7C: ; // 0x27ecd7c
|
|
/* 027ECD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECD80 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD80 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027ECD80 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD80 */ goto L_027ECD84;
|
|
L_027ECD84: ; // 0x27ecd84
|
|
/* 027ECD84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027ECD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECD88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECD88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027ECD88 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027ECD88 */ goto L_027ECD8C;
|
|
L_027ECD8C: ; // 0x27ecd8c
|
|
/* 027ECD8C */ 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_027ECD90 @ 0x27ecd90
|
|
void Gambit_fn_027ECD90(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027ECD90: ; // 0x27ecd90
|
|
/* 027ECD90 */ _t0 = cpu->r[3] + 0x00000108u;
|
|
/* 027ECD90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECD94 */ return;
|
|
}
|
|
|
|
// fn_027ECD98 @ 0x27ecd98
|
|
void Gambit_fn_027ECD98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027ECD98: ; // 0x27ecd98
|
|
/* 027ECD98 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECD9C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ECD9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ECDA0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECDA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ECDA0 */ cpu->r[1] = _t1;
|
|
/* 027ECDA4 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECDA8 */ _t2 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027ECDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ECDAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ECDB0 */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 027ECDB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027ECDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECDB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECDB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027ECDB8 */ if (_t5) goto L_027ECDC0; else goto L_027ECDBC;
|
|
L_027ECDBC: ; // 0x27ecdbc
|
|
/* 027ECDBC */ Gambit_fn_026D9E1C(cpu);
|
|
L_027ECDC0: ; // 0x27ecdc0
|
|
/* 027ECDC0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECDC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECDC4 */ cpu->lr = cpu->r[0];
|
|
/* 027ECDC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECDCC */ return;
|
|
}
|
|
|
|
// fn_027ECDA0 @ 0x27ecda0
|
|
void Gambit_fn_027ECDA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027ECDA0: ; // 0x27ecda0
|
|
/* 027ECDA0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECDA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECDA0 */ cpu->r[1] = _t0;
|
|
/* 027ECDA4 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECDA8 */ _t1 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027ECDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECDAC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ECDB0 */ _t2 = cpu->r[12] + cpu->r[0];
|
|
/* 027ECDB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ECDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ECDB8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECDB8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027ECDB8 */ if (_t4) goto L_027ECDC0; else goto L_027ECDBC;
|
|
L_027ECDBC: ; // 0x27ecdbc
|
|
/* 027ECDBC */ Gambit_fn_026D9E1C(cpu);
|
|
L_027ECDC0: ; // 0x27ecdc0
|
|
/* 027ECDC0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECDC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ECDC4 */ cpu->lr = cpu->r[0];
|
|
/* 027ECDC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECDCC */ return;
|
|
}
|
|
|
|
// fn_027ECDD0 @ 0x27ecdd0
|
|
void Gambit_fn_027ECDD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ECDD0: ; // 0x27ecdd0
|
|
/* 027ECDD0 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECDD4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ECDD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ECDD8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECDD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ECDD8 */ cpu->r[1] = _t1;
|
|
/* 027ECDDC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECDE0 */ Gambit_fn_026D9120(cpu);
|
|
/* 027ECDE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ECDE8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECDEC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECDF0 */ return;
|
|
}
|
|
|
|
// fn_027ECDD8 @ 0x27ecdd8
|
|
void Gambit_fn_027ECDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ECDD8: ; // 0x27ecdd8
|
|
/* 027ECDD8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECDD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECDD8 */ cpu->r[1] = _t0;
|
|
/* 027ECDDC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECDE0 */ Gambit_fn_026D9120(cpu);
|
|
/* 027ECDE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECDE8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECDEC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECDF0 */ return;
|
|
}
|
|
|
|
// fn_027ECDF4 @ 0x27ecdf4
|
|
void Gambit_fn_027ECDF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027ECDF4: ; // 0x27ecdf4
|
|
/* 027ECDF4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECDF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECDF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECDF8 */ cpu->r[1] = _t0;
|
|
/* 027ECDFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECDFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECE00 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ECE04 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ECE08 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECE0C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECE10 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ECE14 */ _t4 = cpu->r[5] + 0x000000A4u;
|
|
/* 027ECE14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECE18 */ cpu->r[4] = cpu->r[6];
|
|
/* 027ECE1C */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECE20 */ cpu->r[0] = 0x10110000u;
|
|
/* 027ECE24 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECE28 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE28 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027ECE2C */ cpu->r[0] = cpu->r[0] + 0x000000D0u;
|
|
/* 027ECE30 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ECE34 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE38 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECE38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ECE3C */ Gambit_fn_026D9244(cpu);
|
|
/* 027ECE40 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ECE44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECE44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ECE48 */ cpu->lr = cpu->r[0];
|
|
/* 027ECE4C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ECE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECE54 */ return;
|
|
}
|
|
|
|
// fn_027ECDF8 @ 0x27ecdf8
|
|
void Gambit_fn_027ECDF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027ECDF8: ; // 0x27ecdf8
|
|
/* 027ECDF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECDF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECDF8 */ cpu->r[1] = _t0;
|
|
/* 027ECDFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECDFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECE00 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ECE04 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ECE08 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECE0C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ECE10 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ECE14 */ _t4 = cpu->r[5] + 0x000000A4u;
|
|
/* 027ECE14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECE18 */ cpu->r[4] = cpu->r[6];
|
|
/* 027ECE1C */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECE20 */ cpu->r[0] = 0x10110000u;
|
|
/* 027ECE24 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECE28 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE28 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027ECE2C */ cpu->r[0] = cpu->r[0] + 0x000000D0u;
|
|
/* 027ECE30 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ECE34 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE38 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECE38 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ECE3C */ Gambit_fn_026D9244(cpu);
|
|
/* 027ECE40 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ECE44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECE44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ECE48 */ cpu->lr = cpu->r[0];
|
|
/* 027ECE4C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ECE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECE54 */ return;
|
|
}
|
|
|
|
// fn_027ECE58 @ 0x27ece58
|
|
void Gambit_fn_027ECE58(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027ECE58: ; // 0x27ece58
|
|
/* 027ECE58 */ _t0 = cpu->r[3] + 0x000000ECu;
|
|
/* 027ECE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027ECE5C */ return;
|
|
}
|
|
|
|
// fn_027ECE60 @ 0x27ece60
|
|
void Gambit_fn_027ECE60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ECE60: ; // 0x27ece60
|
|
/* 027ECE60 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECE64 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ECE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ECE68 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECE68 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ECE68 */ cpu->r[1] = _t1;
|
|
/* 027ECE6C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ECE70 */ Gambit_fn_026D9120(cpu);
|
|
/* 027ECE74 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ECE78 */ cpu->lr = cpu->r[0];
|
|
/* 027ECE7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE80 */ return;
|
|
}
|
|
|
|
// fn_027ECE68 @ 0x27ece68
|
|
void Gambit_fn_027ECE68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ECE68: ; // 0x27ece68
|
|
/* 027ECE68 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ECE68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECE68 */ cpu->r[1] = _t0;
|
|
/* 027ECE6C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ECE70 */ Gambit_fn_026D9120(cpu);
|
|
/* 027ECE74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ECE78 */ cpu->lr = cpu->r[0];
|
|
/* 027ECE7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECE80 */ return;
|
|
}
|
|
|
|
// fn_027ECE84 @ 0x27ece84
|
|
void Gambit_fn_027ECE84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027ECE84: ; // 0x27ece84
|
|
/* 027ECE84 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECE88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECE88 */ cpu->r[1] = _t0;
|
|
/* 027ECE8C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECE90 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ECE94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ECE98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECE9C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ECEA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ECEA4 */ _t4 = cpu->r[5] + 0x000000A4u;
|
|
/* 027ECEA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECEA8 */ cpu->r[4] = cpu->r[6];
|
|
/* 027ECEAC */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECEB0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027ECEB4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECEB8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027ECEBC */ cpu->r[0] = cpu->r[0] + 0x000000D0u;
|
|
/* 027ECEC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ECEC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECEC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ECECC */ Gambit_fn_026D9244(cpu);
|
|
/* 027ECED0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ECED4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ECED8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECEDC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ECEE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECEE4 */ return;
|
|
}
|
|
|
|
// fn_027ECE88 @ 0x27ece88
|
|
void Gambit_fn_027ECE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027ECE88: ; // 0x27ece88
|
|
/* 027ECE88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECE88 */ cpu->r[1] = _t0;
|
|
/* 027ECE8C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ECE90 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ECE94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECE94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ECE98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECE98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ECE9C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ECEA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ECEA4 */ _t4 = cpu->r[5] + 0x000000A4u;
|
|
/* 027ECEA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027ECEA8 */ cpu->r[4] = cpu->r[6];
|
|
/* 027ECEAC */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECEB0 */ cpu->r[0] = 0x10110000u;
|
|
/* 027ECEB4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECEB8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 027ECEBC */ cpu->r[0] = cpu->r[0] + 0x000000D0u;
|
|
/* 027ECEC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ECEC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECEC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ECECC */ Gambit_fn_026D9244(cpu);
|
|
/* 027ECED0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ECED4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ECED8 */ cpu->lr = cpu->r[0];
|
|
/* 027ECEDC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ECEE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECEE4 */ return;
|
|
}
|
|
|
|
// fn_027ECEE8 @ 0x27ecee8
|
|
void Gambit_fn_027ECEE8(CPUState* cpu) {
|
|
uint32_t _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_027ECEE8: ; // 0x27ecee8
|
|
/* 027ECEE8 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECEEC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECEEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECEEC */ cpu->r[1] = _t0;
|
|
/* 027ECEF0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECEF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECEF4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027ECEF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECEF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ECEFC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEFC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027ECF00 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF00 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027ECF04 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ECF08 */ cpu->r[29] = cpu->r[4];
|
|
/* 027ECF0C */ cpu->r[28] = cpu->r[3];
|
|
/* 027ECF10 */ _t6 = cpu->r[30] + 0x000000A4u;
|
|
/* 027ECF10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECF14 */ _t7 = cpu->r[3] + 0x0000000Au;
|
|
/* 027ECF14 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 027ECF18 */ cpu->r[31] = cpu->r[6];
|
|
/* 027ECF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027ECF20 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECF20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ECF20 */ if (_t9) goto L_027ECF24; else goto L_027ECF48;
|
|
L_027ECF24: ; // 0x27ecf24
|
|
/* 027ECF24 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECF28 */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECF2C */ cpu->r[9] = 0x10110000u;
|
|
/* 027ECF30 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027ECF30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027ECF34 */ _t11 = cpu->r[9] + 0x00007399u;
|
|
/* 027ECF34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027ECF38 */ cpu->r[7] = cpu->r[12] ^ cpu->r[0];
|
|
/* 027ECF3C */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 027ECF40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECF44 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECF44 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027ECF44 */ if (_t13) goto L_027ECF6C; else goto L_027ECF48;
|
|
L_027ECF48: ; // 0x27ecf48
|
|
/* 027ECF48 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECF48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ECF4C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECF4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ECF50 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ECF54 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ECF58 */ cpu->lr = cpu->r[0];
|
|
/* 027ECF5C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ECF60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECF64 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ECF68 */ return;
|
|
L_027ECF6C: ; // 0x27ecf6c
|
|
/* 027ECF6C */ cpu->r[6] = cpu->r[31];
|
|
/* 027ECF70 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ECF74 */ cpu->r[4] = cpu->r[29];
|
|
/* 027ECF78 */ cpu->r[3] = cpu->r[28];
|
|
/* 027ECF7C */ Gambit_fn_027ECDF4(cpu);
|
|
/* 027ECF80 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECF80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ECF84 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECF84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ECF88 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ECF8C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ECF90 */ cpu->lr = cpu->r[0];
|
|
/* 027ECF94 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ECF98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECF9C */ cpu->r[3] = 0x00000001u;
|
|
/* 027ECFA0 */ return;
|
|
}
|
|
|
|
// fn_027ECEEC @ 0x27eceec
|
|
void Gambit_fn_027ECEEC(CPUState* cpu) {
|
|
uint32_t _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_027ECEEC: ; // 0x27eceec
|
|
/* 027ECEEC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECEEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECEEC */ cpu->r[1] = _t0;
|
|
/* 027ECEF0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECEF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECEF4 */ cpu->r[30] = cpu->r[5];
|
|
/* 027ECEF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECEF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ECEFC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECEFC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027ECF00 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF00 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027ECF04 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ECF08 */ cpu->r[29] = cpu->r[4];
|
|
/* 027ECF0C */ cpu->r[28] = cpu->r[3];
|
|
/* 027ECF10 */ _t6 = cpu->r[30] + 0x000000A4u;
|
|
/* 027ECF10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECF14 */ _t7 = cpu->r[3] + 0x0000000Au;
|
|
/* 027ECF14 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 027ECF18 */ cpu->r[31] = cpu->r[6];
|
|
/* 027ECF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027ECF20 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECF20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ECF20 */ if (_t9) goto L_027ECF24; else goto L_027ECF48;
|
|
L_027ECF24: ; // 0x27ecf24
|
|
/* 027ECF24 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECF28 */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECF2C */ cpu->r[9] = 0x10110000u;
|
|
/* 027ECF30 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027ECF30 */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027ECF34 */ _t11 = cpu->r[9] + 0x00007399u;
|
|
/* 027ECF34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027ECF38 */ cpu->r[7] = cpu->r[12] ^ cpu->r[0];
|
|
/* 027ECF3C */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 027ECF40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ECF44 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ECF44 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027ECF44 */ if (_t13) goto L_027ECF6C; else goto L_027ECF48;
|
|
L_027ECF48: ; // 0x27ecf48
|
|
/* 027ECF48 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECF48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ECF4C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECF4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ECF50 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ECF54 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ECF58 */ cpu->lr = cpu->r[0];
|
|
/* 027ECF5C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ECF60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECF64 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ECF68 */ return;
|
|
L_027ECF6C: ; // 0x27ecf6c
|
|
/* 027ECF6C */ cpu->r[6] = cpu->r[31];
|
|
/* 027ECF70 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ECF74 */ cpu->r[4] = cpu->r[29];
|
|
/* 027ECF78 */ cpu->r[3] = cpu->r[28];
|
|
/* 027ECF7C */ Gambit_fn_027ECDF4(cpu);
|
|
/* 027ECF80 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECF80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ECF84 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECF84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ECF88 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ECF8C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECF8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ECF90 */ cpu->lr = cpu->r[0];
|
|
/* 027ECF94 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECF94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ECF98 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ECF9C */ cpu->r[3] = 0x00000001u;
|
|
/* 027ECFA0 */ return;
|
|
}
|
|
|
|
// fn_027ECFA4 @ 0x27ecfa4
|
|
void Gambit_fn_027ECFA4(CPUState* cpu) {
|
|
uint32_t _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_027ECFA4: ; // 0x27ecfa4
|
|
/* 027ECFA4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ECFA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECFA8 */ cpu->r[1] = _t0;
|
|
/* 027ECFAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECFB0 */ cpu->r[30] = cpu->r[5];
|
|
/* 027ECFB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ECFB8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027ECFBC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECFBC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027ECFC0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECFC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ECFC4 */ cpu->r[29] = cpu->r[4];
|
|
/* 027ECFC8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027ECFCC */ _t6 = cpu->r[30] + 0x000000A4u;
|
|
/* 027ECFCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECFD0 */ _t7 = cpu->r[3] + 0x0000000Au;
|
|
/* 027ECFD0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 027ECFD4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027ECFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027ECFDC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECFDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ECFDC */ if (_t9) goto L_027ECFE0; else goto L_027ED004;
|
|
L_027ECFE0: ; // 0x27ecfe0
|
|
/* 027ECFE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECFE4 */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECFE8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027ECFEC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027ECFEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027ECFF0 */ _t11 = cpu->r[9] + 0x00007399u;
|
|
/* 027ECFF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027ECFF4 */ cpu->r[7] = cpu->r[12] ^ cpu->r[0];
|
|
/* 027ECFF8 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 027ECFFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ED000 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED000 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027ED000 */ if (_t13) goto L_027ED028; else goto L_027ED004;
|
|
L_027ED004: ; // 0x27ed004
|
|
/* 027ED004 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED004 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED008 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED008 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED00C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED010 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED014 */ cpu->lr = cpu->r[0];
|
|
/* 027ED018 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED01C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED020 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED024 */ return;
|
|
L_027ED028: ; // 0x27ed028
|
|
/* 027ED028 */ cpu->r[6] = cpu->r[31];
|
|
/* 027ED02C */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED030 */ cpu->r[4] = cpu->r[29];
|
|
/* 027ED034 */ cpu->r[3] = cpu->r[28];
|
|
/* 027ED038 */ Gambit_fn_027ECE84(cpu);
|
|
/* 027ED03C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED03C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED040 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED044 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED048 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ED04C */ cpu->lr = cpu->r[0];
|
|
/* 027ED050 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED054 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED058 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED05C */ return;
|
|
}
|
|
|
|
// fn_027ECFA8 @ 0x27ecfa8
|
|
void Gambit_fn_027ECFA8(CPUState* cpu) {
|
|
uint32_t _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_027ECFA8: ; // 0x27ecfa8
|
|
/* 027ECFA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ECFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ECFA8 */ cpu->r[1] = _t0;
|
|
/* 027ECFAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ECFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ECFB0 */ cpu->r[30] = cpu->r[5];
|
|
/* 027ECFB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ECFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ECFB8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ECFB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 027ECFBC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027ECFBC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027ECFC0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ECFC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ECFC4 */ cpu->r[29] = cpu->r[4];
|
|
/* 027ECFC8 */ cpu->r[28] = cpu->r[3];
|
|
/* 027ECFCC */ _t6 = cpu->r[30] + 0x000000A4u;
|
|
/* 027ECFCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ECFD0 */ _t7 = cpu->r[3] + 0x0000000Au;
|
|
/* 027ECFD0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t7);
|
|
/* 027ECFD4 */ cpu->r[31] = cpu->r[6];
|
|
/* 027ECFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 027ECFDC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ECFDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ECFDC */ if (_t9) goto L_027ECFE0; else goto L_027ED004;
|
|
L_027ECFE0: ; // 0x27ecfe0
|
|
/* 027ECFE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ECFE4 */ Gambit_fn_0285CB74(cpu);
|
|
/* 027ECFE8 */ cpu->r[9] = 0x10110000u;
|
|
/* 027ECFEC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027ECFEC */ cpu->r[12] = rbrew_read8(cpu->mem, _t10);
|
|
/* 027ECFF0 */ _t11 = cpu->r[9] + 0x00007399u;
|
|
/* 027ECFF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 027ECFF4 */ cpu->r[7] = cpu->r[12] ^ cpu->r[0];
|
|
/* 027ECFF8 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 027ECFFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027ECFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027ED000 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED000 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027ED000 */ if (_t13) goto L_027ED028; else goto L_027ED004;
|
|
L_027ED004: ; // 0x27ed004
|
|
/* 027ED004 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED004 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED008 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED008 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED00C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED010 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED010 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED014 */ cpu->lr = cpu->r[0];
|
|
/* 027ED018 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED01C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED020 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED024 */ return;
|
|
L_027ED028: ; // 0x27ed028
|
|
/* 027ED028 */ cpu->r[6] = cpu->r[31];
|
|
/* 027ED02C */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED030 */ cpu->r[4] = cpu->r[29];
|
|
/* 027ED034 */ cpu->r[3] = cpu->r[28];
|
|
/* 027ED038 */ Gambit_fn_027ECE84(cpu);
|
|
/* 027ED03C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED03C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED040 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED040 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED044 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED048 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ED04C */ cpu->lr = cpu->r[0];
|
|
/* 027ED050 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED054 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED058 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED05C */ return;
|
|
}
|
|
|
|
// fn_027ED060 @ 0x27ed060
|
|
void Gambit_fn_027ED060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027ED060: ; // 0x27ed060
|
|
/* 027ED060 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED064 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED064 */ cpu->r[1] = _t0;
|
|
/* 027ED068 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED068 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED06C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED06C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED070 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED070 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED074 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED078 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED078 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED07C */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED080 */ cpu->r[31] = cpu->r[5];
|
|
/* 027ED084 */ _t5 = cpu->r[29] + 0x00000030u;
|
|
/* 027ED084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ED088 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED08C */ Gambit_fn_026DFE54(cpu);
|
|
/* 027ED090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED094 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED094 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED094 */ if (_t7) goto L_027ED098; else goto L_027ED0B8;
|
|
L_027ED098: ; // 0x27ed098
|
|
/* 027ED098 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED09C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED0A0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED0A4 */ cpu->lr = cpu->r[0];
|
|
/* 027ED0A8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED0AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED0B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED0B4 */ return;
|
|
L_027ED0B8: ; // 0x27ed0b8
|
|
/* 027ED0B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED0BC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED0C0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED0C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED0C8 */ Gambit_fn_026D9244(cpu);
|
|
/* 027ED0CC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED0CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED0D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED0D4 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED0D8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED0DC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED0E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED0E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED0E8 */ return;
|
|
}
|
|
|
|
// fn_027ED064 @ 0x27ed064
|
|
void Gambit_fn_027ED064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027ED064: ; // 0x27ed064
|
|
/* 027ED064 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED064 */ cpu->r[1] = _t0;
|
|
/* 027ED068 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED068 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED06C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED06C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED070 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED070 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED074 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED078 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED078 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED07C */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED080 */ cpu->r[31] = cpu->r[5];
|
|
/* 027ED084 */ _t5 = cpu->r[29] + 0x00000030u;
|
|
/* 027ED084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ED088 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED08C */ Gambit_fn_026DFE54(cpu);
|
|
/* 027ED090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED094 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED094 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED094 */ if (_t7) goto L_027ED098; else goto L_027ED0B8;
|
|
L_027ED098: ; // 0x27ed098
|
|
/* 027ED098 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED098 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED09C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED09C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED0A0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED0A4 */ cpu->lr = cpu->r[0];
|
|
/* 027ED0A8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED0AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED0B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED0B4 */ return;
|
|
L_027ED0B8: ; // 0x27ed0b8
|
|
/* 027ED0B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED0BC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED0C0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED0C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED0C8 */ Gambit_fn_026D9244(cpu);
|
|
/* 027ED0CC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED0CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED0D0 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED0D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED0D4 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED0D8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED0DC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED0E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED0E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED0E8 */ return;
|
|
}
|
|
|
|
// fn_027ED0EC @ 0x27ed0ec
|
|
void Gambit_fn_027ED0EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027ED0EC: ; // 0x27ed0ec
|
|
/* 027ED0EC */ cpu->r[0] = cpu->lr;
|
|
/* 027ED0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED0F0 */ cpu->r[1] = _t0;
|
|
/* 027ED0F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED0F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED0FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED100 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED104 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED104 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED108 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED10C */ cpu->r[31] = cpu->r[5];
|
|
/* 027ED110 */ _t5 = cpu->r[29] + 0x000000E8u;
|
|
/* 027ED110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ED114 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED118 */ Gambit_fn_026DFE54(cpu);
|
|
/* 027ED11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED120 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED120 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED120 */ if (_t7) goto L_027ED124; else goto L_027ED144;
|
|
L_027ED124: ; // 0x27ed124
|
|
/* 027ED124 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED124 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED128 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED12C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED12C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED130 */ cpu->lr = cpu->r[0];
|
|
/* 027ED134 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED138 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED13C */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED140 */ return;
|
|
L_027ED144: ; // 0x27ed144
|
|
/* 027ED144 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED148 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ED14C */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED150 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED154 */ Gambit_fn_026D9244(cpu);
|
|
/* 027ED158 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED15C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED160 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED164 */ cpu->lr = cpu->r[0];
|
|
/* 027ED168 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED16C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED170 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED174 */ return;
|
|
}
|
|
|
|
// fn_027ED0F0 @ 0x27ed0f0
|
|
void Gambit_fn_027ED0F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_027ED0F0: ; // 0x27ed0f0
|
|
/* 027ED0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED0F0 */ cpu->r[1] = _t0;
|
|
/* 027ED0F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED0F8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED0F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED0FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED100 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED104 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED104 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED108 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED10C */ cpu->r[31] = cpu->r[5];
|
|
/* 027ED110 */ _t5 = cpu->r[29] + 0x000000E8u;
|
|
/* 027ED110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027ED114 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED118 */ Gambit_fn_026DFE54(cpu);
|
|
/* 027ED11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED120 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED120 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED120 */ if (_t7) goto L_027ED124; else goto L_027ED144;
|
|
L_027ED124: ; // 0x27ed124
|
|
/* 027ED124 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED124 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED128 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED12C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED12C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED130 */ cpu->lr = cpu->r[0];
|
|
/* 027ED134 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED138 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED13C */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED140 */ return;
|
|
L_027ED144: ; // 0x27ed144
|
|
/* 027ED144 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED148 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027ED14C */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED150 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED154 */ Gambit_fn_026D9244(cpu);
|
|
/* 027ED158 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED158 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED15C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED15C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED160 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED160 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED164 */ cpu->lr = cpu->r[0];
|
|
/* 027ED168 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED168 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED16C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED170 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED174 */ return;
|
|
}
|
|
|
|
// fn_027ED178 @ 0x27ed178
|
|
void Gambit_fn_027ED178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ED178: ; // 0x27ed178
|
|
/* 027ED178 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED17C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED17C */ cpu->r[1] = _t0;
|
|
/* 027ED180 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED180 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED184 */ /* nop */
|
|
/* 027ED188 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED188 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED18C */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED190 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED190 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED194 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED194 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED198 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED19C */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED1A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED1A4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED1A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED1A8 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED1AC */ cpu->r[4] = cpu->r[3];
|
|
/* 027ED1B0 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED1B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED1B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED1BC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED1C0 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED1C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ED1C4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED1C8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED1C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027ED1CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED1D0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED1D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027ED1D0 */ if (_t11) goto L_027ED1D4; // else: addr-0 trap, fall-through
|
|
L_027ED1D4: ; // 0x27ed1d4
|
|
/* 027ED1D4 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED1D8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED1DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED1E0 */ return;
|
|
}
|
|
|
|
// fn_027ED17C @ 0x27ed17c
|
|
void Gambit_fn_027ED17C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ED17C: ; // 0x27ed17c
|
|
/* 027ED17C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED17C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED17C */ cpu->r[1] = _t0;
|
|
/* 027ED180 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED180 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED184 */ /* nop */
|
|
/* 027ED188 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED188 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED18C */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED190 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED190 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED194 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED194 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED198 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED19C */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED1A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED1A4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED1A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED1A8 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED1AC */ cpu->r[4] = cpu->r[3];
|
|
/* 027ED1B0 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED1B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED1B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED1BC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED1C0 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED1C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027ED1C4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED1C8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED1C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 027ED1CC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED1CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED1D0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED1D0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027ED1D0 */ if (_t11) goto L_027ED1D4; // else: addr-0 trap, fall-through
|
|
L_027ED1D4: ; // 0x27ed1d4
|
|
/* 027ED1D4 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED1D8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED1DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED1E0 */ return;
|
|
}
|
|
|
|
// fn_027ED1E4 @ 0x27ed1e4
|
|
void Gambit_fn_027ED1E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED1E4: ; // 0x27ed1e4
|
|
/* 027ED1E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED1E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED1EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED1EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED1EC */ cpu->r[1] = _t1;
|
|
/* 027ED1F0 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED1F4 */ Gambit_fn_027ED178(cpu);
|
|
/* 027ED1F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED1FC */ cpu->lr = cpu->r[0];
|
|
/* 027ED200 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED204 */ return;
|
|
}
|
|
|
|
// fn_027ED1EC @ 0x27ed1ec
|
|
void Gambit_fn_027ED1EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED1EC: ; // 0x27ed1ec
|
|
/* 027ED1EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED1EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED1EC */ cpu->r[1] = _t0;
|
|
/* 027ED1F0 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED1F4 */ Gambit_fn_027ED178(cpu);
|
|
/* 027ED1F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED1FC */ cpu->lr = cpu->r[0];
|
|
/* 027ED200 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED204 */ return;
|
|
}
|
|
|
|
// fn_027ED208 @ 0x27ed208
|
|
void Gambit_fn_027ED208(CPUState* cpu) {
|
|
uint32_t _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_027ED208: ; // 0x27ed208
|
|
/* 027ED208 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED20C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED20C */ cpu->r[1] = _t0;
|
|
/* 027ED210 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ED214 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED214 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027ED218 */ /* nop */
|
|
/* 027ED21C */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED220 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED220 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED224 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED224 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED228 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED22C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED230 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED230 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED234 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED238 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED23C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED23C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED240 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED248 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED248 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027ED248 */ if (_t8) goto L_027ED24C; else goto L_027ED274;
|
|
L_027ED24C: ; // 0x27ed24c
|
|
/* 027ED24C */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED24C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027ED250 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED254 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED258 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED258 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027ED25C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED25C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED260 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED260 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027ED260 */ if (_t14) goto L_027ED264; // else: addr-0 trap, fall-through
|
|
L_027ED264: ; // 0x27ed264
|
|
/* 027ED264 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED268 */ cpu->lr = cpu->r[0];
|
|
/* 027ED26C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED270 */ return;
|
|
L_027ED274: ; // 0x27ed274
|
|
/* 027ED274 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED278 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED27C */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED280 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED284 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED288 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED288 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED28C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED28C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED290 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED290 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027ED294 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED294 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED298 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED29C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED29C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED29C */ if (_t22) goto L_027ED2A0; // else: addr-0 trap, fall-through
|
|
L_027ED2A0: ; // 0x27ed2a0
|
|
/* 027ED2A0 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED2A4 */ cpu->lr = cpu->r[0];
|
|
/* 027ED2A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED2AC */ return;
|
|
}
|
|
|
|
// fn_027ED20C @ 0x27ed20c
|
|
void Gambit_fn_027ED20C(CPUState* cpu) {
|
|
uint32_t _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_027ED20C: ; // 0x27ed20c
|
|
/* 027ED20C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED20C */ cpu->r[1] = _t0;
|
|
/* 027ED210 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ED214 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED214 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027ED218 */ /* nop */
|
|
/* 027ED21C */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED220 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED220 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED224 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED224 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED228 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED22C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED230 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED230 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED234 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED238 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED23C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED23C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED240 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED248 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED248 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027ED248 */ if (_t8) goto L_027ED24C; else goto L_027ED274;
|
|
L_027ED24C: ; // 0x27ed24c
|
|
/* 027ED24C */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED24C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027ED250 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED254 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED254 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED258 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED258 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027ED25C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED25C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED260 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED260 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027ED260 */ if (_t14) goto L_027ED264; // else: addr-0 trap, fall-through
|
|
L_027ED264: ; // 0x27ed264
|
|
/* 027ED264 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED268 */ cpu->lr = cpu->r[0];
|
|
/* 027ED26C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED270 */ return;
|
|
L_027ED274: ; // 0x27ed274
|
|
/* 027ED274 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED274 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED278 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED27C */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED280 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED284 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED288 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED288 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED28C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED28C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED290 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED290 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027ED294 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED294 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED298 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED29C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED29C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED29C */ if (_t22) goto L_027ED2A0; // else: addr-0 trap, fall-through
|
|
L_027ED2A0: ; // 0x27ed2a0
|
|
/* 027ED2A0 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED2A4 */ cpu->lr = cpu->r[0];
|
|
/* 027ED2A8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED2AC */ return;
|
|
}
|
|
|
|
// fn_027ED2B0 @ 0x27ed2b0
|
|
void Gambit_fn_027ED2B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED2B0: ; // 0x27ed2b0
|
|
/* 027ED2B0 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED2B4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED2B8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED2B8 */ cpu->r[1] = _t1;
|
|
/* 027ED2BC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED2C0 */ Gambit_fn_027ED208(cpu);
|
|
/* 027ED2C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED2C8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED2CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED2D0 */ return;
|
|
}
|
|
|
|
// fn_027ED2B8 @ 0x27ed2b8
|
|
void Gambit_fn_027ED2B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED2B8: ; // 0x27ed2b8
|
|
/* 027ED2B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED2B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED2B8 */ cpu->r[1] = _t0;
|
|
/* 027ED2BC */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED2C0 */ Gambit_fn_027ED208(cpu);
|
|
/* 027ED2C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED2C8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED2CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED2D0 */ return;
|
|
}
|
|
|
|
// fn_027ED2D4 @ 0x27ed2d4
|
|
void Gambit_fn_027ED2D4(CPUState* cpu) {
|
|
uint32_t _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_027ED2D4: ; // 0x27ed2d4
|
|
/* 027ED2D4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED2D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED2D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED2D8 */ cpu->r[1] = _t0;
|
|
/* 027ED2DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED2DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED2E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED2E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED2E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED2E8 */ /* nop */
|
|
/* 027ED2EC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED2EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED2F0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED2F0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED2F4 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED2F8 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED2FC */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED300 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED300 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED304 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED308 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027ED308 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED30C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED310 */ _t7 = cpu->r[12] + cpu->r[10];
|
|
/* 027ED310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED314 */ cpu->r[4] = cpu->r[3];
|
|
/* 027ED318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED31C */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED320 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED320 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ED320 */ if (_t9) goto L_027ED354; else goto L_027ED324;
|
|
L_027ED324: ; // 0x27ed324
|
|
/* 027ED324 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED328 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED32C */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED330 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027ED334 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED338 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 027ED33C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED33C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED340 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED340 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027ED340 */ if (_t15) goto L_027ED344; // else: addr-0 trap, fall-through
|
|
L_027ED344: ; // 0x27ed344
|
|
/* 027ED344 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED348 */ cpu->lr = cpu->r[0];
|
|
/* 027ED34C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED350 */ return;
|
|
L_027ED354: ; // 0x27ed354
|
|
/* 027ED354 */ cpu->r[3] = cpu->r[4];
|
|
/* 027ED358 */ Gambit_fn_026D9D24(cpu);
|
|
/* 027ED35C */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED35C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED360 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED364 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED364 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027ED368 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED36C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED36C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED36C */ if (_t22) goto L_027ED370; // else: addr-0 trap, fall-through
|
|
L_027ED370: ; // 0x27ed370
|
|
/* 027ED370 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED374 */ cpu->lr = cpu->r[0];
|
|
/* 027ED378 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED37C */ return;
|
|
}
|
|
|
|
// fn_027ED2D8 @ 0x27ed2d8
|
|
void Gambit_fn_027ED2D8(CPUState* cpu) {
|
|
uint32_t _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_027ED2D8: ; // 0x27ed2d8
|
|
/* 027ED2D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED2D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED2D8 */ cpu->r[1] = _t0;
|
|
/* 027ED2DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED2DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED2E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED2E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED2E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED2E8 */ /* nop */
|
|
/* 027ED2EC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED2EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027ED2F0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED2F0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED2F4 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED2F8 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED2FC */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED300 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED300 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027ED304 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED308 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 027ED308 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED30C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED310 */ _t7 = cpu->r[12] + cpu->r[10];
|
|
/* 027ED310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED314 */ cpu->r[4] = cpu->r[3];
|
|
/* 027ED318 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED31C */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED320 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED320 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ED320 */ if (_t9) goto L_027ED354; else goto L_027ED324;
|
|
L_027ED324: ; // 0x27ed324
|
|
/* 027ED324 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED328 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED32C */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED330 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED330 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027ED334 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED338 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED338 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 027ED33C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED33C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED340 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED340 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027ED340 */ if (_t15) goto L_027ED344; // else: addr-0 trap, fall-through
|
|
L_027ED344: ; // 0x27ed344
|
|
/* 027ED344 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED348 */ cpu->lr = cpu->r[0];
|
|
/* 027ED34C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED350 */ return;
|
|
L_027ED354: ; // 0x27ed354
|
|
/* 027ED354 */ cpu->r[3] = cpu->r[4];
|
|
/* 027ED358 */ Gambit_fn_026D9D24(cpu);
|
|
/* 027ED35C */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED35C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED360 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED364 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED364 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 027ED368 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED36C */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED36C */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED36C */ if (_t22) goto L_027ED370; // else: addr-0 trap, fall-through
|
|
L_027ED370: ; // 0x27ed370
|
|
/* 027ED370 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED374 */ cpu->lr = cpu->r[0];
|
|
/* 027ED378 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED37C */ return;
|
|
}
|
|
|
|
// fn_027ED380 @ 0x27ed380
|
|
void Gambit_fn_027ED380(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED380: ; // 0x27ed380
|
|
/* 027ED380 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED384 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED384 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED388 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED388 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED388 */ cpu->r[1] = _t1;
|
|
/* 027ED38C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED390 */ Gambit_fn_027ED2D4(cpu);
|
|
/* 027ED394 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED398 */ cpu->lr = cpu->r[0];
|
|
/* 027ED39C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3A0 */ return;
|
|
}
|
|
|
|
// fn_027ED388 @ 0x27ed388
|
|
void Gambit_fn_027ED388(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED388: ; // 0x27ed388
|
|
/* 027ED388 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED388 */ cpu->r[1] = _t0;
|
|
/* 027ED38C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED390 */ Gambit_fn_027ED2D4(cpu);
|
|
/* 027ED394 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED398 */ cpu->lr = cpu->r[0];
|
|
/* 027ED39C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3A0 */ return;
|
|
}
|
|
|
|
// fn_027ED3A4 @ 0x27ed3a4
|
|
void Gambit_fn_027ED3A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027ED3A4: ; // 0x27ed3a4
|
|
/* 027ED3A4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED3A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED3A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED3A8 */ cpu->r[1] = _t0;
|
|
/* 027ED3AC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED3AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED3B0 */ /* nop */
|
|
/* 027ED3B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED3B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED3B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027ED3BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED3BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED3C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED3C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027ED3C4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED3C8 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED3C8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 027ED3CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3D0 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED3D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED3D4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED3D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED3DC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3DC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027ED3E0 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED3E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED3E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ED3E8 */ if (_t9) goto L_027ED3EC; else goto L_027ED418;
|
|
L_027ED3EC: ; // 0x27ed3ec
|
|
/* 027ED3EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED3EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED3F0 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED3F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED3F4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED3F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED3F8 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED3F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 027ED3FC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED3FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED400 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED404 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED404 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027ED404 */ if (_t16) goto L_027ED408; // else: addr-0 trap, fall-through
|
|
L_027ED408: ; // 0x27ed408
|
|
/* 027ED408 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED40C */ cpu->lr = cpu->r[0];
|
|
/* 027ED410 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED414 */ return;
|
|
L_027ED418: ; // 0x27ed418
|
|
/* 027ED418 */ _t18 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027ED418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED41C */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED420 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED424 */ _t20 = cpu->r[11] + cpu->r[12];
|
|
/* 027ED424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED428 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED42C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED430 */ cpu->r[31] = 0x00000001u;
|
|
/* 027ED434 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED434 */ if (_t22) goto L_027ED470; else goto L_027ED438;
|
|
L_027ED438: ; // 0x27ed438
|
|
/* 027ED438 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED43C */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED440 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED444 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED448 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED448 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027ED44C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027ED450 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED450 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 027ED454 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED458 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027ED45C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED45C */ _t29 = _t28 & 0x00000001u;
|
|
/* 027ED45C */ if (_t29) goto L_027ED460; // else: addr-0 trap, fall-through
|
|
L_027ED460: ; // 0x27ed460
|
|
/* 027ED460 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027ED464 */ cpu->lr = cpu->r[0];
|
|
/* 027ED468 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED46C */ return;
|
|
L_027ED470: ; // 0x27ed470
|
|
/* 027ED470 */ cpu->r[3] = cpu->r[4];
|
|
/* 027ED474 */ Gambit_fn_026D9D24(cpu);
|
|
/* 027ED478 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027ED47C */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED47C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027ED480 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027ED484 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED484 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 027ED488 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED48C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027ED490 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED490 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027ED490 */ if (_t37) goto L_027ED494; // else: addr-0 trap, fall-through
|
|
L_027ED494: ; // 0x27ed494
|
|
/* 027ED494 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027ED498 */ cpu->lr = cpu->r[0];
|
|
/* 027ED49C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED4A0 */ return;
|
|
}
|
|
|
|
// fn_027ED3A8 @ 0x27ed3a8
|
|
void Gambit_fn_027ED3A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_027ED3A8: ; // 0x27ed3a8
|
|
/* 027ED3A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED3A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED3A8 */ cpu->r[1] = _t0;
|
|
/* 027ED3AC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED3AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED3B0 */ /* nop */
|
|
/* 027ED3B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED3B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED3B8 */ cpu->r[10] = 0x00000000u;
|
|
/* 027ED3BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED3BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED3C0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED3C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 027ED3C4 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED3C8 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED3C8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 027ED3CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3D0 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED3D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED3D4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED3D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED3DC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED3DC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027ED3E0 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED3E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED3E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027ED3E8 */ if (_t9) goto L_027ED3EC; else goto L_027ED418;
|
|
L_027ED3EC: ; // 0x27ed3ec
|
|
/* 027ED3EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED3EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED3F0 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED3F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED3F4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED3F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED3F8 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED3F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 027ED3FC */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED3FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED400 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED404 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED404 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027ED404 */ if (_t16) goto L_027ED408; // else: addr-0 trap, fall-through
|
|
L_027ED408: ; // 0x27ed408
|
|
/* 027ED408 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED40C */ cpu->lr = cpu->r[0];
|
|
/* 027ED410 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED414 */ return;
|
|
L_027ED418: ; // 0x27ed418
|
|
/* 027ED418 */ _t18 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027ED418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED41C */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED420 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED424 */ _t20 = cpu->r[11] + cpu->r[12];
|
|
/* 027ED424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED428 */ cpu->f[1] = cpu->f[31];
|
|
/* 027ED42C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED430 */ cpu->r[31] = 0x00000001u;
|
|
/* 027ED434 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027ED434 */ if (_t22) goto L_027ED470; else goto L_027ED438;
|
|
L_027ED438: ; // 0x27ed438
|
|
/* 027ED438 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED43C */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED440 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED444 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED444 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027ED448 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED448 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027ED44C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED44C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027ED450 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED450 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 027ED454 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED458 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED458 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027ED45C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED45C */ _t29 = _t28 & 0x00000001u;
|
|
/* 027ED45C */ if (_t29) goto L_027ED460; // else: addr-0 trap, fall-through
|
|
L_027ED460: ; // 0x27ed460
|
|
/* 027ED460 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027ED464 */ cpu->lr = cpu->r[0];
|
|
/* 027ED468 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED46C */ return;
|
|
L_027ED470: ; // 0x27ed470
|
|
/* 027ED470 */ cpu->r[3] = cpu->r[4];
|
|
/* 027ED474 */ Gambit_fn_026D9D24(cpu);
|
|
/* 027ED478 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027ED47C */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED47C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 027ED480 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED480 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027ED484 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED484 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 027ED488 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED48C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED48C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027ED490 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED490 */ _t37 = _t36 & 0x00000001u;
|
|
/* 027ED490 */ if (_t37) goto L_027ED494; // else: addr-0 trap, fall-through
|
|
L_027ED494: ; // 0x27ed494
|
|
/* 027ED494 */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027ED498 */ cpu->lr = cpu->r[0];
|
|
/* 027ED49C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED4A0 */ return;
|
|
}
|
|
|
|
// fn_027ED4A4 @ 0x27ed4a4
|
|
void Gambit_fn_027ED4A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED4A4: ; // 0x27ed4a4
|
|
/* 027ED4A4 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED4A8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED4A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED4AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED4AC */ cpu->r[1] = _t1;
|
|
/* 027ED4B0 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED4B4 */ Gambit_fn_027ED3A4(cpu);
|
|
/* 027ED4B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED4BC */ cpu->lr = cpu->r[0];
|
|
/* 027ED4C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4C4 */ return;
|
|
}
|
|
|
|
// fn_027ED4AC @ 0x27ed4ac
|
|
void Gambit_fn_027ED4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED4AC: ; // 0x27ed4ac
|
|
/* 027ED4AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED4AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED4AC */ cpu->r[1] = _t0;
|
|
/* 027ED4B0 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED4B4 */ Gambit_fn_027ED3A4(cpu);
|
|
/* 027ED4B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED4BC */ cpu->lr = cpu->r[0];
|
|
/* 027ED4C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4C4 */ return;
|
|
}
|
|
|
|
// fn_027ED4C8 @ 0x27ed4c8
|
|
void Gambit_fn_027ED4C8(CPUState* cpu) {
|
|
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_027ED4C8: ; // 0x27ed4c8
|
|
/* 027ED4C8 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED4CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED4CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED4CC */ cpu->r[1] = _t0;
|
|
/* 027ED4D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED4D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED4D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED4D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED4D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED4D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED4DC */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED4E0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027ED4E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED4E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED4E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED4EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4F0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 027ED4F4 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED4FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED4FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED4FC */ if (_t7) goto L_027ED500; else goto L_027ED520;
|
|
L_027ED500: ; // 0x27ed500
|
|
/* 027ED500 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED500 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED504 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED508 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED50C */ cpu->lr = cpu->r[0];
|
|
/* 027ED510 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED514 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED518 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED51C */ return;
|
|
L_027ED520: ; // 0x27ed520
|
|
/* 027ED520 */ _t12 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027ED520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED524 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED528 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED52C */ _t14 = cpu->r[10] + cpu->r[11];
|
|
/* 027ED52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED534 */ cpu->r[31] = 0x00000001u;
|
|
/* 027ED538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED538 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027ED538 */ if (_t16) goto L_027ED550; else goto L_027ED53C;
|
|
L_027ED53C: ; // 0x27ed53c
|
|
/* 027ED53C */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED540 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED544 */ _t17 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED544 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED548 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED54C */ Gambit_fn_026D97DC(cpu);
|
|
L_027ED550: ; // 0x27ed550
|
|
/* 027ED550 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED550 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED554 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED558 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED55C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED55C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED560 */ cpu->lr = cpu->r[0];
|
|
/* 027ED564 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED564 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED568 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED56C */ return;
|
|
}
|
|
|
|
// fn_027ED4CC @ 0x27ed4cc
|
|
void Gambit_fn_027ED4CC(CPUState* cpu) {
|
|
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_027ED4CC: ; // 0x27ed4cc
|
|
/* 027ED4CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED4CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED4CC */ cpu->r[1] = _t0;
|
|
/* 027ED4D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED4D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED4D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED4D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED4D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED4D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED4DC */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED4E0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027ED4E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED4E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED4E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED4EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4F0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED4F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 027ED4F4 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED4FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED4FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027ED4FC */ if (_t7) goto L_027ED500; else goto L_027ED520;
|
|
L_027ED500: ; // 0x27ed500
|
|
/* 027ED500 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED500 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED504 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED508 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED50C */ cpu->lr = cpu->r[0];
|
|
/* 027ED510 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED514 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED518 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED51C */ return;
|
|
L_027ED520: ; // 0x27ed520
|
|
/* 027ED520 */ _t12 = cpu->r[29] + 0x0000001Cu;
|
|
/* 027ED520 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED524 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027ED528 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED52C */ _t14 = cpu->r[10] + cpu->r[11];
|
|
/* 027ED52C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027ED534 */ cpu->r[31] = 0x00000001u;
|
|
/* 027ED538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED538 */ _t16 = _t15 & 0x00000001u;
|
|
/* 027ED538 */ if (_t16) goto L_027ED550; else goto L_027ED53C;
|
|
L_027ED53C: ; // 0x27ed53c
|
|
/* 027ED53C */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED540 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED544 */ _t17 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED544 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED548 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED54C */ Gambit_fn_026D97DC(cpu);
|
|
L_027ED550: ; // 0x27ed550
|
|
/* 027ED550 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED550 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED554 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED558 */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED55C */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED55C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED560 */ cpu->lr = cpu->r[0];
|
|
/* 027ED564 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED564 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED568 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED56C */ return;
|
|
}
|
|
|
|
// fn_027ED570 @ 0x27ed570
|
|
void Gambit_fn_027ED570(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED570: ; // 0x27ed570
|
|
/* 027ED570 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED574 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED574 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED578 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED578 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED578 */ cpu->r[1] = _t1;
|
|
/* 027ED57C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED580 */ Gambit_fn_027ED4C8(cpu);
|
|
/* 027ED584 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED588 */ cpu->lr = cpu->r[0];
|
|
/* 027ED58C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED590 */ return;
|
|
}
|
|
|
|
// fn_027ED578 @ 0x27ed578
|
|
void Gambit_fn_027ED578(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED578: ; // 0x27ed578
|
|
/* 027ED578 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED578 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED578 */ cpu->r[1] = _t0;
|
|
/* 027ED57C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED580 */ Gambit_fn_027ED4C8(cpu);
|
|
/* 027ED584 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED588 */ cpu->lr = cpu->r[0];
|
|
/* 027ED58C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED590 */ return;
|
|
}
|
|
|
|
// fn_027ED594 @ 0x27ed594
|
|
void Gambit_fn_027ED594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027ED594: ; // 0x27ed594
|
|
/* 027ED594 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED598 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED598 */ cpu->r[1] = _t0;
|
|
/* 027ED59C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED59C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED5A0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED5A4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED5A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED5AC */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED5B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED5B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED5B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED5B8 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED5BC */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED5C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED5C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED5C8 */ _t5 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED5C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027ED5CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED5D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED5D4 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED5D8 */ _t6 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED5D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED5DC */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED5E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED5E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 027ED5E4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027ED5E8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027ED5EC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED5EC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027ED5F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED5F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 027ED5F4 */ _t10 = cpu->r[10] + 0x00000138u;
|
|
/* 027ED5F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027ED5F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027ED5FC */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027ED600 */ _t11 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED604 */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027ED604 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027ED608 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED60C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED610 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED614 */ cpu->lr = cpu->r[0];
|
|
/* 027ED618 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED61C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED620 */ return;
|
|
}
|
|
|
|
// fn_027ED598 @ 0x27ed598
|
|
void Gambit_fn_027ED598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027ED598: ; // 0x27ed598
|
|
/* 027ED598 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED598 */ cpu->r[1] = _t0;
|
|
/* 027ED59C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED59C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027ED5A0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED5A4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED5A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED5AC */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED5B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED5B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED5B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED5B8 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED5BC */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED5C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED5C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED5C8 */ _t5 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED5C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027ED5CC */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED5D0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED5D4 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED5D8 */ _t6 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED5D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED5DC */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED5E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED5E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 027ED5E4 */ cpu->r[0] = 0x43300000u;
|
|
/* 027ED5E8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027ED5EC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED5EC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027ED5F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED5F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 027ED5F4 */ _t10 = cpu->r[10] + 0x00000138u;
|
|
/* 027ED5F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 027ED5F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027ED5FC */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027ED600 */ _t11 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED604 */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027ED604 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 027ED608 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED60C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED610 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED614 */ cpu->lr = cpu->r[0];
|
|
/* 027ED618 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED61C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED620 */ return;
|
|
}
|
|
|
|
// fn_027ED624 @ 0x27ed624
|
|
void Gambit_fn_027ED624(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED624: ; // 0x27ed624
|
|
/* 027ED624 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED628 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED628 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED62C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED62C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED62C */ cpu->r[1] = _t1;
|
|
/* 027ED630 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED634 */ Gambit_fn_027ED594(cpu);
|
|
/* 027ED638 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED63C */ cpu->lr = cpu->r[0];
|
|
/* 027ED640 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED644 */ return;
|
|
}
|
|
|
|
// fn_027ED62C @ 0x27ed62c
|
|
void Gambit_fn_027ED62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED62C: ; // 0x27ed62c
|
|
/* 027ED62C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED62C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED62C */ cpu->r[1] = _t0;
|
|
/* 027ED630 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED634 */ Gambit_fn_027ED594(cpu);
|
|
/* 027ED638 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED63C */ cpu->lr = cpu->r[0];
|
|
/* 027ED640 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED644 */ return;
|
|
}
|
|
|
|
// fn_027ED648 @ 0x27ed648
|
|
void Gambit_fn_027ED648(CPUState* cpu) {
|
|
uint32_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_027ED648: ; // 0x27ed648
|
|
/* 027ED648 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED64C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED64C */ cpu->r[1] = _t0;
|
|
/* 027ED650 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ED654 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED654 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED658 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED65C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED660 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED664 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED668 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED66C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED66C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED670 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED678 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED678 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027ED678 */ if (_t6) goto L_027ED67C; else goto L_027ED698;
|
|
L_027ED67C: ; // 0x27ed67c
|
|
/* 027ED67C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED680 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED680 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED684 */ cpu->lr = cpu->r[0];
|
|
/* 027ED688 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED68C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED690 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED694 */ return;
|
|
L_027ED698: ; // 0x27ed698
|
|
/* 027ED698 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED69C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED69C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED6A0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED6A4 */ _t11 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED6A4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED6AC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED6B0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED6B4 */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED6B8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED6BC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED6BC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 027ED6C0 */ cpu->r[0] = 0x43300000u;
|
|
/* 027ED6C4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED6C8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED6C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027ED6CC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED6CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 027ED6D0 */ _t17 = cpu->r[12] + 0x00000138u;
|
|
/* 027ED6D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 027ED6D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027ED6D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027ED6DC */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED6DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED6E0 */ _t19 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027ED6E0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027ED6E4 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED6E8 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED6EC */ cpu->lr = cpu->r[0];
|
|
/* 027ED6F0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ED6F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED6F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED6FC */ return;
|
|
}
|
|
|
|
// fn_027ED64C @ 0x27ed64c
|
|
void Gambit_fn_027ED64C(CPUState* cpu) {
|
|
uint32_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_027ED64C: ; // 0x27ed64c
|
|
/* 027ED64C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027ED64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED64C */ cpu->r[1] = _t0;
|
|
/* 027ED650 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED650 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ED654 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED654 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027ED658 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED65C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED660 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED664 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED668 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED66C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED66C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED670 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED678 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED678 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027ED678 */ if (_t6) goto L_027ED67C; else goto L_027ED698;
|
|
L_027ED67C: ; // 0x27ed67c
|
|
/* 027ED67C */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED680 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED680 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED684 */ cpu->lr = cpu->r[0];
|
|
/* 027ED688 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED68C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED690 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED694 */ return;
|
|
L_027ED698: ; // 0x27ed698
|
|
/* 027ED698 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED69C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED69C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED6A0 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED6A4 */ _t11 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED6A4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED6A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED6AC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED6B0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED6B4 */ _t13 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED6B8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED6BC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED6BC */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 027ED6C0 */ cpu->r[0] = 0x43300000u;
|
|
/* 027ED6C4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED6C8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED6C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027ED6CC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED6CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 027ED6D0 */ _t17 = cpu->r[12] + 0x00000138u;
|
|
/* 027ED6D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 027ED6D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027ED6D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027ED6DC */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED6DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED6E0 */ _t19 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027ED6E0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027ED6E4 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 027ED6E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED6E8 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED6E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027ED6EC */ cpu->lr = cpu->r[0];
|
|
/* 027ED6F0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027ED6F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 027ED6F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED6FC */ return;
|
|
}
|
|
|
|
// fn_027ED700 @ 0x27ed700
|
|
void Gambit_fn_027ED700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED700: ; // 0x27ed700
|
|
/* 027ED700 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED704 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED704 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED708 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED708 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED708 */ cpu->r[1] = _t1;
|
|
/* 027ED70C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED710 */ Gambit_fn_027ED648(cpu);
|
|
/* 027ED714 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED718 */ cpu->lr = cpu->r[0];
|
|
/* 027ED71C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED720 */ return;
|
|
}
|
|
|
|
// fn_027ED708 @ 0x27ed708
|
|
void Gambit_fn_027ED708(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED708: ; // 0x27ed708
|
|
/* 027ED708 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED708 */ cpu->r[1] = _t0;
|
|
/* 027ED70C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED710 */ Gambit_fn_027ED648(cpu);
|
|
/* 027ED714 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED718 */ cpu->lr = cpu->r[0];
|
|
/* 027ED71C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED720 */ return;
|
|
}
|
|
|
|
// fn_027ED724 @ 0x27ed724
|
|
void Gambit_fn_027ED724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ED724: ; // 0x27ed724
|
|
/* 027ED724 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED728 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED728 */ cpu->r[1] = _t0;
|
|
/* 027ED72C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED72C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ED730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED730 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ED734 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED734 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED738 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED738 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED73C */ cpu->r[29] = cpu->r[4];
|
|
/* 027ED740 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED744 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ED748 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED74C */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED750 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED754 */ _t5 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED754 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027ED758 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED75C */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED760 */ cpu->r[5] = cpu->r[29];
|
|
/* 027ED764 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED768 */ _t6 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED76C */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED76C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED770 */ _t8 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED774 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED778 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED77C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED77C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED780 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED784 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED788 */ cpu->lr = cpu->r[0];
|
|
/* 027ED78C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED790 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED794 */ return;
|
|
}
|
|
|
|
// fn_027ED728 @ 0x27ed728
|
|
void Gambit_fn_027ED728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027ED728: ; // 0x27ed728
|
|
/* 027ED728 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED728 */ cpu->r[1] = _t0;
|
|
/* 027ED72C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED72C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027ED730 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED730 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027ED734 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED734 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027ED738 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED738 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED73C */ cpu->r[29] = cpu->r[4];
|
|
/* 027ED740 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED744 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ED748 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED74C */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED750 */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED754 */ _t5 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED754 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027ED758 */ cpu->r[4] = cpu->r[30];
|
|
/* 027ED75C */ cpu->r[3] = cpu->r[31];
|
|
/* 027ED760 */ cpu->r[5] = cpu->r[29];
|
|
/* 027ED764 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED768 */ _t6 = cpu->r[30] + 0x00000060u;
|
|
/* 027ED768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027ED76C */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED76C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED770 */ _t8 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED774 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED778 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED77C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED77C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED780 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED784 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED788 */ cpu->lr = cpu->r[0];
|
|
/* 027ED78C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED790 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED794 */ return;
|
|
}
|
|
|
|
// fn_027ED798 @ 0x27ed798
|
|
void Gambit_fn_027ED798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED798: ; // 0x27ed798
|
|
/* 027ED798 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED79C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED79C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED7A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED7A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED7A0 */ cpu->r[1] = _t1;
|
|
/* 027ED7A4 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED7A8 */ Gambit_fn_027ED724(cpu);
|
|
/* 027ED7AC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED7B0 */ cpu->lr = cpu->r[0];
|
|
/* 027ED7B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7B8 */ return;
|
|
}
|
|
|
|
// fn_027ED7A0 @ 0x27ed7a0
|
|
void Gambit_fn_027ED7A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED7A0: ; // 0x27ed7a0
|
|
/* 027ED7A0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED7A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED7A0 */ cpu->r[1] = _t0;
|
|
/* 027ED7A4 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED7A8 */ Gambit_fn_027ED724(cpu);
|
|
/* 027ED7AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED7B0 */ cpu->lr = cpu->r[0];
|
|
/* 027ED7B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7B8 */ return;
|
|
}
|
|
|
|
// fn_027ED7BC @ 0x27ed7bc
|
|
void Gambit_fn_027ED7BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027ED7BC: ; // 0x27ed7bc
|
|
/* 027ED7BC */ cpu->r[0] = cpu->lr;
|
|
/* 027ED7C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED7C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED7C0 */ cpu->r[1] = _t0;
|
|
/* 027ED7C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED7C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ED7C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED7CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED7CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED7D0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7D4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED7D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED7D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED7DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED7E0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED7E4 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED7EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED7EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027ED7EC */ if (_t6) goto L_027ED7F0; else goto L_027ED80C;
|
|
L_027ED7F0: ; // 0x27ed7f0
|
|
/* 027ED7F0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED7F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED7F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED7F8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED7FC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED7FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED800 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED804 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED808 */ return;
|
|
L_027ED80C: ; // 0x27ed80c
|
|
/* 027ED80C */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED810 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED814 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED818 */ _t11 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED818 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED81C */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED820 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED824 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED824 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED828 */ _t13 = cpu->r[9] + 0x00000060u;
|
|
/* 027ED828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED82C */ _t14 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED82C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED830 */ _t15 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED834 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED83C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED840 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED840 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED844 */ cpu->lr = cpu->r[0];
|
|
/* 027ED848 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED84C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED850 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED854 */ return;
|
|
}
|
|
|
|
// fn_027ED7C0 @ 0x27ed7c0
|
|
void Gambit_fn_027ED7C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027ED7C0: ; // 0x27ed7c0
|
|
/* 027ED7C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027ED7C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED7C0 */ cpu->r[1] = _t0;
|
|
/* 027ED7C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED7C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027ED7C8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED7CC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED7CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED7D0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7D4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED7D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED7D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED7DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED7E0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED7E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027ED7E4 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED7EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED7EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027ED7EC */ if (_t6) goto L_027ED7F0; else goto L_027ED80C;
|
|
L_027ED7F0: ; // 0x27ed7f0
|
|
/* 027ED7F0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027ED7F4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED7F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED7F8 */ cpu->lr = cpu->r[0];
|
|
/* 027ED7FC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED7FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027ED800 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED804 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED808 */ return;
|
|
L_027ED80C: ; // 0x27ed80c
|
|
/* 027ED80C */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED810 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED814 */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED818 */ _t11 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED818 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027ED81C */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED820 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED824 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED824 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED828 */ _t13 = cpu->r[9] + 0x00000060u;
|
|
/* 027ED828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED82C */ _t14 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED82C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027ED830 */ _t15 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED834 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED83C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED840 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED840 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED844 */ cpu->lr = cpu->r[0];
|
|
/* 027ED848 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED84C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027ED850 */ cpu->r[3] = 0x00000001u;
|
|
/* 027ED854 */ return;
|
|
}
|
|
|
|
// fn_027ED858 @ 0x27ed858
|
|
void Gambit_fn_027ED858(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED858: ; // 0x27ed858
|
|
/* 027ED858 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED85C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED85C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED860 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED860 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED860 */ cpu->r[1] = _t1;
|
|
/* 027ED864 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED868 */ Gambit_fn_027ED7BC(cpu);
|
|
/* 027ED86C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED870 */ cpu->lr = cpu->r[0];
|
|
/* 027ED874 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED878 */ return;
|
|
}
|
|
|
|
// fn_027ED860 @ 0x27ed860
|
|
void Gambit_fn_027ED860(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED860: ; // 0x27ed860
|
|
/* 027ED860 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED860 */ cpu->r[1] = _t0;
|
|
/* 027ED864 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED868 */ Gambit_fn_027ED7BC(cpu);
|
|
/* 027ED86C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED870 */ cpu->lr = cpu->r[0];
|
|
/* 027ED874 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED878 */ return;
|
|
}
|
|
|
|
// fn_027ED87C @ 0x27ed87c
|
|
void Gambit_fn_027ED87C(CPUState* 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_027ED87C: ; // 0x27ed87c
|
|
/* 027ED87C */ cpu->r[0] = cpu->lr;
|
|
/* 027ED880 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED880 */ cpu->r[1] = _t0;
|
|
/* 027ED884 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED884 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED888 */ /* nop */
|
|
/* 027ED88C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED890 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED890 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027ED894 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED898 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED898 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED89C */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED8A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED8A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027ED8A4 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED8A8 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED8A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED8AC */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED8B0 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED8B4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED8B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ED8BC */ _t7 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED8BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ED8C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED8C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED8C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED8CC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED8D0 */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED8D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED8D4 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027ED8D4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 027ED8D8 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED8D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED8DC */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED8E0 */ _t12 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED8E4 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED8E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED8EC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED8EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED8F0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED8F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027ED8F4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED8F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED8F8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED8F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 027ED8FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED900 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED900 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027ED900 */ if (_t19) goto L_027ED904; // else: addr-0 trap, fall-through
|
|
L_027ED904: ; // 0x27ed904
|
|
/* 027ED904 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED908 */ cpu->lr = cpu->r[0];
|
|
/* 027ED90C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED910 */ return;
|
|
}
|
|
|
|
// fn_027ED880 @ 0x27ed880
|
|
void Gambit_fn_027ED880(CPUState* 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_027ED880: ; // 0x27ed880
|
|
/* 027ED880 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 027ED880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED880 */ cpu->r[1] = _t0;
|
|
/* 027ED884 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED884 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED888 */ /* nop */
|
|
/* 027ED88C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027ED890 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED890 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027ED894 */ cpu->r[30] = cpu->r[4];
|
|
/* 027ED898 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED898 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027ED89C */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED8A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED8A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027ED8A4 */ cpu->r[4] = cpu->r[5];
|
|
/* 027ED8A8 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED8A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED8AC */ cpu->r[29] = cpu->r[3];
|
|
/* 027ED8B0 */ Gambit_fn_026D943C(cpu);
|
|
/* 027ED8B4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED8B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027ED8BC */ _t7 = cpu->r[11] + 0x00000130u;
|
|
/* 027ED8BC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027ED8C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 027ED8C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 027ED8C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027ED8CC */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED8D0 */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED8D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027ED8D4 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 027ED8D4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 027ED8D8 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 027ED8D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED8DC */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 027ED8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027ED8E0 */ _t12 = cpu->r[12] + 0x000000C4u;
|
|
/* 027ED8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED8E4 */ cpu->ctr = cpu->r[0];
|
|
/* 027ED8E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027ED8EC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED8EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027ED8F0 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED8F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 027ED8F4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED8F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED8F8 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED8F8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 027ED8FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027ED900 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED900 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027ED900 */ if (_t19) goto L_027ED904; // else: addr-0 trap, fall-through
|
|
L_027ED904: ; // 0x27ed904
|
|
/* 027ED904 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027ED904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027ED908 */ cpu->lr = cpu->r[0];
|
|
/* 027ED90C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027ED910 */ return;
|
|
}
|
|
|
|
// fn_027ED914 @ 0x27ed914
|
|
void Gambit_fn_027ED914(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027ED914: ; // 0x27ed914
|
|
/* 027ED914 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED918 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027ED918 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027ED91C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED91C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027ED91C */ cpu->r[1] = _t1;
|
|
/* 027ED920 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED924 */ Gambit_fn_027ED87C(cpu);
|
|
/* 027ED928 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027ED92C */ cpu->lr = cpu->r[0];
|
|
/* 027ED930 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED934 */ return;
|
|
}
|
|
|
|
// fn_027ED91C @ 0x27ed91c
|
|
void Gambit_fn_027ED91C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027ED91C: ; // 0x27ed91c
|
|
/* 027ED91C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027ED91C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED91C */ cpu->r[1] = _t0;
|
|
/* 027ED920 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027ED924 */ Gambit_fn_027ED87C(cpu);
|
|
/* 027ED928 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027ED928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027ED92C */ cpu->lr = cpu->r[0];
|
|
/* 027ED930 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED934 */ return;
|
|
}
|
|
|
|
// fn_027ED938 @ 0x27ed938
|
|
void Gambit_fn_027ED938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027ED938: ; // 0x27ed938
|
|
/* 027ED938 */ cpu->r[0] = cpu->lr;
|
|
/* 027ED93C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027ED93C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED93C */ cpu->r[1] = _t0;
|
|
/* 027ED940 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED940 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED944 */ /* nop */
|
|
/* 027ED948 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027ED948 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027ED94C */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED950 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 027ED950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED954 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED958 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED958 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027ED95C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED960 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED960 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027ED964 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED968 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED96C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED96C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED970 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED978 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027ED978 */ if (_t8) goto L_027ED97C; else goto L_027ED9A4;
|
|
L_027ED97C: ; // 0x27ed97c
|
|
/* 027ED97C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027ED97C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027ED980 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED984 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED988 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED988 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027ED98C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED990 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED990 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027ED990 */ if (_t14) goto L_027ED994; // else: addr-0 trap, fall-through
|
|
L_027ED994: ; // 0x27ed994
|
|
/* 027ED994 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 027ED994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED998 */ cpu->lr = cpu->r[0];
|
|
/* 027ED99C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027ED9A0 */ return;
|
|
L_027ED9A4: ; // 0x27ed9a4
|
|
/* 027ED9A4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED9A8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED9AC */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED9B0 */ _t17 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED9B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED9B8 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED9BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED9C0 */ _t19 = cpu->r[10] + 0x00000060u;
|
|
/* 027ED9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED9C4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED9C8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED9CC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED9CC */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027ED9D0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027ED9D4 */ _t21 = cpu->r[11] + 0x00000138u;
|
|
/* 027ED9D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 027ED9D8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027ED9DC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED9DC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 027ED9E0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED9E0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027ED9E4 */ cpu->f[11] = cpu->f[31];
|
|
/* 027ED9E8 */ _t24 = cpu->r[10] + 0x00000140u;
|
|
/* 027ED9E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027ED9EC */ cpu->f[10] = cpu->f[12] - cpu->f[13];
|
|
/* 027ED9F0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027ED9F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027ED9F8 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 027ED9FC */ _t26 = cpu->r[11] + 0x00000060u;
|
|
/* 027ED9FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EDA00 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDA00 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027EDA00 */ if (_t28) goto L_027EDA04; else goto L_027EDA28;
|
|
L_027EDA04: ; // 0x27eda04
|
|
/* 027EDA04 */ _t29 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDA04 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 027EDA08 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EDA0C */ _t31 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDA0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EDA10 */ _t32 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EDA14 */ _t33 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDA14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EDA18 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDA1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDA20 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EDA24 */ goto L_027EDA54;
|
|
L_027EDA28: ; // 0x27eda28
|
|
/* 027EDA28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 027EDA2C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EDA2C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EDA2C */ if (_t35) goto L_027EDA30; else goto L_027EDA34;
|
|
L_027EDA30: ; // 0x27eda30
|
|
/* 027EDA30 */ cpu->f[11] = cpu->f[12];
|
|
L_027EDA34: ; // 0x27eda34
|
|
/* 027EDA34 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDA34 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[11]);
|
|
/* 027EDA38 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EDA3C */ _t38 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EDA40 */ _t39 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDA40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EDA44 */ _t40 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EDA48 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDA4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDA50 */ cpu->r[3] = 0x00000001u;
|
|
L_027EDA54: ; // 0x27eda54
|
|
/* 027EDA54 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDA54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027EDA58 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EDA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EDA5C */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDA5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 027EDA60 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDA60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027EDA64 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDA64 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EDA64 */ if (_t46) goto L_027EDA68; // else: addr-0 trap, fall-through
|
|
L_027EDA68: ; // 0x27eda68
|
|
/* 027EDA68 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 027EDA68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EDA6C */ cpu->lr = cpu->r[0];
|
|
/* 027EDA70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027EDA74 */ return;
|
|
}
|
|
|
|
// fn_027ED93C @ 0x27ed93c
|
|
void Gambit_fn_027ED93C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_027ED93C: ; // 0x27ed93c
|
|
/* 027ED93C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027ED93C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027ED93C */ cpu->r[1] = _t0;
|
|
/* 027ED940 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED940 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027ED944 */ /* nop */
|
|
/* 027ED948 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027ED948 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027ED94C */ cpu->f[31] = cpu->f[1];
|
|
/* 027ED950 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 027ED950 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027ED954 */ cpu->r[0] = 0x00000000u;
|
|
/* 027ED958 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED958 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027ED95C */ cpu->r[30] = cpu->r[3];
|
|
/* 027ED960 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED960 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027ED964 */ cpu->r[31] = cpu->r[4];
|
|
/* 027ED968 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027ED96C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED96C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027ED970 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027ED974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027ED978 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027ED978 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027ED978 */ if (_t8) goto L_027ED97C; else goto L_027ED9A4;
|
|
L_027ED97C: ; // 0x27ed97c
|
|
/* 027ED97C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 027ED97C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027ED980 */ cpu->r[3] = 0x00000000u;
|
|
/* 027ED984 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027ED984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027ED988 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 027ED988 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027ED98C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 027ED98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027ED990 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027ED990 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027ED990 */ if (_t14) goto L_027ED994; // else: addr-0 trap, fall-through
|
|
L_027ED994: ; // 0x27ed994
|
|
/* 027ED994 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 027ED994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027ED998 */ cpu->lr = cpu->r[0];
|
|
/* 027ED99C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027ED9A0 */ return;
|
|
L_027ED9A4: ; // 0x27ed9a4
|
|
/* 027ED9A4 */ cpu->r[12] = 0x10110000u;
|
|
/* 027ED9A8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027ED9AC */ cpu->r[5] = cpu->r[31];
|
|
/* 027ED9B0 */ _t17 = cpu->r[12] + 0x00000130u;
|
|
/* 027ED9B0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027ED9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027ED9B8 */ Gambit_fn_026D97DC(cpu);
|
|
/* 027ED9BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027ED9C0 */ _t19 = cpu->r[10] + 0x00000060u;
|
|
/* 027ED9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027ED9C4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027ED9C8 */ cpu->r[11] = 0x10110000u;
|
|
/* 027ED9CC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027ED9CC */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027ED9D0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027ED9D4 */ _t21 = cpu->r[11] + 0x00000138u;
|
|
/* 027ED9D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 027ED9D8 */ cpu->r[10] = 0x10110000u;
|
|
/* 027ED9DC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED9DC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 027ED9E0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027ED9E0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027ED9E4 */ cpu->f[11] = cpu->f[31];
|
|
/* 027ED9E8 */ _t24 = cpu->r[10] + 0x00000140u;
|
|
/* 027ED9E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 027ED9EC */ cpu->f[10] = cpu->f[12] - cpu->f[13];
|
|
/* 027ED9F0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 027ED9F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027ED9F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 027ED9F8 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 027ED9FC */ _t26 = cpu->r[11] + 0x00000060u;
|
|
/* 027ED9FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EDA00 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDA00 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027EDA00 */ if (_t28) goto L_027EDA04; else goto L_027EDA28;
|
|
L_027EDA04: ; // 0x27eda04
|
|
/* 027EDA04 */ _t29 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDA04 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 027EDA08 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EDA0C */ _t31 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDA0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EDA10 */ _t32 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EDA14 */ _t33 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDA14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027EDA18 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDA1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDA20 */ cpu->r[3] = 0x00000001u;
|
|
/* 027EDA24 */ goto L_027EDA54;
|
|
L_027EDA28: ; // 0x27eda28
|
|
/* 027EDA28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 027EDA2C */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027EDA2C */ _t35 = _t34 & 0x00000001u;
|
|
/* 027EDA2C */ if (_t35) goto L_027EDA30; else goto L_027EDA34;
|
|
L_027EDA30: ; // 0x27eda30
|
|
/* 027EDA30 */ cpu->f[11] = cpu->f[12];
|
|
L_027EDA34: ; // 0x27eda34
|
|
/* 027EDA34 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDA34 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[11]);
|
|
/* 027EDA38 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027EDA3C */ _t38 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027EDA40 */ _t39 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDA40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EDA44 */ _t40 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027EDA48 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDA4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDA50 */ cpu->r[3] = 0x00000001u;
|
|
L_027EDA54: ; // 0x27eda54
|
|
/* 027EDA54 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDA54 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027EDA58 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027EDA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027EDA5C */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDA5C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 027EDA60 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDA60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027EDA64 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDA64 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027EDA64 */ if (_t46) goto L_027EDA68; // else: addr-0 trap, fall-through
|
|
L_027EDA68: ; // 0x27eda68
|
|
/* 027EDA68 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 027EDA68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027EDA6C */ cpu->lr = cpu->r[0];
|
|
/* 027EDA70 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027EDA74 */ return;
|
|
}
|
|
|
|
// fn_027EDA78 @ 0x27eda78
|
|
void Gambit_fn_027EDA78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDA78: ; // 0x27eda78
|
|
/* 027EDA78 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDA7C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDA7C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDA80 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDA80 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDA80 */ cpu->r[1] = _t1;
|
|
/* 027EDA84 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDA88 */ Gambit_fn_027ED938(cpu);
|
|
/* 027EDA8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDA90 */ cpu->lr = cpu->r[0];
|
|
/* 027EDA94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA98 */ return;
|
|
}
|
|
|
|
// fn_027EDA80 @ 0x27eda80
|
|
void Gambit_fn_027EDA80(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDA80: ; // 0x27eda80
|
|
/* 027EDA80 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDA80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDA80 */ cpu->r[1] = _t0;
|
|
/* 027EDA84 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDA88 */ Gambit_fn_027ED938(cpu);
|
|
/* 027EDA8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDA8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDA90 */ cpu->lr = cpu->r[0];
|
|
/* 027EDA94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDA98 */ return;
|
|
}
|
|
|
|
// fn_027EDA9C @ 0x27eda9c
|
|
void Gambit_fn_027EDA9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027EDA9C: ; // 0x27eda9c
|
|
/* 027EDA9C */ cpu->r[0] = cpu->lr;
|
|
/* 027EDAA0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027EDAA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDAA0 */ cpu->r[1] = _t0;
|
|
/* 027EDAA4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDAA4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027EDAA8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDAA8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027EDAAC */ /* nop */
|
|
/* 027EDAB0 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDAB0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027EDAB4 */ /* nop */
|
|
/* 027EDAB8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDAB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027EDABC */ cpu->r[4] = cpu->r[5];
|
|
/* 027EDAC0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDAC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EDAC4 */ cpu->f[30] = cpu->f[1];
|
|
/* 027EDAC8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDAC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027EDACC */ Gambit_fn_026D943C(cpu);
|
|
/* 027EDAD0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDAD4 */ _t7 = cpu->r[12] + 0x00000130u;
|
|
/* 027EDAD4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027EDAD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EDADC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 027EDAE0 */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDAE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EDAE4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDAE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EDAE4 */ if (_t10) goto L_027EDAE8; else goto L_027EDAF4;
|
|
L_027EDAE8: ; // 0x27edae8
|
|
/* 027EDAE8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDAEC */ _t11 = cpu->r[12] + 0x00000140u;
|
|
/* 027EDAEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EDAF0 */ /* nop */
|
|
L_027EDAF4: ; // 0x27edaf4
|
|
/* 027EDAF4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027EDAF8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDAF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 027EDAFC */ cpu->r[0] = 0x43300000u;
|
|
/* 027EDB00 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDB04 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB04 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027EDB08 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027EDB0C */ _t15 = cpu->r[12] + 0x00000138u;
|
|
/* 027EDB0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 027EDB10 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 027EDB14 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 027EDB18 */ cpu->f[11] = cpu->f[31] * cpu->f[12];
|
|
/* 027EDB1C */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EDB20 */ _t17 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EDB20 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 027EDB24 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDB24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EDB28 */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDB28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EDB2C */ _t20 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDB2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EDB30 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDB34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDB38 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDB38 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027EDB3C */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDB3C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027EDB40 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDB40 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027EDB44 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDB44 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027EDB48 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EDB4C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDB4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EDB4C */ if (_t27) goto L_027EDB50; // else: addr-0 trap, fall-through
|
|
L_027EDB50: ; // 0x27edb50
|
|
/* 027EDB50 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EDB54 */ cpu->lr = cpu->r[0];
|
|
/* 027EDB58 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDB5C */ return;
|
|
}
|
|
|
|
// fn_027EDAA0 @ 0x27edaa0
|
|
void Gambit_fn_027EDAA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_027EDAA0: ; // 0x27edaa0
|
|
/* 027EDAA0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027EDAA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDAA0 */ cpu->r[1] = _t0;
|
|
/* 027EDAA4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDAA4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027EDAA8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDAA8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027EDAAC */ /* nop */
|
|
/* 027EDAB0 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDAB0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027EDAB4 */ /* nop */
|
|
/* 027EDAB8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDAB8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027EDABC */ cpu->r[4] = cpu->r[5];
|
|
/* 027EDAC0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDAC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EDAC4 */ cpu->f[30] = cpu->f[1];
|
|
/* 027EDAC8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDAC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027EDACC */ Gambit_fn_026D943C(cpu);
|
|
/* 027EDAD0 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDAD4 */ _t7 = cpu->r[12] + 0x00000130u;
|
|
/* 027EDAD4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 027EDAD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027EDADC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 027EDAE0 */ _t8 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDAE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027EDAE4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDAE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027EDAE4 */ if (_t10) goto L_027EDAE8; else goto L_027EDAF4;
|
|
L_027EDAE8: ; // 0x27edae8
|
|
/* 027EDAE8 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDAEC */ _t11 = cpu->r[12] + 0x00000140u;
|
|
/* 027EDAEC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027EDAF0 */ /* nop */
|
|
L_027EDAF4: ; // 0x27edaf4
|
|
/* 027EDAF4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027EDAF8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDAF8 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 027EDAFC */ cpu->r[0] = 0x43300000u;
|
|
/* 027EDB00 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDB04 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB04 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 027EDB08 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 027EDB0C */ _t15 = cpu->r[12] + 0x00000138u;
|
|
/* 027EDB0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 027EDB10 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 027EDB14 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 027EDB18 */ cpu->f[11] = cpu->f[31] * cpu->f[12];
|
|
/* 027EDB1C */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDB1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027EDB20 */ _t17 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027EDB20 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[11]);
|
|
/* 027EDB24 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 027EDB24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EDB28 */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDB28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027EDB2C */ _t20 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDB2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027EDB30 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDB34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDB38 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDB38 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027EDB3C */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDB3C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027EDB40 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDB40 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 027EDB44 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDB44 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027EDB48 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027EDB4C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDB4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 027EDB4C */ if (_t27) goto L_027EDB50; // else: addr-0 trap, fall-through
|
|
L_027EDB50: ; // 0x27edb50
|
|
/* 027EDB50 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027EDB54 */ cpu->lr = cpu->r[0];
|
|
/* 027EDB58 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDB5C */ return;
|
|
}
|
|
|
|
// fn_027EDB60 @ 0x27edb60
|
|
void Gambit_fn_027EDB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDB60: ; // 0x27edb60
|
|
/* 027EDB60 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDB64 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDB68 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDB68 */ cpu->r[1] = _t1;
|
|
/* 027EDB6C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDB70 */ Gambit_fn_027EDA9C(cpu);
|
|
/* 027EDB74 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDB78 */ cpu->lr = cpu->r[0];
|
|
/* 027EDB7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB80 */ return;
|
|
}
|
|
|
|
// fn_027EDB68 @ 0x27edb68
|
|
void Gambit_fn_027EDB68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDB68: ; // 0x27edb68
|
|
/* 027EDB68 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDB68 */ cpu->r[1] = _t0;
|
|
/* 027EDB6C */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDB70 */ Gambit_fn_027EDA9C(cpu);
|
|
/* 027EDB74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDB78 */ cpu->lr = cpu->r[0];
|
|
/* 027EDB7C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDB80 */ return;
|
|
}
|
|
|
|
// fn_027EDB84 @ 0x27edb84
|
|
void Gambit_fn_027EDB84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027EDB84: ; // 0x27edb84
|
|
/* 027EDB84 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDB88 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027EDB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDB88 */ cpu->r[1] = _t0;
|
|
/* 027EDB8C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDB8C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027EDB90 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDB90 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027EDB94 */ /* nop */
|
|
/* 027EDB98 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDB98 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027EDB9C */ /* nop */
|
|
/* 027EDBA0 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDBA0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027EDBA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBA8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDBA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EDBAC */ cpu->r[0] = 0x00000000u;
|
|
/* 027EDBB0 */ cpu->f[30] = cpu->f[1];
|
|
/* 027EDBB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EDBB8 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027EDBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EDBC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EDBC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EDBC0 */ if (_t8) goto L_027EDBC4; else goto L_027EDBEC;
|
|
L_027EDBC4: ; // 0x27edbc4
|
|
/* 027EDBC4 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDBC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027EDBC8 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDBC8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027EDBCC */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDBCC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027EDBD0 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDBD0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 027EDBD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EDBD8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDBD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EDBD8 */ if (_t14) goto L_027EDBDC; // else: addr-0 trap, fall-through
|
|
L_027EDBDC: ; // 0x27edbdc
|
|
/* 027EDBDC */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EDBE0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDBE4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDBE8 */ return;
|
|
L_027EDBEC: ; // 0x27edbec
|
|
/* 027EDBEC */ cpu->r[11] = 0x10110000u;
|
|
/* 027EDBF0 */ _t16 = cpu->r[11] + 0x00000130u;
|
|
/* 027EDBF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027EDBF4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EDBF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 027EDBFC */ _t18 = cpu->r[11] + 0x00000060u;
|
|
/* 027EDBFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EDC00 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDC00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EDC00 */ if (_t20) goto L_027EDC04; else goto L_027EDC10;
|
|
L_027EDC04: ; // 0x27edc04
|
|
/* 027EDC04 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDC08 */ _t21 = cpu->r[12] + 0x00000140u;
|
|
/* 027EDC08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027EDC0C */ /* nop */
|
|
L_027EDC10: ; // 0x27edc10
|
|
/* 027EDC10 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027EDC14 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDC14 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 027EDC18 */ cpu->r[0] = 0x43300000u;
|
|
/* 027EDC1C */ cpu->r[11] = 0x10110000u;
|
|
/* 027EDC20 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027EDC20 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027EDC24 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027EDC24 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027EDC28 */ _t25 = cpu->r[11] + 0x00000138u;
|
|
/* 027EDC28 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 027EDC2C */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 027EDC30 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 027EDC34 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EDC38 */ cpu->f[0] = cpu->f[31] * cpu->f[11];
|
|
/* 027EDC3C */ _t27 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDC3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EDC40 */ _t28 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDC40 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 027EDC44 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDC44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EDC48 */ _t30 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EDC4C */ _t31 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDC4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EDC50 */ _t32 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EDC54 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDC58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDC5C */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDC5C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027EDC60 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDC60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027EDC64 */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDC64 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 027EDC68 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDC68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027EDC6C */ cpu->r[3] = 0x00000001u;
|
|
/* 027EDC70 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDC70 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027EDC70 */ if (_t38) goto L_027EDC74; // else: addr-0 trap, fall-through
|
|
L_027EDC74: ; // 0x27edc74
|
|
/* 027EDC74 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EDC78 */ cpu->lr = cpu->r[0];
|
|
/* 027EDC7C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDC80 */ return;
|
|
}
|
|
|
|
// fn_027EDB88 @ 0x27edb88
|
|
void Gambit_fn_027EDB88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_027EDB88: ; // 0x27edb88
|
|
/* 027EDB88 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027EDB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDB88 */ cpu->r[1] = _t0;
|
|
/* 027EDB8C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDB8C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027EDB90 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDB90 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027EDB94 */ /* nop */
|
|
/* 027EDB98 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDB98 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027EDB9C */ /* nop */
|
|
/* 027EDBA0 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDBA0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027EDBA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBA8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDBA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027EDBAC */ cpu->r[0] = 0x00000000u;
|
|
/* 027EDBB0 */ cpu->f[30] = cpu->f[1];
|
|
/* 027EDBB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027EDBB8 */ Gambit_fn_026D96A0(cpu);
|
|
/* 027EDBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027EDBC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027EDBC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027EDBC0 */ if (_t8) goto L_027EDBC4; else goto L_027EDBEC;
|
|
L_027EDBC4: ; // 0x27edbc4
|
|
/* 027EDBC4 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDBC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027EDBC8 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDBC8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027EDBCC */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDBCC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 027EDBD0 */ _t12 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDBD0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 027EDBD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027EDBD8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDBD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027EDBD8 */ if (_t14) goto L_027EDBDC; // else: addr-0 trap, fall-through
|
|
L_027EDBDC: ; // 0x27edbdc
|
|
/* 027EDBDC */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027EDBE0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDBE4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDBE8 */ return;
|
|
L_027EDBEC: ; // 0x27edbec
|
|
/* 027EDBEC */ cpu->r[11] = 0x10110000u;
|
|
/* 027EDBF0 */ _t16 = cpu->r[11] + 0x00000130u;
|
|
/* 027EDBF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027EDBF4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDBF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027EDBF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 027EDBFC */ _t18 = cpu->r[11] + 0x00000060u;
|
|
/* 027EDBFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027EDC00 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDC00 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027EDC00 */ if (_t20) goto L_027EDC04; else goto L_027EDC10;
|
|
L_027EDC04: ; // 0x27edc04
|
|
/* 027EDC04 */ cpu->r[12] = 0x10110000u;
|
|
/* 027EDC08 */ _t21 = cpu->r[12] + 0x00000140u;
|
|
/* 027EDC08 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027EDC0C */ /* nop */
|
|
L_027EDC10: ; // 0x27edc10
|
|
/* 027EDC10 */ Gambit_fn_0285A26C(cpu);
|
|
/* 027EDC14 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027EDC14 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 027EDC18 */ cpu->r[0] = 0x43300000u;
|
|
/* 027EDC1C */ cpu->r[11] = 0x10110000u;
|
|
/* 027EDC20 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 027EDC20 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 027EDC24 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 027EDC24 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 027EDC28 */ _t25 = cpu->r[11] + 0x00000138u;
|
|
/* 027EDC28 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 027EDC2C */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 027EDC30 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 027EDC34 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDC34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027EDC38 */ cpu->f[0] = cpu->f[31] * cpu->f[11];
|
|
/* 027EDC3C */ _t27 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDC3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027EDC40 */ _t28 = cpu->r[11] + 0x0000000Cu;
|
|
/* 027EDC40 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 027EDC44 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 027EDC44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027EDC48 */ _t30 = cpu->r[12] + 0x00000060u;
|
|
/* 027EDC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027EDC4C */ _t31 = cpu->r[3] + 0x00000014u;
|
|
/* 027EDC4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027EDC50 */ _t32 = cpu->r[12] + 0x000000C4u;
|
|
/* 027EDC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027EDC54 */ cpu->ctr = cpu->r[0];
|
|
/* 027EDC58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027EDC5C */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 027EDC5C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 027EDC60 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 027EDC60 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 027EDC64 */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 027EDC64 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 027EDC68 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 027EDC68 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027EDC6C */ cpu->r[3] = 0x00000001u;
|
|
/* 027EDC70 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027EDC70 */ _t38 = _t37 & 0x00000001u;
|
|
/* 027EDC70 */ if (_t38) goto L_027EDC74; // else: addr-0 trap, fall-through
|
|
L_027EDC74: ; // 0x27edc74
|
|
/* 027EDC74 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027EDC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027EDC78 */ cpu->lr = cpu->r[0];
|
|
/* 027EDC7C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027EDC80 */ return;
|
|
}
|
|
|
|
// fn_027EDC84 @ 0x27edc84
|
|
void Gambit_fn_027EDC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDC84: ; // 0x27edc84
|
|
/* 027EDC84 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDC88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDC8C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDC8C */ cpu->r[1] = _t1;
|
|
/* 027EDC90 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDC94 */ Gambit_fn_026D98D0(cpu);
|
|
/* 027EDC98 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDC9C */ cpu->lr = cpu->r[0];
|
|
/* 027EDCA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCA4 */ return;
|
|
}
|
|
|
|
// fn_027EDC8C @ 0x27edc8c
|
|
void Gambit_fn_027EDC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDC8C: ; // 0x27edc8c
|
|
/* 027EDC8C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDC8C */ cpu->r[1] = _t0;
|
|
/* 027EDC90 */ Gambit_fn_027ECD90(cpu);
|
|
/* 027EDC94 */ Gambit_fn_026D98D0(cpu);
|
|
/* 027EDC98 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDC98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDC9C */ cpu->lr = cpu->r[0];
|
|
/* 027EDCA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCA4 */ return;
|
|
}
|
|
|
|
// fn_027EDCA8 @ 0x27edca8
|
|
void Gambit_fn_027EDCA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDCA8: ; // 0x27edca8
|
|
/* 027EDCA8 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDCAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDCAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDCB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDCB0 */ cpu->r[1] = _t1;
|
|
/* 027EDCB4 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDCB8 */ Gambit_fn_027ED178(cpu);
|
|
/* 027EDCBC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDCBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDCC0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDCC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCC8 */ return;
|
|
}
|
|
|
|
// fn_027EDCB0 @ 0x27edcb0
|
|
void Gambit_fn_027EDCB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDCB0: ; // 0x27edcb0
|
|
/* 027EDCB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDCB0 */ cpu->r[1] = _t0;
|
|
/* 027EDCB4 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDCB8 */ Gambit_fn_027ED178(cpu);
|
|
/* 027EDCBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDCBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDCC0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDCC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCC8 */ return;
|
|
}
|
|
|
|
// fn_027EDCCC @ 0x27edccc
|
|
void Gambit_fn_027EDCCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDCCC: ; // 0x27edccc
|
|
/* 027EDCCC */ cpu->r[0] = cpu->lr;
|
|
/* 027EDCD0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDCD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDCD4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDCD4 */ cpu->r[1] = _t1;
|
|
/* 027EDCD8 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDCDC */ Gambit_fn_027ED208(cpu);
|
|
/* 027EDCE0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDCE4 */ cpu->lr = cpu->r[0];
|
|
/* 027EDCE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCEC */ return;
|
|
}
|
|
|
|
// fn_027EDCD4 @ 0x27edcd4
|
|
void Gambit_fn_027EDCD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDCD4: ; // 0x27edcd4
|
|
/* 027EDCD4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDCD4 */ cpu->r[1] = _t0;
|
|
/* 027EDCD8 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDCDC */ Gambit_fn_027ED208(cpu);
|
|
/* 027EDCE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDCE4 */ cpu->lr = cpu->r[0];
|
|
/* 027EDCE8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDCEC */ return;
|
|
}
|
|
|
|
// fn_027EDCF0 @ 0x27edcf0
|
|
void Gambit_fn_027EDCF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDCF0: ; // 0x27edcf0
|
|
/* 027EDCF0 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDCF4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDCF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDCF8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDCF8 */ cpu->r[1] = _t1;
|
|
/* 027EDCFC */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD00 */ Gambit_fn_027ED2D4(cpu);
|
|
/* 027EDD04 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDD08 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD0C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD10 */ return;
|
|
}
|
|
|
|
// fn_027EDCF8 @ 0x27edcf8
|
|
void Gambit_fn_027EDCF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDCF8: ; // 0x27edcf8
|
|
/* 027EDCF8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDCF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDCF8 */ cpu->r[1] = _t0;
|
|
/* 027EDCFC */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD00 */ Gambit_fn_027ED2D4(cpu);
|
|
/* 027EDD04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDD08 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD0C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD10 */ return;
|
|
}
|
|
|
|
// fn_027EDD14 @ 0x27edd14
|
|
void Gambit_fn_027EDD14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDD14: ; // 0x27edd14
|
|
/* 027EDD14 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDD18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDD18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDD1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDD1C */ cpu->r[1] = _t1;
|
|
/* 027EDD20 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD24 */ Gambit_fn_027ED3A4(cpu);
|
|
/* 027EDD28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDD2C */ cpu->lr = cpu->r[0];
|
|
/* 027EDD30 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD34 */ return;
|
|
}
|
|
|
|
// fn_027EDD1C @ 0x27edd1c
|
|
void Gambit_fn_027EDD1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDD1C: ; // 0x27edd1c
|
|
/* 027EDD1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDD1C */ cpu->r[1] = _t0;
|
|
/* 027EDD20 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD24 */ Gambit_fn_027ED3A4(cpu);
|
|
/* 027EDD28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDD2C */ cpu->lr = cpu->r[0];
|
|
/* 027EDD30 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD34 */ return;
|
|
}
|
|
|
|
// fn_027EDD38 @ 0x27edd38
|
|
void Gambit_fn_027EDD38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDD38: ; // 0x27edd38
|
|
/* 027EDD38 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDD3C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDD3C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDD40 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD40 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDD40 */ cpu->r[1] = _t1;
|
|
/* 027EDD44 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD48 */ Gambit_fn_027ED4C8(cpu);
|
|
/* 027EDD4C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDD50 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD54 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD58 */ return;
|
|
}
|
|
|
|
// fn_027EDD40 @ 0x27edd40
|
|
void Gambit_fn_027EDD40(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDD40: ; // 0x27edd40
|
|
/* 027EDD40 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDD40 */ cpu->r[1] = _t0;
|
|
/* 027EDD44 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD48 */ Gambit_fn_027ED4C8(cpu);
|
|
/* 027EDD4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDD50 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD54 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD58 */ return;
|
|
}
|
|
|
|
// fn_027EDD5C @ 0x27edd5c
|
|
void Gambit_fn_027EDD5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDD5C: ; // 0x27edd5c
|
|
/* 027EDD5C */ cpu->r[0] = cpu->lr;
|
|
/* 027EDD60 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDD60 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDD64 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD64 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDD64 */ cpu->r[1] = _t1;
|
|
/* 027EDD68 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD6C */ Gambit_fn_027ED594(cpu);
|
|
/* 027EDD70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDD74 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD7C */ return;
|
|
}
|
|
|
|
// fn_027EDD64 @ 0x27edd64
|
|
void Gambit_fn_027EDD64(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDD64: ; // 0x27edd64
|
|
/* 027EDD64 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDD64 */ cpu->r[1] = _t0;
|
|
/* 027EDD68 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD6C */ Gambit_fn_027ED594(cpu);
|
|
/* 027EDD70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDD74 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDD7C */ return;
|
|
}
|
|
|
|
// fn_027EDD80 @ 0x27edd80
|
|
void Gambit_fn_027EDD80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDD80: ; // 0x27edd80
|
|
/* 027EDD80 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDD84 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDD84 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDD88 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDD88 */ cpu->r[1] = _t1;
|
|
/* 027EDD8C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD90 */ Gambit_fn_027ED648(cpu);
|
|
/* 027EDD94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDD98 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD9C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDA0 */ return;
|
|
}
|
|
|
|
// fn_027EDD88 @ 0x27edd88
|
|
void Gambit_fn_027EDD88(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDD88: ; // 0x27edd88
|
|
/* 027EDD88 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDD88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDD88 */ cpu->r[1] = _t0;
|
|
/* 027EDD8C */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDD90 */ Gambit_fn_027ED648(cpu);
|
|
/* 027EDD94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDD94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDD98 */ cpu->lr = cpu->r[0];
|
|
/* 027EDD9C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDA0 */ return;
|
|
}
|
|
|
|
// fn_027EDDA4 @ 0x27edda4
|
|
void Gambit_fn_027EDDA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDDA4: ; // 0x27edda4
|
|
/* 027EDDA4 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDDA8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDDA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDDAC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDDAC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDDAC */ cpu->r[1] = _t1;
|
|
/* 027EDDB0 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDDB4 */ Gambit_fn_027ED87C(cpu);
|
|
/* 027EDDB8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDDB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDDBC */ cpu->lr = cpu->r[0];
|
|
/* 027EDDC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDC4 */ return;
|
|
}
|
|
|
|
// fn_027EDDAC @ 0x27eddac
|
|
void Gambit_fn_027EDDAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDDAC: ; // 0x27eddac
|
|
/* 027EDDAC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDDAC */ cpu->r[1] = _t0;
|
|
/* 027EDDB0 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDDB4 */ Gambit_fn_027ED87C(cpu);
|
|
/* 027EDDB8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDDB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDDBC */ cpu->lr = cpu->r[0];
|
|
/* 027EDDC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDC4 */ return;
|
|
}
|
|
|
|
// fn_027EDDC8 @ 0x27eddc8
|
|
void Gambit_fn_027EDDC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDDC8: ; // 0x27eddc8
|
|
/* 027EDDC8 */ cpu->r[0] = cpu->lr;
|
|
/* 027EDDCC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDDCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDDD0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDDD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDDD0 */ cpu->r[1] = _t1;
|
|
/* 027EDDD4 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDDD8 */ Gambit_fn_027ED938(cpu);
|
|
/* 027EDDDC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDDE0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDDE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDE8 */ return;
|
|
}
|
|
|
|
// fn_027EDDD0 @ 0x27eddd0
|
|
void Gambit_fn_027EDDD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027EDDD0: ; // 0x27eddd0
|
|
/* 027EDDD0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDDD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027EDDD0 */ cpu->r[1] = _t0;
|
|
/* 027EDDD4 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDDD8 */ Gambit_fn_027ED938(cpu);
|
|
/* 027EDDDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027EDDE0 */ cpu->lr = cpu->r[0];
|
|
/* 027EDDE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDDE8 */ return;
|
|
}
|
|
|
|
// fn_027EDDEC @ 0x27eddec
|
|
void Gambit_fn_027EDDEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027EDDEC: ; // 0x27eddec
|
|
/* 027EDDEC */ cpu->r[0] = cpu->lr;
|
|
/* 027EDDF0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027EDDF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027EDDF4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027EDDF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027EDDF4 */ cpu->r[1] = _t1;
|
|
/* 027EDDF8 */ Gambit_fn_027ECE58(cpu);
|
|
/* 027EDDFC */ Gambit_fn_027ED724(cpu);
|
|
/* 027EDE00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027EDE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027EDE04 */ cpu->lr = cpu->r[0];
|
|
/* 027EDE08 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027EDE0C */ return;
|
|
}
|
|
|