mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
33400 lines
1.7 MiB
Plaintext
33400 lines
1.7 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02786F94 @ 0x2786f94
|
|
void Gambit_fn_02786F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02786F94: ; // 0x2786f94
|
|
/* 02786F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02786F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02786F94 */ cpu->r[1] = _t0;
|
|
/* 02786F98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02786F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02786F9C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02786F9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02786FA0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02786FA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02786FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02786FA8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02786FA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02786FAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02786FAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02786FB0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02786FB4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02786FB4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02786FB4 */ if (_t6) goto L_02786FB8; else goto L_02786FC8;
|
|
L_02786FB8: ; // 0x2786fb8
|
|
/* 02786FB8 */ cpu->r[3] = 0x00000034u;
|
|
/* 02786FBC */ Gambit_fn_02801A78(cpu);
|
|
/* 02786FC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02786FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02786FC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02786FC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02786FC4 */ if (_t8) goto L_02787010; else goto L_02786FC8;
|
|
L_02786FC8: ; // 0x2786fc8
|
|
/* 02786FC8 */ cpu->r[4] = 0x10100000u;
|
|
/* 02786FCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02786FD0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02786FD4 */ cpu->r[4] = cpu->r[4] + 0x0000553Cu;
|
|
/* 02786FD8 */ Gambit_fn_026DD9F0(cpu);
|
|
/* 02786FDC */ cpu->r[0] = 0x10100000u;
|
|
/* 02786FE0 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02786FE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02786FE4 */ cpu->r[0] = cpu->r[0] + 0x00005578u;
|
|
/* 02786FE8 */ _t10 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02786FE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02786FEC */ cpu->r[12] = 0x10100000u;
|
|
/* 02786FF0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02786FF4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02786FF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02786FF8 */ cpu->r[0] = 0x10100000u;
|
|
/* 02786FFC */ cpu->r[12] = cpu->r[12] + 0x000055F0u;
|
|
/* 02787000 */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 02787000 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02787004 */ cpu->r[0] = cpu->r[0] + 0x00005600u;
|
|
/* 02787008 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02787008 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278700C */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 0278700C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02787010: ; // 0x2787010
|
|
/* 02787010 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787010 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02787014 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02787018 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278701C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0278701C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02787020 */ cpu->lr = cpu->r[0];
|
|
/* 02787024 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02787024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02787028 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278702C */ return;
|
|
}
|
|
|
|
// fn_02787030 @ 0x2787030
|
|
void Gambit_fn_02787030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02787030: ; // 0x2787030
|
|
/* 02787030 */ cpu->r[0] = cpu->lr;
|
|
/* 02787034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02787034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787034 */ cpu->r[1] = _t0;
|
|
/* 02787038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278703C */ cpu->r[31] = cpu->r[3];
|
|
/* 02787040 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02787044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787044 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02787048 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 02787048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278704C */ Gambit_fn_0206C030(cpu);
|
|
/* 02787050 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02787050 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787054 */ cpu->r[5] = 0x00000001u;
|
|
/* 02787058 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 02787058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278705C */ Gambit_fn_027ECB34(cpu);
|
|
/* 02787060 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02787060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02787064 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02787064 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787068 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 02787068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278706C */ cpu->ctr = cpu->r[0];
|
|
/* 02787070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787074 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02787074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787078 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278707C */ cpu->lr = cpu->r[0];
|
|
/* 02787080 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02787084 */ return;
|
|
}
|
|
|
|
// fn_02787034 @ 0x2787034
|
|
void Gambit_fn_02787034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02787034: ; // 0x2787034
|
|
/* 02787034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02787034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787034 */ cpu->r[1] = _t0;
|
|
/* 02787038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278703C */ cpu->r[31] = cpu->r[3];
|
|
/* 02787040 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02787044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787044 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02787048 */ _t3 = cpu->r[3] + 0x00003400u;
|
|
/* 02787048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278704C */ Gambit_fn_0206C030(cpu);
|
|
/* 02787050 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02787050 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787054 */ cpu->r[5] = 0x00000001u;
|
|
/* 02787058 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 02787058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278705C */ Gambit_fn_027ECB34(cpu);
|
|
/* 02787060 */ _t6 = cpu->r[31] + 0x00000030u;
|
|
/* 02787060 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02787064 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02787064 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787068 */ _t8 = cpu->r[12] + 0x00000164u;
|
|
/* 02787068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278706C */ cpu->ctr = cpu->r[0];
|
|
/* 02787070 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787074 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02787074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787078 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278707C */ cpu->lr = cpu->r[0];
|
|
/* 02787080 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02787084 */ return;
|
|
}
|
|
|
|
// fn_02787088 @ 0x2787088
|
|
void Gambit_fn_02787088(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02787088: ; // 0x2787088
|
|
/* 02787088 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 02787088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278708C */ goto L_02787E28;
|
|
L_02787E28: ; // 0x2787e28
|
|
/* 02787E28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02787E2C */ _t1 = cpu->r[3] + 0x00000250u;
|
|
/* 02787E2C */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02787E30 */ return;
|
|
}
|
|
|
|
// fn_02787090 @ 0x2787090
|
|
void Gambit_fn_02787090(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02787090: ; // 0x2787090
|
|
/* 02787090 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 02787090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02787094 */ goto L_02787E34;
|
|
L_02787E34: ; // 0x2787e34
|
|
/* 02787E34 */ _t1 = cpu->r[3] + 0x00000224u;
|
|
/* 02787E34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02787E38 */ /* nop */
|
|
/* 02787E3C */ cpu->r[0] = cpu->r[0] ^ 0x00000006u;
|
|
/* 02787E40 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02787E44 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02787E48 */ return;
|
|
}
|
|
|
|
// fn_02787098 @ 0x2787098
|
|
void Gambit_fn_02787098(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02787098: ; // 0x2787098
|
|
/* 02787098 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 02787098 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278709C */ goto L_02787E4C;
|
|
L_02787E4C: ; // 0x2787e4c
|
|
/* 02787E4C */ _t1 = cpu->r[3] + 0x00000224u;
|
|
/* 02787E4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02787E50 */ /* nop */
|
|
/* 02787E54 */ cpu->r[0] = cpu->r[0] ^ 0x00000007u;
|
|
/* 02787E58 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02787E5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02787E60 */ return;
|
|
}
|
|
|
|
// fn_027870A0 @ 0x27870a0
|
|
void Gambit_fn_027870A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027870A0: ; // 0x27870a0
|
|
/* 027870A0 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 027870A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027870A4 */ goto L_02787E64;
|
|
L_02787E64: ; // 0x2787e64
|
|
/* 02787E64 */ _t1 = cpu->r[3] + 0x00000224u;
|
|
/* 02787E64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02787E68 */ /* nop */
|
|
/* 02787E6C */ cpu->r[0] = cpu->r[0] ^ 0x00000008u;
|
|
/* 02787E70 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02787E74 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02787E78 */ return;
|
|
}
|
|
|
|
// fn_027870A8 @ 0x27870a8
|
|
void Gambit_fn_027870A8(CPUState* cpu) {
|
|
L_027870A8: ; // 0x27870a8
|
|
/* 027870A8 */ return;
|
|
}
|
|
|
|
// fn_027870AC @ 0x27870ac
|
|
void Gambit_fn_027870AC(CPUState* cpu) {
|
|
L_027870AC: ; // 0x27870ac
|
|
/* 027870AC */ return;
|
|
}
|
|
|
|
// fn_027870B0 @ 0x27870b0
|
|
void Gambit_fn_027870B0(CPUState* cpu) {
|
|
L_027870B0: ; // 0x27870b0
|
|
/* 027870B0 */ return;
|
|
}
|
|
|
|
// fn_027870B4 @ 0x27870b4
|
|
void Gambit_fn_027870B4(CPUState* cpu) {
|
|
L_027870B4: ; // 0x27870b4
|
|
/* 027870B4 */ return;
|
|
}
|
|
|
|
// fn_027870B8 @ 0x27870b8
|
|
void Gambit_fn_027870B8(CPUState* cpu) {
|
|
L_027870B8: ; // 0x27870b8
|
|
/* 027870B8 */ return;
|
|
}
|
|
|
|
// fn_027870BC @ 0x27870bc
|
|
void Gambit_fn_027870BC(CPUState* cpu) {
|
|
L_027870BC: ; // 0x27870bc
|
|
/* 027870BC */ cpu->r[3] = 0x00000001u;
|
|
/* 027870C0 */ return;
|
|
}
|
|
|
|
// fn_027870C4 @ 0x27870c4
|
|
void Gambit_fn_027870C4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027870C4: ; // 0x27870c4
|
|
/* 027870C4 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 027870C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 027870C8 */ return;
|
|
}
|
|
|
|
// fn_027870CC @ 0x27870cc
|
|
void Gambit_fn_027870CC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027870CC: ; // 0x27870cc
|
|
/* 027870CC */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 027870CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027870D0 */ return;
|
|
}
|
|
|
|
// fn_027870D4 @ 0x27870d4
|
|
void Gambit_fn_027870D4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027870D4: ; // 0x27870d4
|
|
/* 027870D4 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 027870D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 027870D8 */ return;
|
|
}
|
|
|
|
// fn_027870DC @ 0x27870dc
|
|
void Gambit_fn_027870DC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027870DC: ; // 0x27870dc
|
|
/* 027870DC */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 027870DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027870E0 */ return;
|
|
}
|
|
|
|
// fn_027870E4 @ 0x27870e4
|
|
void Gambit_fn_027870E4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027870E4: ; // 0x27870e4
|
|
/* 027870E4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027870E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027870E8 */ return;
|
|
}
|
|
|
|
// fn_027870EC @ 0x27870ec
|
|
void Gambit_fn_027870EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027870EC: ; // 0x27870ec
|
|
/* 027870EC */ cpu->r[0] = cpu->lr;
|
|
/* 027870F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027870F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027870F0 */ cpu->r[1] = _t0;
|
|
/* 027870F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027870F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027870F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027870F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027870FC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 027870FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02787100 */ cpu->r[31] = cpu->r[3];
|
|
/* 02787104 */ /* nop */
|
|
/* 02787108 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278710C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787110 */ Gambit_fn_02787128(cpu);
|
|
/* 02787114 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02787114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787118 */ cpu->lr = cpu->r[0];
|
|
/* 0278711C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278711C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02787120 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02787124 */ return;
|
|
}
|
|
|
|
// fn_027870F0 @ 0x27870f0
|
|
void Gambit_fn_027870F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027870F0: ; // 0x27870f0
|
|
/* 027870F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027870F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027870F0 */ cpu->r[1] = _t0;
|
|
/* 027870F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027870F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027870F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027870F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027870FC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 027870FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02787100 */ cpu->r[31] = cpu->r[3];
|
|
/* 02787104 */ /* nop */
|
|
/* 02787108 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278710C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787110 */ Gambit_fn_02787128(cpu);
|
|
/* 02787114 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02787114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787118 */ cpu->lr = cpu->r[0];
|
|
/* 0278711C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278711C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02787120 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02787124 */ return;
|
|
}
|
|
|
|
// fn_02787128 @ 0x2787128
|
|
void Gambit_fn_02787128(CPUState* 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_02787128: ; // 0x2787128
|
|
/* 02787128 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02787128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278712C */ /* nop */
|
|
/* 02787130 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02787130 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02787134 */ cpu->r[8] = cpu->r[0];
|
|
/* 02787138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0278713C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0278713C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02787140 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787140 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02787140 */ if (_t4) goto L_02787144; else goto L_0278715C;
|
|
L_02787144: ; // 0x2787144
|
|
/* 02787144 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02787148 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0278714C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0278714C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 02787150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02787154 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787154 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02787154 */ if (_t7) goto L_02787158; else goto L_02787168;
|
|
L_02787158: ; // 0x2787158
|
|
/* 02787158 */ return;
|
|
L_0278715C: ; // 0x278715c
|
|
/* 0278715C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0278715C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 02787160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02787164 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787164 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02787164 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02787164 */ goto L_02787168;
|
|
L_02787168: ; // 0x2787168
|
|
/* 02787168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0278716C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0278716C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787170 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787170 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02787170 */ if (_t13) goto L_02787174; else goto L_0278717C;
|
|
L_02787174: ; // 0x2787174
|
|
/* 02787174 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02787178 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0278717C: ; // 0x278717c
|
|
/* 0278717C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0278717C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02787180 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02787180 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02787184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787188 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02787188 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278718C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02787190 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787190 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02787190 */ if (_t18) goto L_027871A8; else goto L_02787194;
|
|
L_02787194: ; // 0x2787194
|
|
/* 02787194 */ /* nop */
|
|
/* 02787198 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02787198 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278719C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027871A0 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 027871A4 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 027871A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_027871A8: ; // 0x27871a8
|
|
/* 027871A8 */ cpu->ctr = cpu->r[11];
|
|
/* 027871AC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027871B0 @ 0x27871b0
|
|
void Gambit_fn_027871B0(CPUState* 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_027871B0: ; // 0x27871b0
|
|
/* 027871B0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027871B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027871B4 */ /* nop */
|
|
/* 027871B8 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 027871B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027871BC */ cpu->r[8] = cpu->r[0];
|
|
/* 027871C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 027871C4 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 027871C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027871C8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027871C8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027871C8 */ if (_t4) goto L_027871CC; else goto L_027871E4;
|
|
L_027871CC: ; // 0x27871cc
|
|
/* 027871CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027871D0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 027871D4 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 027871D4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 027871D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027871DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027871DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 027871DC */ if (_t7) goto L_027871E0; else goto L_027871F0;
|
|
L_027871E0: ; // 0x27871e0
|
|
/* 027871E0 */ return;
|
|
L_027871E4: ; // 0x27871e4
|
|
/* 027871E4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 027871E4 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 027871E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027871EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027871EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 027871EC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027871EC */ goto L_027871F0;
|
|
L_027871F0: ; // 0x27871f0
|
|
/* 027871F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 027871F4 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027871F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027871F8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027871F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027871F8 */ if (_t13) goto L_027871FC; else goto L_02787204;
|
|
L_027871FC: ; // 0x27871fc
|
|
/* 027871FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02787200 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02787204: ; // 0x2787204
|
|
/* 02787204 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02787204 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02787208 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02787208 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0278720C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787210 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02787210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02787214 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 02787218 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787218 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02787218 */ if (_t18) goto L_02787230; else goto L_0278721C;
|
|
L_0278721C: ; // 0x278721c
|
|
/* 0278721C */ /* nop */
|
|
/* 02787220 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02787220 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02787224 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02787228 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0278722C */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0278722C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02787230: ; // 0x2787230
|
|
/* 02787230 */ cpu->ctr = cpu->r[11];
|
|
/* 02787234 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02787238 @ 0x2787238
|
|
void Gambit_fn_02787238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02787238: ; // 0x2787238
|
|
/* 02787238 */ cpu->r[0] = cpu->lr;
|
|
/* 0278723C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278723C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278723C */ cpu->r[1] = _t0;
|
|
/* 02787240 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787240 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02787244 */ cpu->r[31] = cpu->r[3];
|
|
/* 02787248 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787248 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278724C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278724C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02787250 */ cpu->r[12] = 0x00000000u;
|
|
/* 02787254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787258 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02787258 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0278725C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278725C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278725C */ if (_t6) goto L_02787284; else goto L_02787260;
|
|
L_02787260: ; // 0x2787260
|
|
/* 02787260 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02787260 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02787264 */ /* nop */
|
|
/* 02787268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0278726C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278726C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278726C */ if (_t9) goto L_02787270; else goto L_02787284;
|
|
L_02787270: ; // 0x2787270
|
|
/* 02787270 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02787270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787274 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02787274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787278 */ cpu->ctr = cpu->r[0];
|
|
/* 0278727C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787280 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02787284: ; // 0x2787284
|
|
/* 02787284 */ cpu->r[3] = cpu->r[31];
|
|
/* 02787288 */ Gambit_fn_027871B0(cpu);
|
|
/* 0278728C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787290 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02787294 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02787294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02787298 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278729C */ cpu->lr = cpu->r[0];
|
|
/* 027872A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027872A4 */ return;
|
|
}
|
|
|
|
// fn_0278723C @ 0x278723c
|
|
void Gambit_fn_0278723C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0278723C: ; // 0x278723c
|
|
/* 0278723C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278723C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278723C */ cpu->r[1] = _t0;
|
|
/* 02787240 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787240 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02787244 */ cpu->r[31] = cpu->r[3];
|
|
/* 02787248 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787248 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278724C */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278724C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02787250 */ cpu->r[12] = 0x00000000u;
|
|
/* 02787254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787258 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02787258 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0278725C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278725C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278725C */ if (_t6) goto L_02787284; else goto L_02787260;
|
|
L_02787260: ; // 0x2787260
|
|
/* 02787260 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02787260 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02787264 */ /* nop */
|
|
/* 02787268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0278726C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278726C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278726C */ if (_t9) goto L_02787270; else goto L_02787284;
|
|
L_02787270: ; // 0x2787270
|
|
/* 02787270 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02787270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787274 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02787274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787278 */ cpu->ctr = cpu->r[0];
|
|
/* 0278727C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787280 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02787284: ; // 0x2787284
|
|
/* 02787284 */ cpu->r[3] = cpu->r[31];
|
|
/* 02787288 */ Gambit_fn_027871B0(cpu);
|
|
/* 0278728C */ cpu->r[3] = cpu->r[31];
|
|
/* 02787290 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02787294 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02787294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02787298 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278729C */ cpu->lr = cpu->r[0];
|
|
/* 027872A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027872A4 */ return;
|
|
}
|
|
|
|
// fn_027872A8 @ 0x27872a8
|
|
void Gambit_fn_027872A8(CPUState* 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_027872A8: ; // 0x27872a8
|
|
/* 027872A8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027872A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027872AC */ /* nop */
|
|
/* 027872B0 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 027872B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027872B4 */ cpu->r[7] = cpu->r[0];
|
|
/* 027872B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 027872BC */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 027872BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027872C0 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027872C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027872C0 */ if (_t4) goto L_027872C4; else goto L_027872DC;
|
|
L_027872C4: ; // 0x27872c4
|
|
/* 027872C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027872C8 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 027872CC */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 027872CC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 027872D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027872D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027872D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027872D4 */ if (_t7) goto L_027872D8; else goto L_027872E8;
|
|
L_027872D8: ; // 0x27872d8
|
|
/* 027872D8 */ return;
|
|
L_027872DC: ; // 0x27872dc
|
|
/* 027872DC */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 027872DC */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 027872E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027872E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027872E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027872E4 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027872E4 */ goto L_027872E8;
|
|
L_027872E8: ; // 0x27872e8
|
|
/* 027872E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 027872EC */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027872EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027872F0 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027872F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027872F0 */ if (_t13) goto L_027872F4; else goto L_027872FC;
|
|
L_027872F4: ; // 0x27872f4
|
|
/* 027872F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027872F8 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_027872FC: ; // 0x27872fc
|
|
/* 027872FC */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 027872FC */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 02787300 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02787300 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 02787304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02787308 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 02787308 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278730C */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 02787310 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787310 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02787310 */ if (_t18) goto L_02787328; else goto L_02787314;
|
|
L_02787314: ; // 0x2787314
|
|
/* 02787314 */ /* nop */
|
|
/* 02787318 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 02787318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278731C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02787320 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02787324 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 02787324 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_02787328: ; // 0x2787328
|
|
/* 02787328 */ cpu->ctr = cpu->r[11];
|
|
/* 0278732C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02787330 @ 0x2787330
|
|
void Gambit_fn_02787330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02787330: ; // 0x2787330
|
|
/* 02787330 */ cpu->r[0] = cpu->lr;
|
|
/* 02787334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02787334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787334 */ cpu->r[1] = _t0;
|
|
/* 02787338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02787338 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278733C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278733C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02787340 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02787344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02787348 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02787348 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278734C */ /* nop */
|
|
/* 02787350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02787354 */ cpu->r[31] = cpu->r[4];
|
|
/* 02787358 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787358 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02787358 */ if (_t6) goto L_0278735C; else goto L_02787370;
|
|
L_0278735C: ; // 0x278735c
|
|
/* 0278735C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0278735C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787360 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02787360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02787364 */ cpu->ctr = cpu->r[0];
|
|
/* 02787368 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278736C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02787370: ; // 0x2787370
|
|
/* 02787370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787374 */ cpu->r[4] = cpu->r[31];
|
|
/* 02787378 */ Gambit_fn_027872A8(cpu);
|
|
/* 0278737C */ cpu->r[3] = cpu->r[30];
|
|
/* 02787380 */ /* nop */
|
|
/* 02787384 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02787388 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278738C */ Gambit_fn_02787128(cpu);
|
|
/* 02787390 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02787390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787394 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02787394 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787398 */ cpu->lr = cpu->r[0];
|
|
/* 0278739C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278739C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027873A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027873A4 */ return;
|
|
}
|
|
|
|
// fn_02787334 @ 0x2787334
|
|
void Gambit_fn_02787334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02787334: ; // 0x2787334
|
|
/* 02787334 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02787334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787334 */ cpu->r[1] = _t0;
|
|
/* 02787338 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02787338 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278733C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278733C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02787340 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787344 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02787344 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02787348 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02787348 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278734C */ /* nop */
|
|
/* 02787350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 02787354 */ cpu->r[31] = cpu->r[4];
|
|
/* 02787358 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787358 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02787358 */ if (_t6) goto L_0278735C; else goto L_02787370;
|
|
L_0278735C: ; // 0x278735c
|
|
/* 0278735C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0278735C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787360 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02787360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02787364 */ cpu->ctr = cpu->r[0];
|
|
/* 02787368 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278736C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02787370: ; // 0x2787370
|
|
/* 02787370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787374 */ cpu->r[4] = cpu->r[31];
|
|
/* 02787378 */ Gambit_fn_027872A8(cpu);
|
|
/* 0278737C */ cpu->r[3] = cpu->r[30];
|
|
/* 02787380 */ /* nop */
|
|
/* 02787384 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02787388 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278738C */ Gambit_fn_02787128(cpu);
|
|
/* 02787390 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02787390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787394 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02787394 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787398 */ cpu->lr = cpu->r[0];
|
|
/* 0278739C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278739C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027873A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027873A4 */ return;
|
|
}
|
|
|
|
// fn_027873A8 @ 0x27873a8
|
|
void Gambit_fn_027873A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027873A8: ; // 0x27873a8
|
|
/* 027873A8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 027873AC */ goto L_027884D8;
|
|
L_027884D8: ; // 0x27884d8
|
|
/* 027884D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027884DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027884DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027884DC */ cpu->r[1] = _t0;
|
|
/* 027884E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027884E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027884E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027884E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027884E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027884E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027884EC */ cpu->r[31] = cpu->r[4];
|
|
/* 027884F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027884F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027884F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027884F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027884F4 */ if (_t5) goto L_02788564; else goto L_027884F8;
|
|
L_027884F8: ; // 0x27884f8
|
|
/* 027884F8 */ cpu->r[0] = 0x10100000u;
|
|
/* 027884FC */ cpu->r[12] = 0x10100000u;
|
|
/* 02788500 */ cpu->r[0] = cpu->r[0] + 0x00005A80u;
|
|
/* 02788504 */ cpu->r[12] = cpu->r[12] + 0x00005AA0u;
|
|
/* 02788508 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278850C */ cpu->r[11] = 0x10100000u;
|
|
/* 02788510 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02788510 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02788514 */ cpu->r[11] = cpu->r[11] + 0x00005A90u;
|
|
/* 02788518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278851C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278851C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02788520 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788520 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02788520 */ if (_t10) goto L_02788554; else goto L_02788524;
|
|
L_02788524: ; // 0x2788524
|
|
/* 02788524 */ cpu->r[10] = 0x10010000u;
|
|
/* 02788528 */ cpu->r[0] = 0x10010000u;
|
|
/* 0278852C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02788530 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02788534 */ cpu->r[3] = cpu->r[30];
|
|
/* 02788538 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788538 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0278853C */ cpu->r[0] = 0x10010000u;
|
|
/* 02788540 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02788540 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02788544 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02788548 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278854C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0278854C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02788550 */ Gambit_fn_02068798(cpu);
|
|
L_02788554: ; // 0x2788554
|
|
/* 02788554 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02788554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788558 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788558 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02788558 */ if (_t15) goto L_02788564; else goto L_0278855C;
|
|
L_0278855C: ; // 0x278855c
|
|
/* 0278855C */ cpu->r[3] = cpu->r[30];
|
|
/* 02788560 */ Gambit_fn_02801BB0(cpu);
|
|
L_02788564: ; // 0x2788564
|
|
/* 02788564 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02788564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02788568 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02788568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278856C */ cpu->lr = cpu->r[0];
|
|
/* 02788570 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02788574 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788578 */ return;
|
|
}
|
|
|
|
// fn_027873B0 @ 0x27873b0
|
|
void Gambit_fn_027873B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02068818: ; // 0x2068818
|
|
/* 02068818 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0206881C */ _t0 = cpu->r[12] + 0x00001D34u;
|
|
/* 0206881C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02068820 */ _t1 = cpu->r[12] + 0x0000018Cu;
|
|
/* 02068820 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02068824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02068828 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02068828 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02068828 */ if (_t3) goto L_0206883C; else goto L_0206882C;
|
|
L_0206882C: ; // 0x206882c
|
|
/* 0206882C */ cpu->r[0] = cpu->r[5] ^ 0x00000001u;
|
|
/* 02068830 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02068834 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068838 */ return;
|
|
L_0206883C: ; // 0x206883c
|
|
/* 0206883C */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02068840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02068844 */ return;
|
|
L_027873B0: ; // 0x27873b0
|
|
/* 027873B0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 027873B4 */ goto L_02068818;
|
|
}
|
|
|
|
// fn_027873B8 @ 0x27873b8
|
|
void Gambit_fn_027873B8(CPUState* cpu) {
|
|
L_027873B8: ; // 0x27873b8
|
|
/* 027873B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 027873BC */ goto L_0278857C;
|
|
L_0278857C: ; // 0x278857c
|
|
/* 0278857C */ return;
|
|
}
|
|
|
|
// fn_027873C0 @ 0x27873c0
|
|
void Gambit_fn_027873C0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027873C0: ; // 0x27873c0
|
|
/* 027873C0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFE38u;
|
|
/* 027873C4 */ goto L_02788580;
|
|
L_02788580: ; // 0x2788580
|
|
/* 02788580 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02788580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02788584 */ return;
|
|
}
|
|
|
|
// fn_027873C8 @ 0x27873c8
|
|
void Gambit_fn_027873C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320;
|
|
|
|
L_027873C8: ; // 0x27873c8
|
|
/* 027873C8 */ cpu->r[0] = cpu->lr;
|
|
/* 027873CC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027873CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027873CC */ cpu->r[1] = _t0;
|
|
/* 027873D0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027873D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027873D4 */ /* nop */
|
|
/* 027873D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027873D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027873DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027873DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027873DC */ if (_t3) goto L_027873E0; else goto L_027873F0;
|
|
L_027873E0: ; // 0x27873e0
|
|
/* 027873E0 */ cpu->r[3] = 0x0000025Cu;
|
|
/* 027873E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027873E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027873E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027873EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027873EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027873EC */ if (_t5) goto L_02787D8C; else goto L_027873F0;
|
|
L_027873F0: ; // 0x27873f0
|
|
/* 027873F0 */ cpu->r[4] = 0x10100000u;
|
|
/* 027873F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027873F8 */ cpu->r[5] = 0x00000002u;
|
|
/* 027873FC */ cpu->r[4] = cpu->r[4] + 0x00005738u;
|
|
/* 02787400 */ Gambit_fn_020B5C38(cpu);
|
|
/* 02787404 */ cpu->r[4] = 0x10100000u;
|
|
/* 02787408 */ cpu->r[5] = 0x10100000u;
|
|
/* 0278740C */ cpu->r[4] = cpu->r[4] + 0x000058B0u;
|
|
/* 02787410 */ cpu->r[5] = cpu->r[5] + 0x00005A80u;
|
|
/* 02787414 */ cpu->r[0] = 0x10100000u;
|
|
/* 02787418 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 02787418 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 0278741C */ cpu->r[7] = 0x10100000u;
|
|
/* 02787420 */ cpu->r[0] = cpu->r[0] + 0x00005A90u;
|
|
/* 02787424 */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02787424 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02787428 */ cpu->r[7] = cpu->r[7] + 0x00005AA0u;
|
|
/* 0278742C */ cpu->r[27] = cpu->r[29] + 0x00000218u;
|
|
/* 0278742C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02787430 */ _t8 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02787430 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02787434 */ cpu->r[28] = 0x00000000u;
|
|
/* 02787438 */ cpu->r[31] = cpu->r[27];
|
|
/* 0278743C */ _t9 = cpu->r[29] + 0x000001C8u;
|
|
/* 0278743C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02787440 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787440 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02787440 */ if (_t11) goto L_02787444; else goto L_02787454;
|
|
L_02787444: ; // 0x2787444
|
|
/* 02787444 */ cpu->r[3] = 0x00000038u;
|
|
/* 02787448 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278744C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278744C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02787450 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787450 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02787450 */ if (_t13) goto L_02787484; else goto L_02787454;
|
|
L_02787454: ; // 0x2787454
|
|
/* 02787454 */ cpu->r[3] = cpu->r[31];
|
|
/* 02787458 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0278745C */ cpu->r[8] = 0x10100000u;
|
|
/* 02787460 */ _t14 = cpu->r[31] + 0x00000030u;
|
|
/* 02787460 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02787464 */ cpu->r[8] = cpu->r[8] + 0x00005548u;
|
|
/* 02787468 */ _t15 = cpu->r[31] + 0x00000034u;
|
|
/* 02787468 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0278746C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0278746C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02787470 */ _t17 = cpu->r[31] + 0x00000024u;
|
|
/* 02787470 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02787474 */ _t18 = cpu->r[31] + 0x00000028u;
|
|
/* 02787474 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02787478 */ _t19 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02787478 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0278747C */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278747C */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02787480 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02787480 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
L_02787484: ; // 0x2787484
|
|
/* 02787484 */ cpu->r[0] = 0x00000009u;
|
|
/* 02787488 */ _t22 = cpu->r[29] + 0x00000250u;
|
|
/* 02787488 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 0278748C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787490 */ cpu->r[4] = cpu->r[29];
|
|
/* 02787494 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787498 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0278749C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0278749C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 027874A0 */ Gambit_fn_02788724(cpu);
|
|
/* 027874A4 */ cpu->r[25] = 0x10100000u;
|
|
/* 027874A8 */ cpu->r[24] = 0x02790000u;
|
|
/* 027874AC */ cpu->r[25] = cpu->r[25] + 0x00005678u;
|
|
/* 027874B0 */ cpu->r[9] = 0x10100000u;
|
|
/* 027874B4 */ cpu->r[24] = cpu->r[24] + 0xFFFF8590u;
|
|
/* 027874B8 */ cpu->r[9] = cpu->r[9] + 0x00005708u;
|
|
/* 027874BC */ cpu->ctr = cpu->r[24];
|
|
/* 027874C0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874C0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 027874C4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027874C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
/* 027874C8 */ _t26 = cpu->r[27] + 0x00000018u;
|
|
/* 027874C8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027874CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874D0 */ _t27 = cpu->r[23] + 0x00000000u;
|
|
/* 027874D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027874D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027874D8 */ cpu->r[26] = 0x10110000u;
|
|
/* 027874DC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027874E0 */ _t29 = cpu->r[26] + 0x00007399u;
|
|
/* 027874E0 */ cpu->r[26] = rbrew_read8(cpu->mem, _t29);
|
|
/* 027874E4 */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 027874E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 027874E8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027874EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027874F0 */ cpu->r[7] = 0x00080000u;
|
|
/* 027874F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027874F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027874F4 */ if (_t32) goto L_0278751C; else goto L_027874F8;
|
|
L_027874F8: ; // 0x27874f8
|
|
/* 027874F8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027874FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02787500 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02787504 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787504 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02787504 */ if (_t34) goto L_02787518; else goto L_02787508;
|
|
L_02787508: ; // 0x2787508
|
|
/* 02787508 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 02787508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0278750C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787510 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787510 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02787510 */ if (_t37) goto L_02787514; else goto L_027874F8;
|
|
L_02787514: ; // 0x2787514
|
|
/* 02787514 */ goto L_0278751C;
|
|
L_02787518: ; // 0x2787518
|
|
/* 02787518 */ cpu->r[31] = 0x00000000u;
|
|
L_0278751C: ; // 0x278751c
|
|
/* 0278751C */ _t38 = cpu->r[23] + 0x00000008u;
|
|
/* 0278751C */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02787520 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02787520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02787524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02787528 */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02787528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278752C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278752C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278752C */ if (_t42) goto L_02787534; else goto L_02787530;
|
|
L_02787530: ; // 0x2787530
|
|
/* 02787530 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02787534: ; // 0x2787534
|
|
/* 02787534 */ cpu->ctr = cpu->r[4];
|
|
/* 02787538 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278753C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787540 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02787544 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787548 */ cpu->r[5] = cpu->r[31];
|
|
/* 0278754C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787550 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787554 */ _t44 = cpu->r[30] + cpu->r[31];
|
|
/* 02787554 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[26]);
|
|
/* 02787558 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278755C */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 0278755C */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
/* 02787560 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787564 */ _t46 = cpu->r[1] + 0x00000026u;
|
|
/* 02787564 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[28]);
|
|
/* 02787568 */ _t47 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787568 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
|
|
/* 0278756C */ cpu->r[7] = 0x02790000u;
|
|
/* 02787570 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02787570 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[28]);
|
|
/* 02787574 */ cpu->r[7] = cpu->r[7] + 0xFFFF804Cu;
|
|
/* 02787578 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02787578 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[4]);
|
|
/* 0278757C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787580 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 02787580 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02787584 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787588 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787588 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[28]);
|
|
/* 0278758C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787590 */ _t52 = cpu->r[1] + 0x00000016u;
|
|
/* 02787590 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 02787594 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787598 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02787598 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[28]);
|
|
/* 0278759C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027875A0 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 027875A0 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 027875A4 */ Gambit_fn_027889D4(cpu);
|
|
/* 027875A8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027875AC */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 027875AC */ rbrew_write32(cpu->mem, _t55, cpu->r[25]);
|
|
/* 027875B0 */ cpu->r[4] = cpu->r[4] + 0x00005744u;
|
|
/* 027875B4 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875B4 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 027875B8 */ _t57 = cpu->r[27] + 0x00000014u;
|
|
/* 027875B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027875BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 027875C0 */ _t58 = cpu->r[27] + 0x00000018u;
|
|
/* 027875C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027875C4 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027875C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027875C4 */ if (_t60) goto L_027875C8; else goto L_027875CC;
|
|
L_027875C8: ; // 0x27875c8
|
|
/* 027875C8 */ cpu->r[30] = cpu->r[30] + 0x00000024u;
|
|
L_027875CC: ; // 0x27875cc
|
|
/* 027875CC */ cpu->ctr = cpu->r[24];
|
|
/* 027875D0 */ _t61 = cpu->r[30] + 0x00000000u;
|
|
/* 027875D0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027875D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027875DC */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027875E0 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 027875E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027875E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027875E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 027875EC */ cpu->r[12] = 0x00080000u;
|
|
/* 027875F0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027875F0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027875F0 */ if (_t65) goto L_02787618; else goto L_027875F4;
|
|
L_027875F4: ; // 0x27875f4
|
|
/* 027875F4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027875F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 027875FC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02787600 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787600 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02787600 */ if (_t67) goto L_02787614; else goto L_02787604;
|
|
L_02787604: ; // 0x2787604
|
|
/* 02787604 */ _t68 = cpu->r[11] + 0x00000000u;
|
|
/* 02787604 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02787608 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 0278760C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278760C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278760C */ if (_t70) goto L_02787610; else goto L_027875F4;
|
|
L_02787610: ; // 0x2787610
|
|
/* 02787610 */ goto L_02787618;
|
|
L_02787614: ; // 0x2787614
|
|
/* 02787614 */ cpu->r[31] = 0x00000000u;
|
|
L_02787618: ; // 0x2787618
|
|
/* 02787618 */ _t71 = cpu->r[30] + 0x00000008u;
|
|
/* 02787618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278761C */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 0278761C */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02787620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02787624 */ _t73 = cpu->r[11] + 0x00000014u;
|
|
/* 02787624 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02787628 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787628 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02787628 */ if (_t75) goto L_02787630; else goto L_0278762C;
|
|
L_0278762C: ; // 0x278762c
|
|
/* 0278762C */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02787630: ; // 0x2787630
|
|
/* 02787630 */ cpu->ctr = cpu->r[4];
|
|
/* 02787634 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278763C */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278763C */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02787640 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787644 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787648 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278764C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787650 */ cpu->r[6] = 0x02790000u;
|
|
/* 02787654 */ _t77 = cpu->r[23] + cpu->r[31];
|
|
/* 02787654 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[26]);
|
|
/* 02787658 */ cpu->r[6] = cpu->r[6] + 0xFFFF80F0u;
|
|
/* 0278765C */ _t78 = cpu->r[1] + 0x00000024u;
|
|
/* 0278765C */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[28]);
|
|
/* 02787660 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787664 */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 02787664 */ rbrew_write32(cpu->mem, _t79, cpu->r[28]);
|
|
/* 02787668 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278766C */ _t80 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0278766C */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[28]);
|
|
/* 02787670 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787674 */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787674 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[28]);
|
|
/* 02787678 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278767C */ _t82 = cpu->r[1] + 0x00000020u;
|
|
/* 0278767C */ rbrew_write32(cpu->mem, _t82, cpu->r[28]);
|
|
/* 02787680 */ _t83 = cpu->r[1] + 0x00000016u;
|
|
/* 02787680 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[0]);
|
|
/* 02787684 */ cpu->r[0] = 0x00000001u;
|
|
/* 02787688 */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 02787688 */ rbrew_write32(cpu->mem, _t84, cpu->r[6]);
|
|
/* 0278768C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787690 */ _t85 = cpu->r[1] + 0x00000008u;
|
|
/* 02787690 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[0]);
|
|
/* 02787694 */ _t86 = cpu->r[1] + 0x00000026u;
|
|
/* 02787694 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[28]);
|
|
/* 02787698 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0278769C */ _t87 = cpu->r[1] + 0x00000014u;
|
|
/* 0278769C */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[28]);
|
|
/* 027876A0 */ Gambit_fn_027889D4(cpu);
|
|
/* 027876A4 */ cpu->r[9] = 0x10100000u;
|
|
/* 027876A8 */ _t88 = cpu->r[1] + 0x00000010u;
|
|
/* 027876A8 */ rbrew_write32(cpu->mem, _t88, cpu->r[25]);
|
|
/* 027876AC */ cpu->r[9] = cpu->r[9] + 0x0000575Cu;
|
|
/* 027876B0 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876B0 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 027876B4 */ _t90 = cpu->r[27] + 0x00000014u;
|
|
/* 027876B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027876B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 027876BC */ _t91 = cpu->r[27] + 0x00000018u;
|
|
/* 027876BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027876C0 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027876C0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 027876C0 */ if (_t93) goto L_027876C4; else goto L_027876C8;
|
|
L_027876C4: ; // 0x27876c4
|
|
/* 027876C4 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_027876C8: ; // 0x27876c8
|
|
/* 027876C8 */ cpu->ctr = cpu->r[24];
|
|
/* 027876CC */ _t94 = cpu->r[30] + 0x00000000u;
|
|
/* 027876CC */ cpu->r[23] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027876D0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027876D8 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027876DC */ _t96 = cpu->r[7] + 0x00000000u;
|
|
/* 027876DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 027876E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 027876E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027876E8 */ cpu->r[8] = 0x00080000u;
|
|
/* 027876EC */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027876EC */ _t98 = _t97 & 0x00000001u;
|
|
/* 027876EC */ if (_t98) goto L_02787714; else goto L_027876F0;
|
|
L_027876F0: ; // 0x27876f0
|
|
/* 027876F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027876F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 027876F8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027876FC */ _t99 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027876FC */ _t100 = _t99 & 0x00000001u;
|
|
/* 027876FC */ if (_t100) goto L_02787710; else goto L_02787700;
|
|
L_02787700: ; // 0x2787700
|
|
/* 02787700 */ _t101 = cpu->r[7] + 0x00000000u;
|
|
/* 02787700 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02787704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787708 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787708 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02787708 */ if (_t103) goto L_0278770C; else goto L_027876F0;
|
|
L_0278770C: ; // 0x278770c
|
|
/* 0278770C */ goto L_02787714;
|
|
L_02787710: ; // 0x2787710
|
|
/* 02787710 */ cpu->r[31] = 0x00000000u;
|
|
L_02787714: ; // 0x2787714
|
|
/* 02787714 */ _t104 = cpu->r[30] + 0x00000008u;
|
|
/* 02787714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02787718 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02787718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0278771C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02787720 */ _t106 = cpu->r[6] + 0x00000014u;
|
|
/* 02787720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02787724 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787724 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02787724 */ if (_t108) goto L_0278772C; else goto L_02787728;
|
|
L_02787728: ; // 0x2787728
|
|
/* 02787728 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0278772C: ; // 0x278772c
|
|
/* 0278772C */ cpu->ctr = cpu->r[8];
|
|
/* 02787730 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787738 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787738 */ cpu->r[4] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0278773C */ cpu->r[3] = cpu->r[23];
|
|
/* 02787740 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787744 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787748 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278774C */ _t110 = cpu->r[23] + cpu->r[31];
|
|
/* 0278774C */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[26]);
|
|
/* 02787750 */ cpu->r[12] = 0x00000002u;
|
|
/* 02787754 */ _t111 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787754 */ rbrew_write16(cpu->mem, _t111, (uint16_t)cpu->r[28]);
|
|
/* 02787758 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278775C */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 0278775C */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[28]);
|
|
/* 02787760 */ cpu->r[9] = 0x02790000u;
|
|
/* 02787764 */ _t113 = cpu->r[1] + 0x00000016u;
|
|
/* 02787764 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[0]);
|
|
/* 02787768 */ cpu->r[9] = cpu->r[9] + 0xFFFF81CCu;
|
|
/* 0278776C */ _t114 = cpu->r[1] + 0x00000020u;
|
|
/* 0278776C */ rbrew_write32(cpu->mem, _t114, cpu->r[28]);
|
|
/* 02787770 */ _t115 = cpu->r[1] + 0x00000014u;
|
|
/* 02787770 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 02787774 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787778 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 02787778 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[12]);
|
|
/* 0278777C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787780 */ _t117 = cpu->r[1] + 0x00000028u;
|
|
/* 02787780 */ rbrew_write32(cpu->mem, _t117, cpu->r[28]);
|
|
/* 02787784 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787788 */ _t118 = cpu->r[1] + 0x00000026u;
|
|
/* 02787788 */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[28]);
|
|
/* 0278778C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787790 */ _t119 = cpu->r[1] + 0x00000018u;
|
|
/* 02787790 */ rbrew_write32(cpu->mem, _t119, cpu->r[9]);
|
|
/* 02787794 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787798 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787798 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 0278779C */ Gambit_fn_027889D4(cpu);
|
|
/* 027877A0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027877A4 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 027877A4 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
|
|
/* 027877A8 */ cpu->r[0] = cpu->r[0] + 0x00005720u;
|
|
/* 027877AC */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877AC */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
/* 027877B0 */ _t123 = cpu->r[27] + 0x00000014u;
|
|
/* 027877B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027877B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 027877B8 */ _t124 = cpu->r[27] + 0x00000018u;
|
|
/* 027877B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027877BC */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027877BC */ _t126 = _t125 & 0x00000001u;
|
|
/* 027877BC */ if (_t126) goto L_027877C0; else goto L_027877C4;
|
|
L_027877C0: ; // 0x27877c0
|
|
/* 027877C0 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu;
|
|
L_027877C4: ; // 0x27877c4
|
|
/* 027877C4 */ cpu->ctr = cpu->r[24];
|
|
/* 027877C8 */ _t127 = cpu->r[30] + 0x00000000u;
|
|
/* 027877C8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t127);
|
|
/* 027877CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027877D4 */ _t128 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027877D8 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 027877D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t129);
|
|
/* 027877DC */ cpu->r[31] = 0x00000000u;
|
|
/* 027877E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 027877E4 */ cpu->r[5] = 0x00080000u;
|
|
/* 027877E8 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027877E8 */ _t131 = _t130 & 0x00000001u;
|
|
/* 027877E8 */ if (_t131) goto L_02787810; else goto L_027877EC;
|
|
L_027877EC: ; // 0x27877ec
|
|
/* 027877EC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027877F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 027877F4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027877F8 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027877F8 */ _t133 = _t132 & 0x00000001u;
|
|
/* 027877F8 */ if (_t133) goto L_0278780C; else goto L_027877FC;
|
|
L_027877FC: ; // 0x27877fc
|
|
/* 027877FC */ _t134 = cpu->r[12] + 0x00000000u;
|
|
/* 027877FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 02787800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787804 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787804 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02787804 */ if (_t136) goto L_02787808; else goto L_027877EC;
|
|
L_02787808: ; // 0x2787808
|
|
/* 02787808 */ goto L_02787810;
|
|
L_0278780C: ; // 0x278780c
|
|
/* 0278780C */ cpu->r[31] = 0x00000000u;
|
|
L_02787810: ; // 0x2787810
|
|
/* 02787810 */ _t137 = cpu->r[30] + 0x00000008u;
|
|
/* 02787810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02787814 */ _t138 = cpu->r[1] + 0x00000010u;
|
|
/* 02787814 */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02787818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0278781C */ _t139 = cpu->r[4] + 0x00000014u;
|
|
/* 0278781C */ cpu->r[6] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02787820 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787820 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02787820 */ if (_t141) goto L_02787828; else goto L_02787824;
|
|
L_02787824: ; // 0x2787824
|
|
/* 02787824 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02787828: ; // 0x2787828
|
|
/* 02787828 */ cpu->ctr = cpu->r[6];
|
|
/* 0278782C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787834 */ _t142 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787834 */ cpu->r[4] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02787838 */ cpu->r[3] = cpu->r[23];
|
|
/* 0278783C */ cpu->r[5] = cpu->r[31];
|
|
/* 02787840 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787844 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787848 */ _t143 = cpu->r[23] + cpu->r[31];
|
|
/* 02787848 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[26]);
|
|
/* 0278784C */ cpu->r[10] = 0x00000003u;
|
|
/* 02787850 */ _t144 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787850 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[28]);
|
|
/* 02787854 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02787858 */ _t145 = cpu->r[1] + 0x00000024u;
|
|
/* 02787858 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[28]);
|
|
/* 0278785C */ cpu->r[0] = 0x02790000u;
|
|
/* 02787860 */ _t146 = cpu->r[1] + 0x00000016u;
|
|
/* 02787860 */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[11]);
|
|
/* 02787864 */ cpu->r[0] = cpu->r[0] + 0xFFFF8250u;
|
|
/* 02787868 */ _t147 = cpu->r[1] + 0x00000020u;
|
|
/* 02787868 */ rbrew_write32(cpu->mem, _t147, cpu->r[28]);
|
|
/* 0278786C */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 0278786C */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[28]);
|
|
/* 02787870 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787874 */ _t149 = cpu->r[1] + 0x00000008u;
|
|
/* 02787874 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[10]);
|
|
/* 02787878 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278787C */ _t150 = cpu->r[1] + 0x00000028u;
|
|
/* 0278787C */ rbrew_write32(cpu->mem, _t150, cpu->r[28]);
|
|
/* 02787880 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787884 */ _t151 = cpu->r[1] + 0x00000026u;
|
|
/* 02787884 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 02787888 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278788C */ _t152 = cpu->r[1] + 0x00000018u;
|
|
/* 0278788C */ rbrew_write32(cpu->mem, _t152, cpu->r[0]);
|
|
/* 02787890 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787894 */ _t153 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787894 */ rbrew_write16(cpu->mem, _t153, (uint16_t)cpu->r[28]);
|
|
/* 02787898 */ Gambit_fn_027889D4(cpu);
|
|
/* 0278789C */ cpu->r[10] = 0x10100000u;
|
|
/* 027878A0 */ _t154 = cpu->r[1] + 0x00000010u;
|
|
/* 027878A0 */ rbrew_write32(cpu->mem, _t154, cpu->r[25]);
|
|
/* 027878A4 */ cpu->r[10] = cpu->r[10] + 0x00005778u;
|
|
/* 027878A8 */ _t155 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878A8 */ rbrew_write32(cpu->mem, _t155, cpu->r[10]);
|
|
/* 027878AC */ _t156 = cpu->r[27] + 0x00000014u;
|
|
/* 027878AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027878B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u);
|
|
/* 027878B4 */ _t157 = cpu->r[27] + 0x00000018u;
|
|
/* 027878B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027878B8 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027878B8 */ _t159 = _t158 & 0x00000001u;
|
|
/* 027878B8 */ if (_t159) goto L_027878BC; else goto L_027878C0;
|
|
L_027878BC: ; // 0x27878bc
|
|
/* 027878BC */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_027878C0: ; // 0x27878c0
|
|
/* 027878C0 */ cpu->ctr = cpu->r[24];
|
|
/* 027878C4 */ _t160 = cpu->r[30] + 0x00000000u;
|
|
/* 027878C4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027878C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027878D0 */ _t161 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 027878D4 */ _t162 = cpu->r[7] + 0x00000000u;
|
|
/* 027878D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t162);
|
|
/* 027878D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027878DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 027878E0 */ cpu->r[9] = 0x00080000u;
|
|
/* 027878E4 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027878E4 */ _t164 = _t163 & 0x00000001u;
|
|
/* 027878E4 */ if (_t164) goto L_0278790C; else goto L_027878E8;
|
|
L_027878E8: ; // 0x27878e8
|
|
/* 027878E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027878EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 027878F0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027878F4 */ _t165 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027878F4 */ _t166 = _t165 & 0x00000001u;
|
|
/* 027878F4 */ if (_t166) goto L_02787908; else goto L_027878F8;
|
|
L_027878F8: ; // 0x27878f8
|
|
/* 027878F8 */ _t167 = cpu->r[7] + 0x00000000u;
|
|
/* 027878F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t167);
|
|
/* 027878FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787900 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787900 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02787900 */ if (_t169) goto L_02787904; else goto L_027878E8;
|
|
L_02787904: ; // 0x2787904
|
|
/* 02787904 */ goto L_0278790C;
|
|
L_02787908: ; // 0x2787908
|
|
/* 02787908 */ cpu->r[31] = 0x00000000u;
|
|
L_0278790C: ; // 0x278790c
|
|
/* 0278790C */ _t170 = cpu->r[30] + 0x00000008u;
|
|
/* 0278790C */ cpu->r[10] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02787910 */ _t171 = cpu->r[1] + 0x00000010u;
|
|
/* 02787910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02787914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02787918 */ _t172 = cpu->r[4] + 0x00000014u;
|
|
/* 02787918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0278791C */ _t173 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278791C */ _t174 = _t173 & 0x00000001u;
|
|
/* 0278791C */ if (_t174) goto L_02787924; else goto L_02787920;
|
|
L_02787920: ; // 0x2787920
|
|
/* 02787920 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02787924: ; // 0x2787924
|
|
/* 02787924 */ cpu->ctr = cpu->r[5];
|
|
/* 02787928 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278792C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787930 */ _t175 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02787934 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787938 */ cpu->r[5] = cpu->r[31];
|
|
/* 0278793C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787940 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787944 */ _t176 = cpu->r[23] + cpu->r[31];
|
|
/* 02787944 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[26]);
|
|
/* 02787948 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0278794C */ _t177 = cpu->r[1] + 0x00000026u;
|
|
/* 0278794C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[28]);
|
|
/* 02787950 */ cpu->r[6] = 0x02790000u;
|
|
/* 02787954 */ _t178 = cpu->r[1] + 0x00000014u;
|
|
/* 02787954 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[28]);
|
|
/* 02787958 */ cpu->r[6] = cpu->r[6] + 0xFFFF83A8u;
|
|
/* 0278795C */ _t179 = cpu->r[1] + 0x00000016u;
|
|
/* 0278795C */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[9]);
|
|
/* 02787960 */ cpu->r[8] = 0x00000004u;
|
|
/* 02787964 */ _t180 = cpu->r[1] + 0x00000024u;
|
|
/* 02787964 */ rbrew_write16(cpu->mem, _t180, (uint16_t)cpu->r[28]);
|
|
/* 02787968 */ _t181 = cpu->r[1] + 0x00000018u;
|
|
/* 02787968 */ rbrew_write32(cpu->mem, _t181, cpu->r[6]);
|
|
/* 0278796C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787970 */ _t182 = cpu->r[1] + 0x00000028u;
|
|
/* 02787970 */ rbrew_write32(cpu->mem, _t182, cpu->r[28]);
|
|
/* 02787974 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787978 */ _t183 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787978 */ rbrew_write16(cpu->mem, _t183, (uint16_t)cpu->r[28]);
|
|
/* 0278797C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787980 */ _t184 = cpu->r[1] + 0x00000020u;
|
|
/* 02787980 */ rbrew_write32(cpu->mem, _t184, cpu->r[28]);
|
|
/* 02787984 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787988 */ _t185 = cpu->r[1] + 0x00000008u;
|
|
/* 02787988 */ rbrew_write8(cpu->mem, _t185, (uint8_t)cpu->r[8]);
|
|
/* 0278798C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787990 */ _t186 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787990 */ rbrew_write16(cpu->mem, _t186, (uint16_t)cpu->r[28]);
|
|
/* 02787994 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787998 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278799C */ _t187 = cpu->r[1] + 0x00000010u;
|
|
/* 0278799C */ rbrew_write32(cpu->mem, _t187, cpu->r[25]);
|
|
/* 027879A0 */ cpu->r[7] = cpu->r[7] + 0x00005794u;
|
|
/* 027879A4 */ _t188 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879A4 */ rbrew_write32(cpu->mem, _t188, cpu->r[7]);
|
|
/* 027879A8 */ _t189 = cpu->r[27] + 0x00000014u;
|
|
/* 027879A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027879AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000005u);
|
|
/* 027879B0 */ _t190 = cpu->r[27] + 0x00000018u;
|
|
/* 027879B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t190);
|
|
/* 027879B4 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027879B4 */ _t192 = _t191 & 0x00000001u;
|
|
/* 027879B4 */ if (_t192) goto L_027879B8; else goto L_027879BC;
|
|
L_027879B8: ; // 0x27879b8
|
|
/* 027879B8 */ cpu->r[30] = cpu->r[30] + 0x000000B4u;
|
|
L_027879BC: ; // 0x27879bc
|
|
/* 027879BC */ cpu->ctr = cpu->r[24];
|
|
/* 027879C0 */ _t193 = cpu->r[30] + 0x00000000u;
|
|
/* 027879C0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027879C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027879CC */ _t194 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t194);
|
|
/* 027879D0 */ _t195 = cpu->r[12] + 0x00000000u;
|
|
/* 027879D0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t195);
|
|
/* 027879D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027879D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 027879DC */ cpu->r[5] = 0x00080000u;
|
|
/* 027879E0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027879E0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 027879E0 */ if (_t197) goto L_02787A08; else goto L_027879E4;
|
|
L_027879E4: ; // 0x27879e4
|
|
/* 027879E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027879E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 027879EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027879F0 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027879F0 */ _t199 = _t198 & 0x00000001u;
|
|
/* 027879F0 */ if (_t199) goto L_02787A04; else goto L_027879F4;
|
|
L_027879F4: ; // 0x27879f4
|
|
/* 027879F4 */ _t200 = cpu->r[12] + 0x00000000u;
|
|
/* 027879F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t200);
|
|
/* 027879F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027879FC */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027879FC */ _t202 = _t201 & 0x00000001u;
|
|
/* 027879FC */ if (_t202) goto L_02787A00; else goto L_027879E4;
|
|
L_02787A00: ; // 0x2787a00
|
|
/* 02787A00 */ goto L_02787A08;
|
|
L_02787A04: ; // 0x2787a04
|
|
/* 02787A04 */ cpu->r[31] = 0x00000000u;
|
|
L_02787A08: ; // 0x2787a08
|
|
/* 02787A08 */ _t203 = cpu->r[30] + 0x00000008u;
|
|
/* 02787A08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02787A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02787A10 */ _t204 = cpu->r[1] + 0x00000010u;
|
|
/* 02787A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02787A14 */ _t205 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787A14 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02787A14 */ if (_t206) goto L_02787A1C; else goto L_02787A18;
|
|
L_02787A18: ; // 0x2787a18
|
|
/* 02787A18 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02787A1C: ; // 0x2787a1c
|
|
/* 02787A1C */ _t207 = cpu->r[11] + 0x00000014u;
|
|
/* 02787A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02787A20 */ cpu->ctr = cpu->r[12];
|
|
/* 02787A24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787A28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787A2C */ _t208 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787A2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02787A30 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787A34 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787A38 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787A3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787A40 */ _t209 = cpu->r[23] + cpu->r[31];
|
|
/* 02787A40 */ rbrew_write8(cpu->mem, _t209, (uint8_t)cpu->r[26]);
|
|
/* 02787A44 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02787A48 */ _t210 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787A48 */ rbrew_write16(cpu->mem, _t210, (uint16_t)cpu->r[28]);
|
|
/* 02787A4C */ cpu->r[5] = 0x00000005u;
|
|
/* 02787A50 */ _t211 = cpu->r[1] + 0x00000016u;
|
|
/* 02787A50 */ rbrew_write16(cpu->mem, _t211, (uint16_t)cpu->r[7]);
|
|
/* 02787A54 */ cpu->r[0] = 0x02790000u;
|
|
/* 02787A58 */ _t212 = cpu->r[1] + 0x00000024u;
|
|
/* 02787A58 */ rbrew_write16(cpu->mem, _t212, (uint16_t)cpu->r[28]);
|
|
/* 02787A5C */ _t213 = cpu->r[1] + 0x00000008u;
|
|
/* 02787A5C */ rbrew_write8(cpu->mem, _t213, (uint8_t)cpu->r[5]);
|
|
/* 02787A60 */ cpu->r[0] = cpu->r[0] + 0xFFFF841Cu;
|
|
/* 02787A64 */ _t214 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787A64 */ rbrew_write16(cpu->mem, _t214, (uint16_t)cpu->r[28]);
|
|
/* 02787A68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787A6C */ _t215 = cpu->r[1] + 0x00000020u;
|
|
/* 02787A6C */ rbrew_write32(cpu->mem, _t215, cpu->r[28]);
|
|
/* 02787A70 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787A74 */ _t216 = cpu->r[1] + 0x00000026u;
|
|
/* 02787A74 */ rbrew_write16(cpu->mem, _t216, (uint16_t)cpu->r[28]);
|
|
/* 02787A78 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787A7C */ _t217 = cpu->r[1] + 0x00000018u;
|
|
/* 02787A7C */ rbrew_write32(cpu->mem, _t217, cpu->r[0]);
|
|
/* 02787A80 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787A84 */ _t218 = cpu->r[1] + 0x00000028u;
|
|
/* 02787A84 */ rbrew_write32(cpu->mem, _t218, cpu->r[28]);
|
|
/* 02787A88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787A8C */ _t219 = cpu->r[1] + 0x00000014u;
|
|
/* 02787A8C */ rbrew_write16(cpu->mem, _t219, (uint16_t)cpu->r[28]);
|
|
/* 02787A90 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787A94 */ cpu->r[4] = 0x10100000u;
|
|
/* 02787A98 */ _t220 = cpu->r[1] + 0x00000010u;
|
|
/* 02787A98 */ rbrew_write32(cpu->mem, _t220, cpu->r[25]);
|
|
/* 02787A9C */ cpu->r[4] = cpu->r[4] + 0x000057ACu;
|
|
/* 02787AA0 */ _t221 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AA0 */ rbrew_write32(cpu->mem, _t221, cpu->r[4]);
|
|
/* 02787AA4 */ _t222 = cpu->r[27] + 0x00000014u;
|
|
/* 02787AA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02787AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000006u);
|
|
/* 02787AAC */ _t223 = cpu->r[27] + 0x00000018u;
|
|
/* 02787AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02787AB0 */ _t224 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787AB0 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02787AB0 */ if (_t225) goto L_02787AB4; else goto L_02787AB8;
|
|
L_02787AB4: ; // 0x2787ab4
|
|
/* 02787AB4 */ cpu->r[30] = cpu->r[30] + 0x000000D8u;
|
|
L_02787AB8: ; // 0x2787ab8
|
|
/* 02787AB8 */ cpu->ctr = cpu->r[24];
|
|
/* 02787ABC */ _t226 = cpu->r[30] + 0x00000000u;
|
|
/* 02787ABC */ cpu->r[23] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02787AC0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787AC8 */ _t227 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02787ACC */ _t228 = cpu->r[10] + 0x00000000u;
|
|
/* 02787ACC */ cpu->r[6] = rbrew_read8(cpu->mem, _t228);
|
|
/* 02787AD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02787AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02787AD8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02787ADC */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787ADC */ _t230 = _t229 & 0x00000001u;
|
|
/* 02787ADC */ if (_t230) goto L_02787B04; else goto L_02787AE0;
|
|
L_02787AE0: ; // 0x2787ae0
|
|
/* 02787AE0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02787AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02787AE8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02787AEC */ _t231 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787AEC */ _t232 = _t231 & 0x00000001u;
|
|
/* 02787AEC */ if (_t232) goto L_02787B00; else goto L_02787AF0;
|
|
L_02787AF0: ; // 0x2787af0
|
|
/* 02787AF0 */ _t233 = cpu->r[10] + 0x00000000u;
|
|
/* 02787AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t233);
|
|
/* 02787AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02787AF8 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787AF8 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02787AF8 */ if (_t235) goto L_02787AFC; else goto L_02787AE0;
|
|
L_02787AFC: ; // 0x2787afc
|
|
/* 02787AFC */ goto L_02787B04;
|
|
L_02787B00: ; // 0x2787b00
|
|
/* 02787B00 */ cpu->r[31] = 0x00000000u;
|
|
L_02787B04: ; // 0x2787b04
|
|
/* 02787B04 */ _t236 = cpu->r[30] + 0x00000008u;
|
|
/* 02787B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02787B08 */ _t237 = cpu->r[1] + 0x00000010u;
|
|
/* 02787B08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02787B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02787B10 */ _t238 = cpu->r[8] + 0x00000014u;
|
|
/* 02787B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02787B14 */ _t239 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787B14 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02787B14 */ if (_t240) goto L_02787B1C; else goto L_02787B18;
|
|
L_02787B18: ; // 0x2787b18
|
|
/* 02787B18 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02787B1C: ; // 0x2787b1c
|
|
/* 02787B1C */ cpu->ctr = cpu->r[9];
|
|
/* 02787B20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787B28 */ _t241 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02787B2C */ cpu->r[3] = cpu->r[23];
|
|
/* 02787B30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787B34 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787B38 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787B3C */ _t242 = cpu->r[23] + cpu->r[31];
|
|
/* 02787B3C */ rbrew_write8(cpu->mem, _t242, (uint8_t)cpu->r[26]);
|
|
/* 02787B40 */ cpu->r[12] = 0x00000006u;
|
|
/* 02787B44 */ _t243 = cpu->r[1] + 0x00000026u;
|
|
/* 02787B44 */ rbrew_write16(cpu->mem, _t243, (uint16_t)cpu->r[28]);
|
|
/* 02787B48 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02787B4C */ _t244 = cpu->r[1] + 0x00000008u;
|
|
/* 02787B4C */ rbrew_write8(cpu->mem, _t244, (uint8_t)cpu->r[12]);
|
|
/* 02787B50 */ cpu->r[0] = 0x02790000u;
|
|
/* 02787B54 */ _t245 = cpu->r[1] + 0x00000024u;
|
|
/* 02787B54 */ rbrew_write16(cpu->mem, _t245, (uint16_t)cpu->r[28]);
|
|
/* 02787B58 */ cpu->r[0] = cpu->r[0] + 0xFFFF8718u;
|
|
/* 02787B5C */ _t246 = cpu->r[1] + 0x00000014u;
|
|
/* 02787B5C */ rbrew_write16(cpu->mem, _t246, (uint16_t)cpu->r[28]);
|
|
/* 02787B60 */ _t247 = cpu->r[1] + 0x00000016u;
|
|
/* 02787B60 */ rbrew_write16(cpu->mem, _t247, (uint16_t)cpu->r[4]);
|
|
/* 02787B64 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787B68 */ _t248 = cpu->r[1] + 0x00000018u;
|
|
/* 02787B68 */ rbrew_write32(cpu->mem, _t248, cpu->r[0]);
|
|
/* 02787B6C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787B70 */ _t249 = cpu->r[1] + 0x00000020u;
|
|
/* 02787B70 */ rbrew_write32(cpu->mem, _t249, cpu->r[28]);
|
|
/* 02787B74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787B78 */ _t250 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787B78 */ rbrew_write16(cpu->mem, _t250, (uint16_t)cpu->r[28]);
|
|
/* 02787B7C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787B80 */ _t251 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787B80 */ rbrew_write16(cpu->mem, _t251, (uint16_t)cpu->r[28]);
|
|
/* 02787B84 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787B88 */ _t252 = cpu->r[1] + 0x00000028u;
|
|
/* 02787B88 */ rbrew_write32(cpu->mem, _t252, cpu->r[28]);
|
|
/* 02787B8C */ Gambit_fn_027889D4(cpu);
|
|
/* 02787B90 */ cpu->r[11] = 0x10100000u;
|
|
/* 02787B94 */ _t253 = cpu->r[1] + 0x00000010u;
|
|
/* 02787B94 */ rbrew_write32(cpu->mem, _t253, cpu->r[25]);
|
|
/* 02787B98 */ cpu->r[11] = cpu->r[11] + 0x000057C4u;
|
|
/* 02787B9C */ _t254 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B9C */ rbrew_write32(cpu->mem, _t254, cpu->r[11]);
|
|
/* 02787BA0 */ _t255 = cpu->r[27] + 0x00000014u;
|
|
/* 02787BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02787BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000007u);
|
|
/* 02787BA8 */ _t256 = cpu->r[27] + 0x00000018u;
|
|
/* 02787BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02787BAC */ _t257 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787BAC */ _t258 = _t257 & 0x00000001u;
|
|
/* 02787BAC */ if (_t258) goto L_02787BB0; else goto L_02787BB4;
|
|
L_02787BB0: ; // 0x2787bb0
|
|
/* 02787BB0 */ cpu->r[31] = cpu->r[31] + 0x000000FCu;
|
|
L_02787BB4: ; // 0x2787bb4
|
|
/* 02787BB4 */ cpu->ctr = cpu->r[24];
|
|
/* 02787BB8 */ _t259 = cpu->r[31] + 0x00000000u;
|
|
/* 02787BB8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02787BBC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787BC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787BC4 */ _t260 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787BC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02787BC8 */ _t261 = cpu->r[8] + 0x00000000u;
|
|
/* 02787BC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t261);
|
|
/* 02787BCC */ cpu->r[30] = 0x00000000u;
|
|
/* 02787BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787BD4 */ cpu->r[9] = 0x00080000u;
|
|
/* 02787BD8 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787BD8 */ _t263 = _t262 & 0x00000001u;
|
|
/* 02787BD8 */ if (_t263) goto L_02787C00; else goto L_02787BDC;
|
|
L_02787BDC: ; // 0x2787bdc
|
|
/* 02787BDC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02787BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02787BE4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02787BE8 */ _t264 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787BE8 */ _t265 = _t264 & 0x00000001u;
|
|
/* 02787BE8 */ if (_t265) goto L_02787BFC; else goto L_02787BEC;
|
|
L_02787BEC: ; // 0x2787bec
|
|
/* 02787BEC */ _t266 = cpu->r[8] + 0x00000000u;
|
|
/* 02787BEC */ cpu->r[4] = rbrew_read8(cpu->mem, _t266);
|
|
/* 02787BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
|
|
/* 02787BF4 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787BF4 */ _t268 = _t267 & 0x00000001u;
|
|
/* 02787BF4 */ if (_t268) goto L_02787BF8; else goto L_02787BDC;
|
|
L_02787BF8: ; // 0x2787bf8
|
|
/* 02787BF8 */ goto L_02787C00;
|
|
L_02787BFC: ; // 0x2787bfc
|
|
/* 02787BFC */ cpu->r[30] = 0x00000000u;
|
|
L_02787C00: ; // 0x2787c00
|
|
/* 02787C00 */ _t269 = cpu->r[31] + 0x00000008u;
|
|
/* 02787C00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02787C04 */ _t270 = cpu->r[1] + 0x00000010u;
|
|
/* 02787C04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02787C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02787C0C */ _t271 = cpu->r[5] + 0x00000014u;
|
|
/* 02787C0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02787C10 */ _t272 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787C10 */ _t273 = _t272 & 0x00000001u;
|
|
/* 02787C10 */ if (_t273) goto L_02787C18; else goto L_02787C14;
|
|
L_02787C14: ; // 0x2787c14
|
|
/* 02787C14 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02787C18: ; // 0x2787c18
|
|
/* 02787C18 */ cpu->ctr = cpu->r[6];
|
|
/* 02787C1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787C24 */ _t274 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02787C28 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787C2C */ cpu->r[5] = cpu->r[30];
|
|
/* 02787C30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787C34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787C38 */ _t275 = cpu->r[23] + cpu->r[30];
|
|
/* 02787C38 */ rbrew_write8(cpu->mem, _t275, (uint8_t)cpu->r[26]);
|
|
/* 02787C3C */ cpu->r[9] = 0x00000007u;
|
|
/* 02787C40 */ _t276 = cpu->r[1] + 0x00000014u;
|
|
/* 02787C40 */ rbrew_write16(cpu->mem, _t276, (uint16_t)cpu->r[28]);
|
|
/* 02787C44 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02787C48 */ _t277 = cpu->r[1] + 0x00000008u;
|
|
/* 02787C48 */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[9]);
|
|
/* 02787C4C */ cpu->r[7] = 0x02790000u;
|
|
/* 02787C50 */ _t278 = cpu->r[1] + 0x00000028u;
|
|
/* 02787C50 */ rbrew_write32(cpu->mem, _t278, cpu->r[28]);
|
|
/* 02787C54 */ cpu->r[7] = cpu->r[7] + 0xFFFF871Cu;
|
|
/* 02787C58 */ _t279 = cpu->r[1] + 0x00000024u;
|
|
/* 02787C58 */ rbrew_write16(cpu->mem, _t279, (uint16_t)cpu->r[28]);
|
|
/* 02787C5C */ _t280 = cpu->r[1] + 0x00000018u;
|
|
/* 02787C5C */ rbrew_write32(cpu->mem, _t280, cpu->r[7]);
|
|
/* 02787C60 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787C64 */ _t281 = cpu->r[1] + 0x00000026u;
|
|
/* 02787C64 */ rbrew_write16(cpu->mem, _t281, (uint16_t)cpu->r[28]);
|
|
/* 02787C68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787C6C */ _t282 = cpu->r[1] + 0x00000020u;
|
|
/* 02787C6C */ rbrew_write32(cpu->mem, _t282, cpu->r[28]);
|
|
/* 02787C70 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787C74 */ _t283 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787C74 */ rbrew_write16(cpu->mem, _t283, (uint16_t)cpu->r[28]);
|
|
/* 02787C78 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787C7C */ _t284 = cpu->r[1] + 0x00000016u;
|
|
/* 02787C7C */ rbrew_write16(cpu->mem, _t284, (uint16_t)cpu->r[11]);
|
|
/* 02787C80 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787C84 */ _t285 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787C84 */ rbrew_write16(cpu->mem, _t285, (uint16_t)cpu->r[28]);
|
|
/* 02787C88 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787C8C */ cpu->r[8] = 0x10100000u;
|
|
/* 02787C90 */ _t286 = cpu->r[1] + 0x00000010u;
|
|
/* 02787C90 */ rbrew_write32(cpu->mem, _t286, cpu->r[25]);
|
|
/* 02787C94 */ cpu->r[8] = cpu->r[8] + 0x000057E0u;
|
|
/* 02787C98 */ _t287 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C98 */ rbrew_write32(cpu->mem, _t287, cpu->r[8]);
|
|
/* 02787C9C */ _t288 = cpu->r[27] + 0x00000014u;
|
|
/* 02787C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02787CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000008u);
|
|
/* 02787CA4 */ _t289 = cpu->r[27] + 0x00000018u;
|
|
/* 02787CA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02787CA8 */ _t290 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787CA8 */ _t291 = _t290 & 0x00000001u;
|
|
/* 02787CA8 */ if (_t291) goto L_02787CAC; else goto L_02787CB0;
|
|
L_02787CAC: ; // 0x2787cac
|
|
/* 02787CAC */ cpu->r[30] = cpu->r[30] + 0x00000120u;
|
|
L_02787CB0: ; // 0x2787cb0
|
|
/* 02787CB0 */ cpu->ctr = cpu->r[24];
|
|
/* 02787CB4 */ _t292 = cpu->r[30] + 0x00000000u;
|
|
/* 02787CB4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02787CB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787CC0 */ _t293 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787CC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02787CC4 */ _t294 = cpu->r[5] + 0x00000000u;
|
|
/* 02787CC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t294);
|
|
/* 02787CC8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02787CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02787CD0 */ cpu->r[6] = 0x00080000u;
|
|
/* 02787CD4 */ _t295 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787CD4 */ _t296 = _t295 & 0x00000001u;
|
|
/* 02787CD4 */ if (_t296) goto L_02787CFC; else goto L_02787CD8;
|
|
L_02787CD8: ; // 0x2787cd8
|
|
/* 02787CD8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02787CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02787CE0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02787CE4 */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787CE4 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02787CE4 */ if (_t298) goto L_02787CF8; else goto L_02787CE8;
|
|
L_02787CE8: ; // 0x2787ce8
|
|
/* 02787CE8 */ _t299 = cpu->r[5] + 0x00000000u;
|
|
/* 02787CE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t299);
|
|
/* 02787CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787CF0 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787CF0 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02787CF0 */ if (_t301) goto L_02787CF4; else goto L_02787CD8;
|
|
L_02787CF4: ; // 0x2787cf4
|
|
/* 02787CF4 */ goto L_02787CFC;
|
|
L_02787CF8: ; // 0x2787cf8
|
|
/* 02787CF8 */ cpu->r[31] = 0x00000000u;
|
|
L_02787CFC: ; // 0x2787cfc
|
|
/* 02787CFC */ _t302 = cpu->r[30] + 0x00000008u;
|
|
/* 02787CFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02787D00 */ _t303 = cpu->r[1] + 0x00000010u;
|
|
/* 02787D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02787D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02787D08 */ _t304 = cpu->r[12] + 0x00000014u;
|
|
/* 02787D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t304);
|
|
/* 02787D0C */ _t305 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787D0C */ _t306 = _t305 & 0x00000001u;
|
|
/* 02787D0C */ if (_t306) goto L_02787D14; else goto L_02787D10;
|
|
L_02787D10: ; // 0x2787d10
|
|
/* 02787D10 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02787D14: ; // 0x2787d14
|
|
/* 02787D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02787D18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787D20 */ _t307 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02787D24 */ cpu->r[3] = cpu->r[25];
|
|
/* 02787D28 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787D2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787D30 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787D34 */ _t308 = cpu->r[25] + cpu->r[31];
|
|
/* 02787D34 */ rbrew_write8(cpu->mem, _t308, (uint8_t)cpu->r[26]);
|
|
/* 02787D38 */ cpu->r[7] = 0x00000008u;
|
|
/* 02787D3C */ _t309 = cpu->r[1] + 0x00000020u;
|
|
/* 02787D3C */ rbrew_write32(cpu->mem, _t309, cpu->r[28]);
|
|
/* 02787D40 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02787D44 */ _t310 = cpu->r[1] + 0x00000014u;
|
|
/* 02787D44 */ rbrew_write16(cpu->mem, _t310, (uint16_t)cpu->r[28]);
|
|
/* 02787D48 */ cpu->r[4] = 0x02790000u;
|
|
/* 02787D4C */ _t311 = cpu->r[1] + 0x00000016u;
|
|
/* 02787D4C */ rbrew_write16(cpu->mem, _t311, (uint16_t)cpu->r[0]);
|
|
/* 02787D50 */ cpu->r[4] = cpu->r[4] + 0xFFFF8720u;
|
|
/* 02787D54 */ _t312 = cpu->r[1] + 0x00000008u;
|
|
/* 02787D54 */ rbrew_write8(cpu->mem, _t312, (uint8_t)cpu->r[7]);
|
|
/* 02787D58 */ _t313 = cpu->r[1] + 0x00000018u;
|
|
/* 02787D58 */ rbrew_write32(cpu->mem, _t313, cpu->r[4]);
|
|
/* 02787D5C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787D60 */ _t314 = cpu->r[1] + 0x00000024u;
|
|
/* 02787D60 */ rbrew_write16(cpu->mem, _t314, (uint16_t)cpu->r[28]);
|
|
/* 02787D64 */ _t315 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787D64 */ rbrew_write16(cpu->mem, _t315, (uint16_t)cpu->r[28]);
|
|
/* 02787D68 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787D6C */ _t316 = cpu->r[1] + 0x00000026u;
|
|
/* 02787D6C */ rbrew_write16(cpu->mem, _t316, (uint16_t)cpu->r[28]);
|
|
/* 02787D70 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787D74 */ _t317 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787D74 */ rbrew_write16(cpu->mem, _t317, (uint16_t)cpu->r[28]);
|
|
/* 02787D78 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787D7C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787D80 */ _t318 = cpu->r[1] + 0x00000028u;
|
|
/* 02787D80 */ rbrew_write32(cpu->mem, _t318, cpu->r[28]);
|
|
/* 02787D84 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787D88 */ _t319 = cpu->r[29] + 0x000001B8u;
|
|
/* 02787D88 */ rbrew_write32(cpu->mem, _t319, cpu->r[27]);
|
|
L_02787D8C: ; // 0x2787d8c
|
|
/* 02787D8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02787D90 */ /* nop */
|
|
/* 02787D94 */ _t320 = cpu->r[1] + 0x00000054u;
|
|
/* 02787D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02787D98 */ cpu->lr = cpu->r[0];
|
|
/* 02787D9C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02787DA0 */ return;
|
|
}
|
|
|
|
// fn_027873CC @ 0x27873cc
|
|
void Gambit_fn_027873CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320;
|
|
|
|
L_027873CC: ; // 0x27873cc
|
|
/* 027873CC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 027873CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027873CC */ cpu->r[1] = _t0;
|
|
/* 027873D0 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 027873D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027873D4 */ /* nop */
|
|
/* 027873D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027873D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027873DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027873DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 027873DC */ if (_t3) goto L_027873E0; else goto L_027873F0;
|
|
L_027873E0: ; // 0x27873e0
|
|
/* 027873E0 */ cpu->r[3] = 0x0000025Cu;
|
|
/* 027873E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027873E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 027873E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027873EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027873EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027873EC */ if (_t5) goto L_02787D8C; else goto L_027873F0;
|
|
L_027873F0: ; // 0x27873f0
|
|
/* 027873F0 */ cpu->r[4] = 0x10100000u;
|
|
/* 027873F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027873F8 */ cpu->r[5] = 0x00000002u;
|
|
/* 027873FC */ cpu->r[4] = cpu->r[4] + 0x00005738u;
|
|
/* 02787400 */ Gambit_fn_020B5C38(cpu);
|
|
/* 02787404 */ cpu->r[4] = 0x10100000u;
|
|
/* 02787408 */ cpu->r[5] = 0x10100000u;
|
|
/* 0278740C */ cpu->r[4] = cpu->r[4] + 0x000058B0u;
|
|
/* 02787410 */ cpu->r[5] = cpu->r[5] + 0x00005A80u;
|
|
/* 02787414 */ cpu->r[0] = 0x10100000u;
|
|
/* 02787418 */ _t6 = cpu->r[29] + 0x00000000u;
|
|
/* 02787418 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 0278741C */ cpu->r[7] = 0x10100000u;
|
|
/* 02787420 */ cpu->r[0] = cpu->r[0] + 0x00005A90u;
|
|
/* 02787424 */ _t7 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02787424 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02787428 */ cpu->r[7] = cpu->r[7] + 0x00005AA0u;
|
|
/* 0278742C */ cpu->r[27] = cpu->r[29] + 0x00000218u;
|
|
/* 0278742C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02787430 */ _t8 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02787430 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02787434 */ cpu->r[28] = 0x00000000u;
|
|
/* 02787438 */ cpu->r[31] = cpu->r[27];
|
|
/* 0278743C */ _t9 = cpu->r[29] + 0x000001C8u;
|
|
/* 0278743C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02787440 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787440 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02787440 */ if (_t11) goto L_02787444; else goto L_02787454;
|
|
L_02787444: ; // 0x2787444
|
|
/* 02787444 */ cpu->r[3] = 0x00000038u;
|
|
/* 02787448 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278744C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278744C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02787450 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787450 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02787450 */ if (_t13) goto L_02787484; else goto L_02787454;
|
|
L_02787454: ; // 0x2787454
|
|
/* 02787454 */ cpu->r[3] = cpu->r[31];
|
|
/* 02787458 */ Gambit_fn_027FC29C(cpu);
|
|
/* 0278745C */ cpu->r[8] = 0x10100000u;
|
|
/* 02787460 */ _t14 = cpu->r[31] + 0x00000030u;
|
|
/* 02787460 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02787464 */ cpu->r[8] = cpu->r[8] + 0x00005548u;
|
|
/* 02787468 */ _t15 = cpu->r[31] + 0x00000034u;
|
|
/* 02787468 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0278746C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0278746C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02787470 */ _t17 = cpu->r[31] + 0x00000024u;
|
|
/* 02787470 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02787474 */ _t18 = cpu->r[31] + 0x00000028u;
|
|
/* 02787474 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02787478 */ _t19 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02787478 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0278747C */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278747C */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02787480 */ _t21 = cpu->r[31] + 0x00000020u;
|
|
/* 02787480 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
L_02787484: ; // 0x2787484
|
|
/* 02787484 */ cpu->r[0] = 0x00000009u;
|
|
/* 02787488 */ _t22 = cpu->r[29] + 0x00000250u;
|
|
/* 02787488 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 0278748C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787490 */ cpu->r[4] = cpu->r[29];
|
|
/* 02787494 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787498 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0278749C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0278749C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 027874A0 */ Gambit_fn_02788724(cpu);
|
|
/* 027874A4 */ cpu->r[25] = 0x10100000u;
|
|
/* 027874A8 */ cpu->r[24] = 0x02790000u;
|
|
/* 027874AC */ cpu->r[25] = cpu->r[25] + 0x00005678u;
|
|
/* 027874B0 */ cpu->r[9] = 0x10100000u;
|
|
/* 027874B4 */ cpu->r[24] = cpu->r[24] + 0xFFFF8590u;
|
|
/* 027874B8 */ cpu->r[9] = cpu->r[9] + 0x00005708u;
|
|
/* 027874BC */ cpu->ctr = cpu->r[24];
|
|
/* 027874C0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874C0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 027874C4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027874C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
/* 027874C8 */ _t26 = cpu->r[27] + 0x00000018u;
|
|
/* 027874C8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027874CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874D0 */ _t27 = cpu->r[23] + 0x00000000u;
|
|
/* 027874D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027874D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027874D8 */ cpu->r[26] = 0x10110000u;
|
|
/* 027874DC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027874DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027874E0 */ _t29 = cpu->r[26] + 0x00007399u;
|
|
/* 027874E0 */ cpu->r[26] = rbrew_read8(cpu->mem, _t29);
|
|
/* 027874E4 */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 027874E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 027874E8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027874EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027874F0 */ cpu->r[7] = 0x00080000u;
|
|
/* 027874F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027874F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027874F4 */ if (_t32) goto L_0278751C; else goto L_027874F8;
|
|
L_027874F8: ; // 0x27874f8
|
|
/* 027874F8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027874FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02787500 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02787504 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787504 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02787504 */ if (_t34) goto L_02787518; else goto L_02787508;
|
|
L_02787508: ; // 0x2787508
|
|
/* 02787508 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 02787508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0278750C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787510 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787510 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02787510 */ if (_t37) goto L_02787514; else goto L_027874F8;
|
|
L_02787514: ; // 0x2787514
|
|
/* 02787514 */ goto L_0278751C;
|
|
L_02787518: ; // 0x2787518
|
|
/* 02787518 */ cpu->r[31] = 0x00000000u;
|
|
L_0278751C: ; // 0x278751c
|
|
/* 0278751C */ _t38 = cpu->r[23] + 0x00000008u;
|
|
/* 0278751C */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02787520 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02787520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02787524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02787528 */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 02787528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278752C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278752C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278752C */ if (_t42) goto L_02787534; else goto L_02787530;
|
|
L_02787530: ; // 0x2787530
|
|
/* 02787530 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02787534: ; // 0x2787534
|
|
/* 02787534 */ cpu->ctr = cpu->r[4];
|
|
/* 02787538 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278753C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787540 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02787544 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787548 */ cpu->r[5] = cpu->r[31];
|
|
/* 0278754C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787550 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787554 */ _t44 = cpu->r[30] + cpu->r[31];
|
|
/* 02787554 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[26]);
|
|
/* 02787558 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278755C */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 0278755C */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
/* 02787560 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787564 */ _t46 = cpu->r[1] + 0x00000026u;
|
|
/* 02787564 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[28]);
|
|
/* 02787568 */ _t47 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787568 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
|
|
/* 0278756C */ cpu->r[7] = 0x02790000u;
|
|
/* 02787570 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02787570 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[28]);
|
|
/* 02787574 */ cpu->r[7] = cpu->r[7] + 0xFFFF804Cu;
|
|
/* 02787578 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02787578 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[4]);
|
|
/* 0278757C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787580 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 02787580 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02787584 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787588 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787588 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[28]);
|
|
/* 0278758C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787590 */ _t52 = cpu->r[1] + 0x00000016u;
|
|
/* 02787590 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 02787594 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787598 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02787598 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[28]);
|
|
/* 0278759C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 027875A0 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 027875A0 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 027875A4 */ Gambit_fn_027889D4(cpu);
|
|
/* 027875A8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027875AC */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 027875AC */ rbrew_write32(cpu->mem, _t55, cpu->r[25]);
|
|
/* 027875B0 */ cpu->r[4] = cpu->r[4] + 0x00005744u;
|
|
/* 027875B4 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875B4 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 027875B8 */ _t57 = cpu->r[27] + 0x00000014u;
|
|
/* 027875B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027875BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 027875C0 */ _t58 = cpu->r[27] + 0x00000018u;
|
|
/* 027875C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027875C4 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027875C4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 027875C4 */ if (_t60) goto L_027875C8; else goto L_027875CC;
|
|
L_027875C8: ; // 0x27875c8
|
|
/* 027875C8 */ cpu->r[30] = cpu->r[30] + 0x00000024u;
|
|
L_027875CC: ; // 0x27875cc
|
|
/* 027875CC */ cpu->ctr = cpu->r[24];
|
|
/* 027875D0 */ _t61 = cpu->r[30] + 0x00000000u;
|
|
/* 027875D0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027875D4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027875DC */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027875DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027875E0 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 027875E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t63);
|
|
/* 027875E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027875E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[26]);
|
|
/* 027875EC */ cpu->r[12] = 0x00080000u;
|
|
/* 027875F0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027875F0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027875F0 */ if (_t65) goto L_02787618; else goto L_027875F4;
|
|
L_027875F4: ; // 0x27875f4
|
|
/* 027875F4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027875F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 027875FC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02787600 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787600 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02787600 */ if (_t67) goto L_02787614; else goto L_02787604;
|
|
L_02787604: ; // 0x2787604
|
|
/* 02787604 */ _t68 = cpu->r[11] + 0x00000000u;
|
|
/* 02787604 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02787608 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 0278760C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278760C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278760C */ if (_t70) goto L_02787610; else goto L_027875F4;
|
|
L_02787610: ; // 0x2787610
|
|
/* 02787610 */ goto L_02787618;
|
|
L_02787614: ; // 0x2787614
|
|
/* 02787614 */ cpu->r[31] = 0x00000000u;
|
|
L_02787618: ; // 0x2787618
|
|
/* 02787618 */ _t71 = cpu->r[30] + 0x00000008u;
|
|
/* 02787618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278761C */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 0278761C */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02787620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02787624 */ _t73 = cpu->r[11] + 0x00000014u;
|
|
/* 02787624 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02787628 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787628 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02787628 */ if (_t75) goto L_02787630; else goto L_0278762C;
|
|
L_0278762C: ; // 0x278762c
|
|
/* 0278762C */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02787630: ; // 0x2787630
|
|
/* 02787630 */ cpu->ctr = cpu->r[4];
|
|
/* 02787634 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787638 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278763C */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278763C */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02787640 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787644 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787648 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278764C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787650 */ cpu->r[6] = 0x02790000u;
|
|
/* 02787654 */ _t77 = cpu->r[23] + cpu->r[31];
|
|
/* 02787654 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[26]);
|
|
/* 02787658 */ cpu->r[6] = cpu->r[6] + 0xFFFF80F0u;
|
|
/* 0278765C */ _t78 = cpu->r[1] + 0x00000024u;
|
|
/* 0278765C */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[28]);
|
|
/* 02787660 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787664 */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 02787664 */ rbrew_write32(cpu->mem, _t79, cpu->r[28]);
|
|
/* 02787668 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278766C */ _t80 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0278766C */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[28]);
|
|
/* 02787670 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787674 */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787674 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[28]);
|
|
/* 02787678 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278767C */ _t82 = cpu->r[1] + 0x00000020u;
|
|
/* 0278767C */ rbrew_write32(cpu->mem, _t82, cpu->r[28]);
|
|
/* 02787680 */ _t83 = cpu->r[1] + 0x00000016u;
|
|
/* 02787680 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[0]);
|
|
/* 02787684 */ cpu->r[0] = 0x00000001u;
|
|
/* 02787688 */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 02787688 */ rbrew_write32(cpu->mem, _t84, cpu->r[6]);
|
|
/* 0278768C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787690 */ _t85 = cpu->r[1] + 0x00000008u;
|
|
/* 02787690 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[0]);
|
|
/* 02787694 */ _t86 = cpu->r[1] + 0x00000026u;
|
|
/* 02787694 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[28]);
|
|
/* 02787698 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0278769C */ _t87 = cpu->r[1] + 0x00000014u;
|
|
/* 0278769C */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[28]);
|
|
/* 027876A0 */ Gambit_fn_027889D4(cpu);
|
|
/* 027876A4 */ cpu->r[9] = 0x10100000u;
|
|
/* 027876A8 */ _t88 = cpu->r[1] + 0x00000010u;
|
|
/* 027876A8 */ rbrew_write32(cpu->mem, _t88, cpu->r[25]);
|
|
/* 027876AC */ cpu->r[9] = cpu->r[9] + 0x0000575Cu;
|
|
/* 027876B0 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876B0 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 027876B4 */ _t90 = cpu->r[27] + 0x00000014u;
|
|
/* 027876B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 027876B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 027876BC */ _t91 = cpu->r[27] + 0x00000018u;
|
|
/* 027876BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 027876C0 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027876C0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 027876C0 */ if (_t93) goto L_027876C4; else goto L_027876C8;
|
|
L_027876C4: ; // 0x27876c4
|
|
/* 027876C4 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_027876C8: ; // 0x27876c8
|
|
/* 027876C8 */ cpu->ctr = cpu->r[24];
|
|
/* 027876CC */ _t94 = cpu->r[30] + 0x00000000u;
|
|
/* 027876CC */ cpu->r[23] = rbrew_read32(cpu->mem, _t94);
|
|
/* 027876D0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027876D8 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027876D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 027876DC */ _t96 = cpu->r[7] + 0x00000000u;
|
|
/* 027876DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 027876E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 027876E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027876E8 */ cpu->r[8] = 0x00080000u;
|
|
/* 027876EC */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027876EC */ _t98 = _t97 & 0x00000001u;
|
|
/* 027876EC */ if (_t98) goto L_02787714; else goto L_027876F0;
|
|
L_027876F0: ; // 0x27876f0
|
|
/* 027876F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027876F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 027876F8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027876FC */ _t99 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027876FC */ _t100 = _t99 & 0x00000001u;
|
|
/* 027876FC */ if (_t100) goto L_02787710; else goto L_02787700;
|
|
L_02787700: ; // 0x2787700
|
|
/* 02787700 */ _t101 = cpu->r[7] + 0x00000000u;
|
|
/* 02787700 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02787704 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787708 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787708 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02787708 */ if (_t103) goto L_0278770C; else goto L_027876F0;
|
|
L_0278770C: ; // 0x278770c
|
|
/* 0278770C */ goto L_02787714;
|
|
L_02787710: ; // 0x2787710
|
|
/* 02787710 */ cpu->r[31] = 0x00000000u;
|
|
L_02787714: ; // 0x2787714
|
|
/* 02787714 */ _t104 = cpu->r[30] + 0x00000008u;
|
|
/* 02787714 */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02787718 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02787718 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0278771C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02787720 */ _t106 = cpu->r[6] + 0x00000014u;
|
|
/* 02787720 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02787724 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787724 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02787724 */ if (_t108) goto L_0278772C; else goto L_02787728;
|
|
L_02787728: ; // 0x2787728
|
|
/* 02787728 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0278772C: ; // 0x278772c
|
|
/* 0278772C */ cpu->ctr = cpu->r[8];
|
|
/* 02787730 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787734 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787738 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787738 */ cpu->r[4] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0278773C */ cpu->r[3] = cpu->r[23];
|
|
/* 02787740 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787744 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787748 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278774C */ _t110 = cpu->r[23] + cpu->r[31];
|
|
/* 0278774C */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[26]);
|
|
/* 02787750 */ cpu->r[12] = 0x00000002u;
|
|
/* 02787754 */ _t111 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787754 */ rbrew_write16(cpu->mem, _t111, (uint16_t)cpu->r[28]);
|
|
/* 02787758 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0278775C */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 0278775C */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[28]);
|
|
/* 02787760 */ cpu->r[9] = 0x02790000u;
|
|
/* 02787764 */ _t113 = cpu->r[1] + 0x00000016u;
|
|
/* 02787764 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[0]);
|
|
/* 02787768 */ cpu->r[9] = cpu->r[9] + 0xFFFF81CCu;
|
|
/* 0278776C */ _t114 = cpu->r[1] + 0x00000020u;
|
|
/* 0278776C */ rbrew_write32(cpu->mem, _t114, cpu->r[28]);
|
|
/* 02787770 */ _t115 = cpu->r[1] + 0x00000014u;
|
|
/* 02787770 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 02787774 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787778 */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 02787778 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[12]);
|
|
/* 0278777C */ cpu->r[3] = cpu->r[27];
|
|
/* 02787780 */ _t117 = cpu->r[1] + 0x00000028u;
|
|
/* 02787780 */ rbrew_write32(cpu->mem, _t117, cpu->r[28]);
|
|
/* 02787784 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787788 */ _t118 = cpu->r[1] + 0x00000026u;
|
|
/* 02787788 */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[28]);
|
|
/* 0278778C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787790 */ _t119 = cpu->r[1] + 0x00000018u;
|
|
/* 02787790 */ rbrew_write32(cpu->mem, _t119, cpu->r[9]);
|
|
/* 02787794 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787798 */ _t120 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787798 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 0278779C */ Gambit_fn_027889D4(cpu);
|
|
/* 027877A0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027877A4 */ _t121 = cpu->r[1] + 0x00000010u;
|
|
/* 027877A4 */ rbrew_write32(cpu->mem, _t121, cpu->r[25]);
|
|
/* 027877A8 */ cpu->r[0] = cpu->r[0] + 0x00005720u;
|
|
/* 027877AC */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877AC */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
/* 027877B0 */ _t123 = cpu->r[27] + 0x00000014u;
|
|
/* 027877B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 027877B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 027877B8 */ _t124 = cpu->r[27] + 0x00000018u;
|
|
/* 027877B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t124);
|
|
/* 027877BC */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027877BC */ _t126 = _t125 & 0x00000001u;
|
|
/* 027877BC */ if (_t126) goto L_027877C0; else goto L_027877C4;
|
|
L_027877C0: ; // 0x27877c0
|
|
/* 027877C0 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu;
|
|
L_027877C4: ; // 0x27877c4
|
|
/* 027877C4 */ cpu->ctr = cpu->r[24];
|
|
/* 027877C8 */ _t127 = cpu->r[30] + 0x00000000u;
|
|
/* 027877C8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t127);
|
|
/* 027877CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027877D4 */ _t128 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027877D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 027877D8 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 027877D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t129);
|
|
/* 027877DC */ cpu->r[31] = 0x00000000u;
|
|
/* 027877E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 027877E4 */ cpu->r[5] = 0x00080000u;
|
|
/* 027877E8 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027877E8 */ _t131 = _t130 & 0x00000001u;
|
|
/* 027877E8 */ if (_t131) goto L_02787810; else goto L_027877EC;
|
|
L_027877EC: ; // 0x27877ec
|
|
/* 027877EC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027877F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 027877F4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027877F8 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027877F8 */ _t133 = _t132 & 0x00000001u;
|
|
/* 027877F8 */ if (_t133) goto L_0278780C; else goto L_027877FC;
|
|
L_027877FC: ; // 0x27877fc
|
|
/* 027877FC */ _t134 = cpu->r[12] + 0x00000000u;
|
|
/* 027877FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 02787800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787804 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787804 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02787804 */ if (_t136) goto L_02787808; else goto L_027877EC;
|
|
L_02787808: ; // 0x2787808
|
|
/* 02787808 */ goto L_02787810;
|
|
L_0278780C: ; // 0x278780c
|
|
/* 0278780C */ cpu->r[31] = 0x00000000u;
|
|
L_02787810: ; // 0x2787810
|
|
/* 02787810 */ _t137 = cpu->r[30] + 0x00000008u;
|
|
/* 02787810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02787814 */ _t138 = cpu->r[1] + 0x00000010u;
|
|
/* 02787814 */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02787818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0278781C */ _t139 = cpu->r[4] + 0x00000014u;
|
|
/* 0278781C */ cpu->r[6] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02787820 */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787820 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02787820 */ if (_t141) goto L_02787828; else goto L_02787824;
|
|
L_02787824: ; // 0x2787824
|
|
/* 02787824 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02787828: ; // 0x2787828
|
|
/* 02787828 */ cpu->ctr = cpu->r[6];
|
|
/* 0278782C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787834 */ _t142 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787834 */ cpu->r[4] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02787838 */ cpu->r[3] = cpu->r[23];
|
|
/* 0278783C */ cpu->r[5] = cpu->r[31];
|
|
/* 02787840 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787844 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787848 */ _t143 = cpu->r[23] + cpu->r[31];
|
|
/* 02787848 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[26]);
|
|
/* 0278784C */ cpu->r[10] = 0x00000003u;
|
|
/* 02787850 */ _t144 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787850 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[28]);
|
|
/* 02787854 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02787858 */ _t145 = cpu->r[1] + 0x00000024u;
|
|
/* 02787858 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[28]);
|
|
/* 0278785C */ cpu->r[0] = 0x02790000u;
|
|
/* 02787860 */ _t146 = cpu->r[1] + 0x00000016u;
|
|
/* 02787860 */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[11]);
|
|
/* 02787864 */ cpu->r[0] = cpu->r[0] + 0xFFFF8250u;
|
|
/* 02787868 */ _t147 = cpu->r[1] + 0x00000020u;
|
|
/* 02787868 */ rbrew_write32(cpu->mem, _t147, cpu->r[28]);
|
|
/* 0278786C */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 0278786C */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[28]);
|
|
/* 02787870 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787874 */ _t149 = cpu->r[1] + 0x00000008u;
|
|
/* 02787874 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[10]);
|
|
/* 02787878 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278787C */ _t150 = cpu->r[1] + 0x00000028u;
|
|
/* 0278787C */ rbrew_write32(cpu->mem, _t150, cpu->r[28]);
|
|
/* 02787880 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787884 */ _t151 = cpu->r[1] + 0x00000026u;
|
|
/* 02787884 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 02787888 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278788C */ _t152 = cpu->r[1] + 0x00000018u;
|
|
/* 0278788C */ rbrew_write32(cpu->mem, _t152, cpu->r[0]);
|
|
/* 02787890 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787894 */ _t153 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787894 */ rbrew_write16(cpu->mem, _t153, (uint16_t)cpu->r[28]);
|
|
/* 02787898 */ Gambit_fn_027889D4(cpu);
|
|
/* 0278789C */ cpu->r[10] = 0x10100000u;
|
|
/* 027878A0 */ _t154 = cpu->r[1] + 0x00000010u;
|
|
/* 027878A0 */ rbrew_write32(cpu->mem, _t154, cpu->r[25]);
|
|
/* 027878A4 */ cpu->r[10] = cpu->r[10] + 0x00005778u;
|
|
/* 027878A8 */ _t155 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878A8 */ rbrew_write32(cpu->mem, _t155, cpu->r[10]);
|
|
/* 027878AC */ _t156 = cpu->r[27] + 0x00000014u;
|
|
/* 027878AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t156);
|
|
/* 027878B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u);
|
|
/* 027878B4 */ _t157 = cpu->r[27] + 0x00000018u;
|
|
/* 027878B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t157);
|
|
/* 027878B8 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027878B8 */ _t159 = _t158 & 0x00000001u;
|
|
/* 027878B8 */ if (_t159) goto L_027878BC; else goto L_027878C0;
|
|
L_027878BC: ; // 0x27878bc
|
|
/* 027878BC */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_027878C0: ; // 0x27878c0
|
|
/* 027878C0 */ cpu->ctr = cpu->r[24];
|
|
/* 027878C4 */ _t160 = cpu->r[30] + 0x00000000u;
|
|
/* 027878C4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t160);
|
|
/* 027878C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027878D0 */ _t161 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027878D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 027878D4 */ _t162 = cpu->r[7] + 0x00000000u;
|
|
/* 027878D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t162);
|
|
/* 027878D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 027878DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 027878E0 */ cpu->r[9] = 0x00080000u;
|
|
/* 027878E4 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027878E4 */ _t164 = _t163 & 0x00000001u;
|
|
/* 027878E4 */ if (_t164) goto L_0278790C; else goto L_027878E8;
|
|
L_027878E8: ; // 0x27878e8
|
|
/* 027878E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027878EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 027878F0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027878F4 */ _t165 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027878F4 */ _t166 = _t165 & 0x00000001u;
|
|
/* 027878F4 */ if (_t166) goto L_02787908; else goto L_027878F8;
|
|
L_027878F8: ; // 0x27878f8
|
|
/* 027878F8 */ _t167 = cpu->r[7] + 0x00000000u;
|
|
/* 027878F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t167);
|
|
/* 027878FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787900 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787900 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02787900 */ if (_t169) goto L_02787904; else goto L_027878E8;
|
|
L_02787904: ; // 0x2787904
|
|
/* 02787904 */ goto L_0278790C;
|
|
L_02787908: ; // 0x2787908
|
|
/* 02787908 */ cpu->r[31] = 0x00000000u;
|
|
L_0278790C: ; // 0x278790c
|
|
/* 0278790C */ _t170 = cpu->r[30] + 0x00000008u;
|
|
/* 0278790C */ cpu->r[10] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02787910 */ _t171 = cpu->r[1] + 0x00000010u;
|
|
/* 02787910 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02787914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 02787918 */ _t172 = cpu->r[4] + 0x00000014u;
|
|
/* 02787918 */ cpu->r[5] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0278791C */ _t173 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278791C */ _t174 = _t173 & 0x00000001u;
|
|
/* 0278791C */ if (_t174) goto L_02787924; else goto L_02787920;
|
|
L_02787920: ; // 0x2787920
|
|
/* 02787920 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02787924: ; // 0x2787924
|
|
/* 02787924 */ cpu->ctr = cpu->r[5];
|
|
/* 02787928 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278792C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787930 */ _t175 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02787934 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787938 */ cpu->r[5] = cpu->r[31];
|
|
/* 0278793C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787940 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787944 */ _t176 = cpu->r[23] + cpu->r[31];
|
|
/* 02787944 */ rbrew_write8(cpu->mem, _t176, (uint8_t)cpu->r[26]);
|
|
/* 02787948 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0278794C */ _t177 = cpu->r[1] + 0x00000026u;
|
|
/* 0278794C */ rbrew_write16(cpu->mem, _t177, (uint16_t)cpu->r[28]);
|
|
/* 02787950 */ cpu->r[6] = 0x02790000u;
|
|
/* 02787954 */ _t178 = cpu->r[1] + 0x00000014u;
|
|
/* 02787954 */ rbrew_write16(cpu->mem, _t178, (uint16_t)cpu->r[28]);
|
|
/* 02787958 */ cpu->r[6] = cpu->r[6] + 0xFFFF83A8u;
|
|
/* 0278795C */ _t179 = cpu->r[1] + 0x00000016u;
|
|
/* 0278795C */ rbrew_write16(cpu->mem, _t179, (uint16_t)cpu->r[9]);
|
|
/* 02787960 */ cpu->r[8] = 0x00000004u;
|
|
/* 02787964 */ _t180 = cpu->r[1] + 0x00000024u;
|
|
/* 02787964 */ rbrew_write16(cpu->mem, _t180, (uint16_t)cpu->r[28]);
|
|
/* 02787968 */ _t181 = cpu->r[1] + 0x00000018u;
|
|
/* 02787968 */ rbrew_write32(cpu->mem, _t181, cpu->r[6]);
|
|
/* 0278796C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787970 */ _t182 = cpu->r[1] + 0x00000028u;
|
|
/* 02787970 */ rbrew_write32(cpu->mem, _t182, cpu->r[28]);
|
|
/* 02787974 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787978 */ _t183 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787978 */ rbrew_write16(cpu->mem, _t183, (uint16_t)cpu->r[28]);
|
|
/* 0278797C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787980 */ _t184 = cpu->r[1] + 0x00000020u;
|
|
/* 02787980 */ rbrew_write32(cpu->mem, _t184, cpu->r[28]);
|
|
/* 02787984 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787988 */ _t185 = cpu->r[1] + 0x00000008u;
|
|
/* 02787988 */ rbrew_write8(cpu->mem, _t185, (uint8_t)cpu->r[8]);
|
|
/* 0278798C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787990 */ _t186 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787990 */ rbrew_write16(cpu->mem, _t186, (uint16_t)cpu->r[28]);
|
|
/* 02787994 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787998 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278799C */ _t187 = cpu->r[1] + 0x00000010u;
|
|
/* 0278799C */ rbrew_write32(cpu->mem, _t187, cpu->r[25]);
|
|
/* 027879A0 */ cpu->r[7] = cpu->r[7] + 0x00005794u;
|
|
/* 027879A4 */ _t188 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879A4 */ rbrew_write32(cpu->mem, _t188, cpu->r[7]);
|
|
/* 027879A8 */ _t189 = cpu->r[27] + 0x00000014u;
|
|
/* 027879A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 027879AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000005u);
|
|
/* 027879B0 */ _t190 = cpu->r[27] + 0x00000018u;
|
|
/* 027879B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t190);
|
|
/* 027879B4 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027879B4 */ _t192 = _t191 & 0x00000001u;
|
|
/* 027879B4 */ if (_t192) goto L_027879B8; else goto L_027879BC;
|
|
L_027879B8: ; // 0x27879b8
|
|
/* 027879B8 */ cpu->r[30] = cpu->r[30] + 0x000000B4u;
|
|
L_027879BC: ; // 0x27879bc
|
|
/* 027879BC */ cpu->ctr = cpu->r[24];
|
|
/* 027879C0 */ _t193 = cpu->r[30] + 0x00000000u;
|
|
/* 027879C0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t193);
|
|
/* 027879C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027879CC */ _t194 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027879CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t194);
|
|
/* 027879D0 */ _t195 = cpu->r[12] + 0x00000000u;
|
|
/* 027879D0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t195);
|
|
/* 027879D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 027879D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 027879DC */ cpu->r[5] = 0x00080000u;
|
|
/* 027879E0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027879E0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 027879E0 */ if (_t197) goto L_02787A08; else goto L_027879E4;
|
|
L_027879E4: ; // 0x27879e4
|
|
/* 027879E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027879E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 027879EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027879F0 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027879F0 */ _t199 = _t198 & 0x00000001u;
|
|
/* 027879F0 */ if (_t199) goto L_02787A04; else goto L_027879F4;
|
|
L_027879F4: ; // 0x27879f4
|
|
/* 027879F4 */ _t200 = cpu->r[12] + 0x00000000u;
|
|
/* 027879F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t200);
|
|
/* 027879F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 027879FC */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027879FC */ _t202 = _t201 & 0x00000001u;
|
|
/* 027879FC */ if (_t202) goto L_02787A00; else goto L_027879E4;
|
|
L_02787A00: ; // 0x2787a00
|
|
/* 02787A00 */ goto L_02787A08;
|
|
L_02787A04: ; // 0x2787a04
|
|
/* 02787A04 */ cpu->r[31] = 0x00000000u;
|
|
L_02787A08: ; // 0x2787a08
|
|
/* 02787A08 */ _t203 = cpu->r[30] + 0x00000008u;
|
|
/* 02787A08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02787A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02787A10 */ _t204 = cpu->r[1] + 0x00000010u;
|
|
/* 02787A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02787A14 */ _t205 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787A14 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02787A14 */ if (_t206) goto L_02787A1C; else goto L_02787A18;
|
|
L_02787A18: ; // 0x2787a18
|
|
/* 02787A18 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02787A1C: ; // 0x2787a1c
|
|
/* 02787A1C */ _t207 = cpu->r[11] + 0x00000014u;
|
|
/* 02787A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02787A20 */ cpu->ctr = cpu->r[12];
|
|
/* 02787A24 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787A28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787A2C */ _t208 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787A2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02787A30 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787A34 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787A38 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787A3C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787A40 */ _t209 = cpu->r[23] + cpu->r[31];
|
|
/* 02787A40 */ rbrew_write8(cpu->mem, _t209, (uint8_t)cpu->r[26]);
|
|
/* 02787A44 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02787A48 */ _t210 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787A48 */ rbrew_write16(cpu->mem, _t210, (uint16_t)cpu->r[28]);
|
|
/* 02787A4C */ cpu->r[5] = 0x00000005u;
|
|
/* 02787A50 */ _t211 = cpu->r[1] + 0x00000016u;
|
|
/* 02787A50 */ rbrew_write16(cpu->mem, _t211, (uint16_t)cpu->r[7]);
|
|
/* 02787A54 */ cpu->r[0] = 0x02790000u;
|
|
/* 02787A58 */ _t212 = cpu->r[1] + 0x00000024u;
|
|
/* 02787A58 */ rbrew_write16(cpu->mem, _t212, (uint16_t)cpu->r[28]);
|
|
/* 02787A5C */ _t213 = cpu->r[1] + 0x00000008u;
|
|
/* 02787A5C */ rbrew_write8(cpu->mem, _t213, (uint8_t)cpu->r[5]);
|
|
/* 02787A60 */ cpu->r[0] = cpu->r[0] + 0xFFFF841Cu;
|
|
/* 02787A64 */ _t214 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787A64 */ rbrew_write16(cpu->mem, _t214, (uint16_t)cpu->r[28]);
|
|
/* 02787A68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787A6C */ _t215 = cpu->r[1] + 0x00000020u;
|
|
/* 02787A6C */ rbrew_write32(cpu->mem, _t215, cpu->r[28]);
|
|
/* 02787A70 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787A74 */ _t216 = cpu->r[1] + 0x00000026u;
|
|
/* 02787A74 */ rbrew_write16(cpu->mem, _t216, (uint16_t)cpu->r[28]);
|
|
/* 02787A78 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787A7C */ _t217 = cpu->r[1] + 0x00000018u;
|
|
/* 02787A7C */ rbrew_write32(cpu->mem, _t217, cpu->r[0]);
|
|
/* 02787A80 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787A84 */ _t218 = cpu->r[1] + 0x00000028u;
|
|
/* 02787A84 */ rbrew_write32(cpu->mem, _t218, cpu->r[28]);
|
|
/* 02787A88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787A8C */ _t219 = cpu->r[1] + 0x00000014u;
|
|
/* 02787A8C */ rbrew_write16(cpu->mem, _t219, (uint16_t)cpu->r[28]);
|
|
/* 02787A90 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787A94 */ cpu->r[4] = 0x10100000u;
|
|
/* 02787A98 */ _t220 = cpu->r[1] + 0x00000010u;
|
|
/* 02787A98 */ rbrew_write32(cpu->mem, _t220, cpu->r[25]);
|
|
/* 02787A9C */ cpu->r[4] = cpu->r[4] + 0x000057ACu;
|
|
/* 02787AA0 */ _t221 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AA0 */ rbrew_write32(cpu->mem, _t221, cpu->r[4]);
|
|
/* 02787AA4 */ _t222 = cpu->r[27] + 0x00000014u;
|
|
/* 02787AA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02787AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000006u);
|
|
/* 02787AAC */ _t223 = cpu->r[27] + 0x00000018u;
|
|
/* 02787AAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02787AB0 */ _t224 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787AB0 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02787AB0 */ if (_t225) goto L_02787AB4; else goto L_02787AB8;
|
|
L_02787AB4: ; // 0x2787ab4
|
|
/* 02787AB4 */ cpu->r[30] = cpu->r[30] + 0x000000D8u;
|
|
L_02787AB8: ; // 0x2787ab8
|
|
/* 02787AB8 */ cpu->ctr = cpu->r[24];
|
|
/* 02787ABC */ _t226 = cpu->r[30] + 0x00000000u;
|
|
/* 02787ABC */ cpu->r[23] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02787AC0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787AC8 */ _t227 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02787ACC */ _t228 = cpu->r[10] + 0x00000000u;
|
|
/* 02787ACC */ cpu->r[6] = rbrew_read8(cpu->mem, _t228);
|
|
/* 02787AD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02787AD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02787AD8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02787ADC */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787ADC */ _t230 = _t229 & 0x00000001u;
|
|
/* 02787ADC */ if (_t230) goto L_02787B04; else goto L_02787AE0;
|
|
L_02787AE0: ; // 0x2787ae0
|
|
/* 02787AE0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02787AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02787AE8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02787AEC */ _t231 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787AEC */ _t232 = _t231 & 0x00000001u;
|
|
/* 02787AEC */ if (_t232) goto L_02787B00; else goto L_02787AF0;
|
|
L_02787AF0: ; // 0x2787af0
|
|
/* 02787AF0 */ _t233 = cpu->r[10] + 0x00000000u;
|
|
/* 02787AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t233);
|
|
/* 02787AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02787AF8 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787AF8 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02787AF8 */ if (_t235) goto L_02787AFC; else goto L_02787AE0;
|
|
L_02787AFC: ; // 0x2787afc
|
|
/* 02787AFC */ goto L_02787B04;
|
|
L_02787B00: ; // 0x2787b00
|
|
/* 02787B00 */ cpu->r[31] = 0x00000000u;
|
|
L_02787B04: ; // 0x2787b04
|
|
/* 02787B04 */ _t236 = cpu->r[30] + 0x00000008u;
|
|
/* 02787B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02787B08 */ _t237 = cpu->r[1] + 0x00000010u;
|
|
/* 02787B08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02787B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02787B10 */ _t238 = cpu->r[8] + 0x00000014u;
|
|
/* 02787B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02787B14 */ _t239 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787B14 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02787B14 */ if (_t240) goto L_02787B1C; else goto L_02787B18;
|
|
L_02787B18: ; // 0x2787b18
|
|
/* 02787B18 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02787B1C: ; // 0x2787b1c
|
|
/* 02787B1C */ cpu->ctr = cpu->r[9];
|
|
/* 02787B20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787B28 */ _t241 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02787B2C */ cpu->r[3] = cpu->r[23];
|
|
/* 02787B30 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787B34 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787B38 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787B3C */ _t242 = cpu->r[23] + cpu->r[31];
|
|
/* 02787B3C */ rbrew_write8(cpu->mem, _t242, (uint8_t)cpu->r[26]);
|
|
/* 02787B40 */ cpu->r[12] = 0x00000006u;
|
|
/* 02787B44 */ _t243 = cpu->r[1] + 0x00000026u;
|
|
/* 02787B44 */ rbrew_write16(cpu->mem, _t243, (uint16_t)cpu->r[28]);
|
|
/* 02787B48 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02787B4C */ _t244 = cpu->r[1] + 0x00000008u;
|
|
/* 02787B4C */ rbrew_write8(cpu->mem, _t244, (uint8_t)cpu->r[12]);
|
|
/* 02787B50 */ cpu->r[0] = 0x02790000u;
|
|
/* 02787B54 */ _t245 = cpu->r[1] + 0x00000024u;
|
|
/* 02787B54 */ rbrew_write16(cpu->mem, _t245, (uint16_t)cpu->r[28]);
|
|
/* 02787B58 */ cpu->r[0] = cpu->r[0] + 0xFFFF8718u;
|
|
/* 02787B5C */ _t246 = cpu->r[1] + 0x00000014u;
|
|
/* 02787B5C */ rbrew_write16(cpu->mem, _t246, (uint16_t)cpu->r[28]);
|
|
/* 02787B60 */ _t247 = cpu->r[1] + 0x00000016u;
|
|
/* 02787B60 */ rbrew_write16(cpu->mem, _t247, (uint16_t)cpu->r[4]);
|
|
/* 02787B64 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787B68 */ _t248 = cpu->r[1] + 0x00000018u;
|
|
/* 02787B68 */ rbrew_write32(cpu->mem, _t248, cpu->r[0]);
|
|
/* 02787B6C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787B70 */ _t249 = cpu->r[1] + 0x00000020u;
|
|
/* 02787B70 */ rbrew_write32(cpu->mem, _t249, cpu->r[28]);
|
|
/* 02787B74 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787B78 */ _t250 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787B78 */ rbrew_write16(cpu->mem, _t250, (uint16_t)cpu->r[28]);
|
|
/* 02787B7C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787B80 */ _t251 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787B80 */ rbrew_write16(cpu->mem, _t251, (uint16_t)cpu->r[28]);
|
|
/* 02787B84 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787B88 */ _t252 = cpu->r[1] + 0x00000028u;
|
|
/* 02787B88 */ rbrew_write32(cpu->mem, _t252, cpu->r[28]);
|
|
/* 02787B8C */ Gambit_fn_027889D4(cpu);
|
|
/* 02787B90 */ cpu->r[11] = 0x10100000u;
|
|
/* 02787B94 */ _t253 = cpu->r[1] + 0x00000010u;
|
|
/* 02787B94 */ rbrew_write32(cpu->mem, _t253, cpu->r[25]);
|
|
/* 02787B98 */ cpu->r[11] = cpu->r[11] + 0x000057C4u;
|
|
/* 02787B9C */ _t254 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787B9C */ rbrew_write32(cpu->mem, _t254, cpu->r[11]);
|
|
/* 02787BA0 */ _t255 = cpu->r[27] + 0x00000014u;
|
|
/* 02787BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02787BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000007u);
|
|
/* 02787BA8 */ _t256 = cpu->r[27] + 0x00000018u;
|
|
/* 02787BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02787BAC */ _t257 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787BAC */ _t258 = _t257 & 0x00000001u;
|
|
/* 02787BAC */ if (_t258) goto L_02787BB0; else goto L_02787BB4;
|
|
L_02787BB0: ; // 0x2787bb0
|
|
/* 02787BB0 */ cpu->r[31] = cpu->r[31] + 0x000000FCu;
|
|
L_02787BB4: ; // 0x2787bb4
|
|
/* 02787BB4 */ cpu->ctr = cpu->r[24];
|
|
/* 02787BB8 */ _t259 = cpu->r[31] + 0x00000000u;
|
|
/* 02787BB8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02787BBC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787BC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787BC4 */ _t260 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787BC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02787BC8 */ _t261 = cpu->r[8] + 0x00000000u;
|
|
/* 02787BC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t261);
|
|
/* 02787BCC */ cpu->r[30] = 0x00000000u;
|
|
/* 02787BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787BD4 */ cpu->r[9] = 0x00080000u;
|
|
/* 02787BD8 */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787BD8 */ _t263 = _t262 & 0x00000001u;
|
|
/* 02787BD8 */ if (_t263) goto L_02787C00; else goto L_02787BDC;
|
|
L_02787BDC: ; // 0x2787bdc
|
|
/* 02787BDC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02787BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02787BE4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02787BE8 */ _t264 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787BE8 */ _t265 = _t264 & 0x00000001u;
|
|
/* 02787BE8 */ if (_t265) goto L_02787BFC; else goto L_02787BEC;
|
|
L_02787BEC: ; // 0x2787bec
|
|
/* 02787BEC */ _t266 = cpu->r[8] + 0x00000000u;
|
|
/* 02787BEC */ cpu->r[4] = rbrew_read8(cpu->mem, _t266);
|
|
/* 02787BF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[26]);
|
|
/* 02787BF4 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787BF4 */ _t268 = _t267 & 0x00000001u;
|
|
/* 02787BF4 */ if (_t268) goto L_02787BF8; else goto L_02787BDC;
|
|
L_02787BF8: ; // 0x2787bf8
|
|
/* 02787BF8 */ goto L_02787C00;
|
|
L_02787BFC: ; // 0x2787bfc
|
|
/* 02787BFC */ cpu->r[30] = 0x00000000u;
|
|
L_02787C00: ; // 0x2787c00
|
|
/* 02787C00 */ _t269 = cpu->r[31] + 0x00000008u;
|
|
/* 02787C00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02787C04 */ _t270 = cpu->r[1] + 0x00000010u;
|
|
/* 02787C04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t270);
|
|
/* 02787C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02787C0C */ _t271 = cpu->r[5] + 0x00000014u;
|
|
/* 02787C0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02787C10 */ _t272 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787C10 */ _t273 = _t272 & 0x00000001u;
|
|
/* 02787C10 */ if (_t273) goto L_02787C18; else goto L_02787C14;
|
|
L_02787C14: ; // 0x2787c14
|
|
/* 02787C14 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02787C18: ; // 0x2787c18
|
|
/* 02787C18 */ cpu->ctr = cpu->r[6];
|
|
/* 02787C1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787C24 */ _t274 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02787C28 */ cpu->r[3] = cpu->r[23];
|
|
/* 02787C2C */ cpu->r[5] = cpu->r[30];
|
|
/* 02787C30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02787C34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787C38 */ _t275 = cpu->r[23] + cpu->r[30];
|
|
/* 02787C38 */ rbrew_write8(cpu->mem, _t275, (uint8_t)cpu->r[26]);
|
|
/* 02787C3C */ cpu->r[9] = 0x00000007u;
|
|
/* 02787C40 */ _t276 = cpu->r[1] + 0x00000014u;
|
|
/* 02787C40 */ rbrew_write16(cpu->mem, _t276, (uint16_t)cpu->r[28]);
|
|
/* 02787C44 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02787C48 */ _t277 = cpu->r[1] + 0x00000008u;
|
|
/* 02787C48 */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[9]);
|
|
/* 02787C4C */ cpu->r[7] = 0x02790000u;
|
|
/* 02787C50 */ _t278 = cpu->r[1] + 0x00000028u;
|
|
/* 02787C50 */ rbrew_write32(cpu->mem, _t278, cpu->r[28]);
|
|
/* 02787C54 */ cpu->r[7] = cpu->r[7] + 0xFFFF871Cu;
|
|
/* 02787C58 */ _t279 = cpu->r[1] + 0x00000024u;
|
|
/* 02787C58 */ rbrew_write16(cpu->mem, _t279, (uint16_t)cpu->r[28]);
|
|
/* 02787C5C */ _t280 = cpu->r[1] + 0x00000018u;
|
|
/* 02787C5C */ rbrew_write32(cpu->mem, _t280, cpu->r[7]);
|
|
/* 02787C60 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787C64 */ _t281 = cpu->r[1] + 0x00000026u;
|
|
/* 02787C64 */ rbrew_write16(cpu->mem, _t281, (uint16_t)cpu->r[28]);
|
|
/* 02787C68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787C6C */ _t282 = cpu->r[1] + 0x00000020u;
|
|
/* 02787C6C */ rbrew_write32(cpu->mem, _t282, cpu->r[28]);
|
|
/* 02787C70 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787C74 */ _t283 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787C74 */ rbrew_write16(cpu->mem, _t283, (uint16_t)cpu->r[28]);
|
|
/* 02787C78 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787C7C */ _t284 = cpu->r[1] + 0x00000016u;
|
|
/* 02787C7C */ rbrew_write16(cpu->mem, _t284, (uint16_t)cpu->r[11]);
|
|
/* 02787C80 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787C84 */ _t285 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787C84 */ rbrew_write16(cpu->mem, _t285, (uint16_t)cpu->r[28]);
|
|
/* 02787C88 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787C8C */ cpu->r[8] = 0x10100000u;
|
|
/* 02787C90 */ _t286 = cpu->r[1] + 0x00000010u;
|
|
/* 02787C90 */ rbrew_write32(cpu->mem, _t286, cpu->r[25]);
|
|
/* 02787C94 */ cpu->r[8] = cpu->r[8] + 0x000057E0u;
|
|
/* 02787C98 */ _t287 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787C98 */ rbrew_write32(cpu->mem, _t287, cpu->r[8]);
|
|
/* 02787C9C */ _t288 = cpu->r[27] + 0x00000014u;
|
|
/* 02787C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02787CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000008u);
|
|
/* 02787CA4 */ _t289 = cpu->r[27] + 0x00000018u;
|
|
/* 02787CA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02787CA8 */ _t290 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787CA8 */ _t291 = _t290 & 0x00000001u;
|
|
/* 02787CA8 */ if (_t291) goto L_02787CAC; else goto L_02787CB0;
|
|
L_02787CAC: ; // 0x2787cac
|
|
/* 02787CAC */ cpu->r[30] = cpu->r[30] + 0x00000120u;
|
|
L_02787CB0: ; // 0x2787cb0
|
|
/* 02787CB0 */ cpu->ctr = cpu->r[24];
|
|
/* 02787CB4 */ _t292 = cpu->r[30] + 0x00000000u;
|
|
/* 02787CB4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02787CB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787CC0 */ _t293 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787CC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02787CC4 */ _t294 = cpu->r[5] + 0x00000000u;
|
|
/* 02787CC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t294);
|
|
/* 02787CC8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02787CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02787CD0 */ cpu->r[6] = 0x00080000u;
|
|
/* 02787CD4 */ _t295 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787CD4 */ _t296 = _t295 & 0x00000001u;
|
|
/* 02787CD4 */ if (_t296) goto L_02787CFC; else goto L_02787CD8;
|
|
L_02787CD8: ; // 0x2787cd8
|
|
/* 02787CD8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02787CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 02787CE0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02787CE4 */ _t297 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02787CE4 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02787CE4 */ if (_t298) goto L_02787CF8; else goto L_02787CE8;
|
|
L_02787CE8: ; // 0x2787ce8
|
|
/* 02787CE8 */ _t299 = cpu->r[5] + 0x00000000u;
|
|
/* 02787CE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t299);
|
|
/* 02787CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02787CF0 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787CF0 */ _t301 = _t300 & 0x00000001u;
|
|
/* 02787CF0 */ if (_t301) goto L_02787CF4; else goto L_02787CD8;
|
|
L_02787CF4: ; // 0x2787cf4
|
|
/* 02787CF4 */ goto L_02787CFC;
|
|
L_02787CF8: ; // 0x2787cf8
|
|
/* 02787CF8 */ cpu->r[31] = 0x00000000u;
|
|
L_02787CFC: ; // 0x2787cfc
|
|
/* 02787CFC */ _t302 = cpu->r[30] + 0x00000008u;
|
|
/* 02787CFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02787D00 */ _t303 = cpu->r[1] + 0x00000010u;
|
|
/* 02787D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t303);
|
|
/* 02787D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02787D08 */ _t304 = cpu->r[12] + 0x00000014u;
|
|
/* 02787D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t304);
|
|
/* 02787D0C */ _t305 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787D0C */ _t306 = _t305 & 0x00000001u;
|
|
/* 02787D0C */ if (_t306) goto L_02787D14; else goto L_02787D10;
|
|
L_02787D10: ; // 0x2787d10
|
|
/* 02787D10 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02787D14: ; // 0x2787d14
|
|
/* 02787D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02787D18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787D20 */ _t307 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02787D24 */ cpu->r[3] = cpu->r[25];
|
|
/* 02787D28 */ cpu->r[5] = cpu->r[31];
|
|
/* 02787D2C */ cpu->r[6] = 0x00000000u;
|
|
/* 02787D30 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02787D34 */ _t308 = cpu->r[25] + cpu->r[31];
|
|
/* 02787D34 */ rbrew_write8(cpu->mem, _t308, (uint8_t)cpu->r[26]);
|
|
/* 02787D38 */ cpu->r[7] = 0x00000008u;
|
|
/* 02787D3C */ _t309 = cpu->r[1] + 0x00000020u;
|
|
/* 02787D3C */ rbrew_write32(cpu->mem, _t309, cpu->r[28]);
|
|
/* 02787D40 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02787D44 */ _t310 = cpu->r[1] + 0x00000014u;
|
|
/* 02787D44 */ rbrew_write16(cpu->mem, _t310, (uint16_t)cpu->r[28]);
|
|
/* 02787D48 */ cpu->r[4] = 0x02790000u;
|
|
/* 02787D4C */ _t311 = cpu->r[1] + 0x00000016u;
|
|
/* 02787D4C */ rbrew_write16(cpu->mem, _t311, (uint16_t)cpu->r[0]);
|
|
/* 02787D50 */ cpu->r[4] = cpu->r[4] + 0xFFFF8720u;
|
|
/* 02787D54 */ _t312 = cpu->r[1] + 0x00000008u;
|
|
/* 02787D54 */ rbrew_write8(cpu->mem, _t312, (uint8_t)cpu->r[7]);
|
|
/* 02787D58 */ _t313 = cpu->r[1] + 0x00000018u;
|
|
/* 02787D58 */ rbrew_write32(cpu->mem, _t313, cpu->r[4]);
|
|
/* 02787D5C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787D60 */ _t314 = cpu->r[1] + 0x00000024u;
|
|
/* 02787D60 */ rbrew_write16(cpu->mem, _t314, (uint16_t)cpu->r[28]);
|
|
/* 02787D64 */ _t315 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787D64 */ rbrew_write16(cpu->mem, _t315, (uint16_t)cpu->r[28]);
|
|
/* 02787D68 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02787D6C */ _t316 = cpu->r[1] + 0x00000026u;
|
|
/* 02787D6C */ rbrew_write16(cpu->mem, _t316, (uint16_t)cpu->r[28]);
|
|
/* 02787D70 */ cpu->r[3] = cpu->r[27];
|
|
/* 02787D74 */ _t317 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02787D74 */ rbrew_write16(cpu->mem, _t317, (uint16_t)cpu->r[28]);
|
|
/* 02787D78 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02787D7C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02787D80 */ _t318 = cpu->r[1] + 0x00000028u;
|
|
/* 02787D80 */ rbrew_write32(cpu->mem, _t318, cpu->r[28]);
|
|
/* 02787D84 */ Gambit_fn_027889D4(cpu);
|
|
/* 02787D88 */ _t319 = cpu->r[29] + 0x000001B8u;
|
|
/* 02787D88 */ rbrew_write32(cpu->mem, _t319, cpu->r[27]);
|
|
L_02787D8C: ; // 0x2787d8c
|
|
/* 02787D8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02787D90 */ /* nop */
|
|
/* 02787D94 */ _t320 = cpu->r[1] + 0x00000054u;
|
|
/* 02787D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02787D98 */ cpu->lr = cpu->r[0];
|
|
/* 02787D9C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02787DA0 */ return;
|
|
}
|
|
|
|
// fn_02787DA4 @ 0x2787da4
|
|
void Gambit_fn_02787DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02787DA4: ; // 0x2787da4
|
|
/* 02787DA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02787DA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02787DA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787DA8 */ cpu->r[1] = _t0;
|
|
/* 02787DAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02787DAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02787DB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787DB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787DB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02787DB8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787DB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02787DBC */ Gambit_fn_020B6458(cpu);
|
|
/* 02787DC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787DC4 */ cpu->r[3] = cpu->r[30] + 0x00000218u;
|
|
/* 02787DC8 */ _t4 = cpu->r[30] + 0x00000250u;
|
|
/* 02787DC8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 02787DCC */ Gambit_fn_02787330(cpu);
|
|
/* 02787DD0 */ cpu->r[12] = 0x10100000u;
|
|
/* 02787DD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787DD8 */ cpu->r[12] = cpu->r[12] + 0x00005678u;
|
|
/* 02787DDC */ cpu->r[0] = 0x10100000u;
|
|
/* 02787DE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787DE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02787DE4 */ cpu->r[0] = cpu->r[0] + 0x000057F8u;
|
|
/* 02787DE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787DEC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02787DF0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02787DF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02787DF4 */ Gambit_fn_027ED798(cpu);
|
|
/* 02787DF8 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02787DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787DFC */ _t8 = cpu->r[10] + 0x0000011Cu;
|
|
/* 02787DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02787E00 */ cpu->ctr = cpu->r[11];
|
|
/* 02787E04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787E08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787E0C */ Gambit_fn_020DACF0(cpu);
|
|
/* 02787E10 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787E14 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02787E14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787E18 */ cpu->lr = cpu->r[0];
|
|
/* 02787E1C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02787E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787E20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02787E24 */ return;
|
|
}
|
|
|
|
// fn_02787DA8 @ 0x2787da8
|
|
void Gambit_fn_02787DA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02787DA8: ; // 0x2787da8
|
|
/* 02787DA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02787DA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787DA8 */ cpu->r[1] = _t0;
|
|
/* 02787DAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02787DAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02787DB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787DB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02787DB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02787DB8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787DB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02787DBC */ Gambit_fn_020B6458(cpu);
|
|
/* 02787DC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787DC4 */ cpu->r[3] = cpu->r[30] + 0x00000218u;
|
|
/* 02787DC8 */ _t4 = cpu->r[30] + 0x00000250u;
|
|
/* 02787DC8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 02787DCC */ Gambit_fn_02787330(cpu);
|
|
/* 02787DD0 */ cpu->r[12] = 0x10100000u;
|
|
/* 02787DD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787DD8 */ cpu->r[12] = cpu->r[12] + 0x00005678u;
|
|
/* 02787DDC */ cpu->r[0] = 0x10100000u;
|
|
/* 02787DE0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787DE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02787DE4 */ cpu->r[0] = cpu->r[0] + 0x000057F8u;
|
|
/* 02787DE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02787DEC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02787DF0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02787DF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02787DF4 */ Gambit_fn_027ED798(cpu);
|
|
/* 02787DF8 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02787DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02787DFC */ _t8 = cpu->r[10] + 0x0000011Cu;
|
|
/* 02787DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02787E00 */ cpu->ctr = cpu->r[11];
|
|
/* 02787E04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787E08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787E0C */ Gambit_fn_020DACF0(cpu);
|
|
/* 02787E10 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787E10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02787E14 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02787E14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02787E18 */ cpu->lr = cpu->r[0];
|
|
/* 02787E1C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02787E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787E20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02787E24 */ return;
|
|
}
|
|
|
|
// fn_02787E7C @ 0x2787e7c
|
|
void Gambit_fn_02787E7C(CPUState* 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_02787E7C: ; // 0x2787e7c
|
|
/* 02787E7C */ cpu->r[0] = cpu->lr;
|
|
/* 02787E80 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02787E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787E80 */ cpu->r[1] = _t0;
|
|
/* 02787E84 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02787E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02787E88 */ /* nop */
|
|
/* 02787E8C */ cpu->r[22] = 0x00000000u;
|
|
/* 02787E90 */ cpu->r[21] = cpu->r[3];
|
|
/* 02787E94 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02787E98 */ cpu->r[20] = 0x101F0000u;
|
|
/* 02787E9C */ cpu->r[28] = cpu->r[21] + 0x00000254u;
|
|
/* 02787EA0 */ cpu->r[26] = cpu->r[22];
|
|
/* 02787EA4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02787EA8 */ cpu->r[27] = cpu->r[28];
|
|
/* 02787EAC */ cpu->r[20] = cpu->r[20] + 0x00002208u;
|
|
/* 02787EB0 */ goto L_02787EBC;
|
|
L_02787EB4: ; // 0x2787eb4
|
|
/* 02787EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
|
|
/* 02787EB8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787EB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02787EB8 */ if (_t3) goto L_02787EBC; else goto L_02787ECC;
|
|
L_02787EBC: ; // 0x2787ebc
|
|
/* 02787EBC */ cpu->r[23] = cpu->r[27];
|
|
/* 02787EC0 */ cpu->r[24] = cpu->r[26];
|
|
/* 02787EC4 */ cpu->r[25] = 0x00000001u;
|
|
/* 02787EC8 */ goto L_02787ED0;
|
|
L_02787ECC: ; // 0x2787ecc
|
|
/* 02787ECC */ cpu->r[23] = cpu->r[28];
|
|
L_02787ED0: ; // 0x2787ed0
|
|
/* 02787ED0 */ cpu->r[3] = cpu->r[21];
|
|
/* 02787ED4 */ cpu->r[4] = cpu->r[20] + cpu->r[24];
|
|
/* 02787ED8 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02787EDC */ _t4 = cpu->r[30] + 0xFFFFEDBCu;
|
|
/* 02787EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787EE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02787EE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787EE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02787EE8 */ if (_t6) goto L_02787EEC; else goto L_02787EFC;
|
|
L_02787EEC: ; // 0x2787eec
|
|
/* 02787EEC */ cpu->r[0] = 0x10100000u;
|
|
/* 02787EF0 */ _t7 = cpu->r[30] + 0xFFFFEDBCu;
|
|
/* 02787EF0 */ rbrew_write32(cpu->mem, _t7, cpu->r[25]);
|
|
/* 02787EF4 */ cpu->r[0] = cpu->r[0] + 0x000056E8u;
|
|
/* 02787EF8 */ _t8 = cpu->r[31] + 0xFFFFEE20u;
|
|
/* 02787EF8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02787EFC: ; // 0x2787efc
|
|
/* 02787EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02787F00 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787F00 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02787F00 */ if (_t10) goto L_02787F24; else goto L_02787F04;
|
|
L_02787F04: ; // 0x2787f04
|
|
/* 02787F04 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02787F04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787F08 */ _t12 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02787F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02787F0C */ cpu->ctr = cpu->r[0];
|
|
/* 02787F10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02787F14 */ cpu->r[4] = cpu->r[31] + 0xFFFFEE20u;
|
|
/* 02787F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02787F20 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787F20 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02787F20 */ if (_t14) goto L_02787F24; else goto L_02787F28;
|
|
L_02787F24: ; // 0x2787f24
|
|
/* 02787F24 */ cpu->r[29] = 0x00000000u;
|
|
L_02787F28: ; // 0x2787f28
|
|
/* 02787F28 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02787F2C */ _t15 = cpu->r[23] + 0x00000000u;
|
|
/* 02787F2C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02787F30 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02787F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000002u);
|
|
/* 02787F38 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 02787F3C */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02787F40 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787F40 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02787F40 */ if (_t17) goto L_02787EB4; else goto L_02787F44;
|
|
L_02787F44: ; // 0x2787f44
|
|
/* 02787F44 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 02787F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02787F48 */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 02787F48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02787F4C */ Gambit_fn_027EADF4(cpu);
|
|
/* 02787F50 */ /* nop */
|
|
/* 02787F54 */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02787F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02787F58 */ cpu->lr = cpu->r[0];
|
|
/* 02787F5C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02787F60 */ return;
|
|
}
|
|
|
|
// fn_02787E80 @ 0x2787e80
|
|
void Gambit_fn_02787E80(CPUState* 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_02787E80: ; // 0x2787e80
|
|
/* 02787E80 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02787E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787E80 */ cpu->r[1] = _t0;
|
|
/* 02787E84 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02787E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02787E88 */ /* nop */
|
|
/* 02787E8C */ cpu->r[22] = 0x00000000u;
|
|
/* 02787E90 */ cpu->r[21] = cpu->r[3];
|
|
/* 02787E94 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02787E98 */ cpu->r[20] = 0x101F0000u;
|
|
/* 02787E9C */ cpu->r[28] = cpu->r[21] + 0x00000254u;
|
|
/* 02787EA0 */ cpu->r[26] = cpu->r[22];
|
|
/* 02787EA4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02787EA8 */ cpu->r[27] = cpu->r[28];
|
|
/* 02787EAC */ cpu->r[20] = cpu->r[20] + 0x00002208u;
|
|
/* 02787EB0 */ goto L_02787EBC;
|
|
L_02787EB4: ; // 0x2787eb4
|
|
/* 02787EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000002u);
|
|
/* 02787EB8 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787EB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02787EB8 */ if (_t3) goto L_02787EBC; else goto L_02787ECC;
|
|
L_02787EBC: ; // 0x2787ebc
|
|
/* 02787EBC */ cpu->r[23] = cpu->r[27];
|
|
/* 02787EC0 */ cpu->r[24] = cpu->r[26];
|
|
/* 02787EC4 */ cpu->r[25] = 0x00000001u;
|
|
/* 02787EC8 */ goto L_02787ED0;
|
|
L_02787ECC: ; // 0x2787ecc
|
|
/* 02787ECC */ cpu->r[23] = cpu->r[28];
|
|
L_02787ED0: ; // 0x2787ed0
|
|
/* 02787ED0 */ cpu->r[3] = cpu->r[21];
|
|
/* 02787ED4 */ cpu->r[4] = cpu->r[20] + cpu->r[24];
|
|
/* 02787ED8 */ Gambit_fn_026D86C0(cpu);
|
|
/* 02787EDC */ _t4 = cpu->r[30] + 0xFFFFEDBCu;
|
|
/* 02787EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02787EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02787EE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02787EE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787EE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02787EE8 */ if (_t6) goto L_02787EEC; else goto L_02787EFC;
|
|
L_02787EEC: ; // 0x2787eec
|
|
/* 02787EEC */ cpu->r[0] = 0x10100000u;
|
|
/* 02787EF0 */ _t7 = cpu->r[30] + 0xFFFFEDBCu;
|
|
/* 02787EF0 */ rbrew_write32(cpu->mem, _t7, cpu->r[25]);
|
|
/* 02787EF4 */ cpu->r[0] = cpu->r[0] + 0x000056E8u;
|
|
/* 02787EF8 */ _t8 = cpu->r[31] + 0xFFFFEE20u;
|
|
/* 02787EF8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02787EFC: ; // 0x2787efc
|
|
/* 02787EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02787F00 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787F00 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02787F00 */ if (_t10) goto L_02787F24; else goto L_02787F04;
|
|
L_02787F04: ; // 0x2787f04
|
|
/* 02787F04 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02787F04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02787F08 */ _t12 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02787F08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02787F0C */ cpu->ctr = cpu->r[0];
|
|
/* 02787F10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02787F14 */ cpu->r[4] = cpu->r[31] + 0xFFFFEE20u;
|
|
/* 02787F18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02787F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02787F20 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02787F20 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02787F20 */ if (_t14) goto L_02787F24; else goto L_02787F28;
|
|
L_02787F24: ; // 0x2787f24
|
|
/* 02787F24 */ cpu->r[29] = 0x00000000u;
|
|
L_02787F28: ; // 0x2787f28
|
|
/* 02787F28 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 02787F2C */ _t15 = cpu->r[23] + 0x00000000u;
|
|
/* 02787F2C */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02787F30 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02787F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000002u);
|
|
/* 02787F38 */ cpu->r[24] = cpu->r[24] + 0x00000008u;
|
|
/* 02787F3C */ cpu->r[27] = cpu->r[27] + 0x00000004u;
|
|
/* 02787F40 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02787F40 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02787F40 */ if (_t17) goto L_02787EB4; else goto L_02787F44;
|
|
L_02787F44: ; // 0x2787f44
|
|
/* 02787F44 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 02787F44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02787F48 */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 02787F48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02787F4C */ Gambit_fn_027EADF4(cpu);
|
|
/* 02787F50 */ /* nop */
|
|
/* 02787F54 */ _t20 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02787F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02787F58 */ cpu->lr = cpu->r[0];
|
|
/* 02787F5C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02787F60 */ return;
|
|
}
|
|
|
|
// fn_02787F64 @ 0x2787f64
|
|
void Gambit_fn_02787F64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02787F64: ; // 0x2787f64
|
|
/* 02787F64 */ cpu->r[0] = cpu->lr;
|
|
/* 02787F68 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02787F68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787F68 */ cpu->r[1] = _t0;
|
|
/* 02787F6C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02787F6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02787F70 */ cpu->r[31] = 0x10100000u;
|
|
/* 02787F74 */ cpu->r[31] = cpu->r[31] + 0x00005678u;
|
|
/* 02787F78 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02787F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02787F7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02787F7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02787F80 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02787F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02787F84 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02787F84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02787F88 */ cpu->r[29] = 0x10100000u;
|
|
/* 02787F8C */ cpu->r[0] = 0x10100000u;
|
|
/* 02787F90 */ cpu->r[29] = cpu->r[29] + 0x00005804u;
|
|
/* 02787F94 */ cpu->r[0] = cpu->r[0] + 0x00005828u;
|
|
/* 02787F98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787F98 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02787F9C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02787FA0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02787FA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02787FA4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787FA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02787FA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02787FAC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02787FAC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02787FB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787FB4 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02787FB8 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02787FB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02787FBC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02787FC0 */ cpu->r[0] = 0x10100000u;
|
|
/* 02787FC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787FC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02787FC8 */ cpu->r[0] = cpu->r[0] + 0x00005834u;
|
|
/* 02787FCC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02787FCC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02787FD0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02787FD4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02787FD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02787FD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02787FDC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02787FDC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02787FE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787FE4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02787FE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02787FE8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02787FEC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787FEC */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02787FF0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02787FF4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787FF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02787FF8 */ cpu->r[11] = 0x10100000u;
|
|
/* 02787FFC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02787FFC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02788000 */ cpu->r[11] = cpu->r[11] + 0x00005840u;
|
|
/* 02788004 */ cpu->r[0] = 0x10100000u;
|
|
/* 02788008 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788008 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 0278800C */ cpu->r[0] = cpu->r[0] + 0x00005814u;
|
|
/* 02788010 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02788010 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02788014 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02788018 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0278801C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0278801C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02788020 */ cpu->r[3] = cpu->r[30];
|
|
/* 02788024 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02788028 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02788028 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0278802C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02788030 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02788030 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02788034 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02788034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02788038 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278803C */ cpu->lr = cpu->r[0];
|
|
/* 02788040 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02788040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02788044 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02788048 */ return;
|
|
}
|
|
|
|
// fn_02787F68 @ 0x2787f68
|
|
void Gambit_fn_02787F68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02787F68: ; // 0x2787f68
|
|
/* 02787F68 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02787F68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02787F68 */ cpu->r[1] = _t0;
|
|
/* 02787F6C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02787F6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02787F70 */ cpu->r[31] = 0x10100000u;
|
|
/* 02787F74 */ cpu->r[31] = cpu->r[31] + 0x00005678u;
|
|
/* 02787F78 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02787F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02787F7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02787F7C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02787F80 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02787F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02787F84 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02787F84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02787F88 */ cpu->r[29] = 0x10100000u;
|
|
/* 02787F8C */ cpu->r[0] = 0x10100000u;
|
|
/* 02787F90 */ cpu->r[29] = cpu->r[29] + 0x00005804u;
|
|
/* 02787F94 */ cpu->r[0] = cpu->r[0] + 0x00005828u;
|
|
/* 02787F98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787F98 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02787F9C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02787FA0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02787FA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02787FA4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787FA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02787FA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02787FAC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02787FAC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02787FB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02787FB4 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02787FB8 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02787FB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02787FBC */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02787FC0 */ cpu->r[0] = 0x10100000u;
|
|
/* 02787FC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787FC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02787FC8 */ cpu->r[0] = cpu->r[0] + 0x00005834u;
|
|
/* 02787FCC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02787FCC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02787FD0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02787FD4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02787FD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02787FD8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02787FDC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02787FDC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02787FE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02787FE4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02787FE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02787FE8 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02787FEC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02787FEC */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02787FF0 */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02787FF4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02787FF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02787FF8 */ cpu->r[11] = 0x10100000u;
|
|
/* 02787FFC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02787FFC */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02788000 */ cpu->r[11] = cpu->r[11] + 0x00005840u;
|
|
/* 02788004 */ cpu->r[0] = 0x10100000u;
|
|
/* 02788008 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788008 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 0278800C */ cpu->r[0] = cpu->r[0] + 0x00005814u;
|
|
/* 02788010 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02788010 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02788014 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02788018 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0278801C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0278801C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02788020 */ cpu->r[3] = cpu->r[30];
|
|
/* 02788024 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02788028 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02788028 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0278802C */ Gambit_fn_027ECDD0(cpu);
|
|
/* 02788030 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02788030 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02788034 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02788034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02788038 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278803C */ cpu->lr = cpu->r[0];
|
|
/* 02788040 */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02788040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02788044 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02788048 */ return;
|
|
}
|
|
|
|
// fn_02788050 @ 0x2788050
|
|
void Gambit_fn_02788050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02788050: ; // 0x2788050
|
|
/* 02788050 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02788050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02788050 */ cpu->r[1] = _t0;
|
|
/* 02788054 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02788054 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02788058 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02788058 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278805C */ cpu->r[31] = cpu->r[3];
|
|
/* 02788060 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788060 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02788064 */ _t4 = cpu->r[31] + 0x00000220u;
|
|
/* 02788064 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02788068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278806C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278806C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278806C */ if (_t6) goto L_02788070; else goto L_027880C0;
|
|
L_02788070: ; // 0x2788070
|
|
/* 02788070 */ cpu->r[30] = 0x10100000u;
|
|
/* 02788074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788078 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278807C */ cpu->r[30] = cpu->r[30] + 0x00005678u;
|
|
/* 02788080 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02788084 */ cpu->r[0] = cpu->r[0] + 0x00005854u;
|
|
/* 02788088 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788088 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0278808C */ cpu->r[4] = 0x00000000u;
|
|
/* 02788090 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02788090 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02788094 */ Gambit_fn_027ED798(cpu);
|
|
/* 02788098 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278809C */ cpu->r[12] = 0x10100000u;
|
|
/* 027880A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027880A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 027880A4 */ cpu->r[0] = cpu->r[0] + 0x00005860u;
|
|
/* 027880A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027880AC */ _t10 = cpu->r[12] + 0x00005850u;
|
|
/* 027880AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 027880B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 027880B4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027880B8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027880B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 027880BC */ Gambit_fn_027ED1E4(cpu);
|
|
L_027880C0: ; // 0x27880c0
|
|
/* 027880C0 */ _t12 = cpu->r[31] + 0x00000250u;
|
|
/* 027880C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 027880C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027880C8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027880C8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027880C8 */ if (_t14) goto L_027880D8; else goto L_027880CC;
|
|
L_027880CC: ; // 0x27880cc
|
|
/* 027880CC */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 027880D0 */ cpu->r[4] = 0x00000001u;
|
|
/* 027880D4 */ Gambit_fn_02787330(cpu);
|
|
L_027880D8: ; // 0x27880d8
|
|
/* 027880D8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027880D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027880DC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 027880DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027880E0 */ cpu->lr = cpu->r[0];
|
|
/* 027880E4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027880E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027880E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027880EC */ return;
|
|
}
|
|
|
|
// fn_027880F4 @ 0x27880f4
|
|
void Gambit_fn_027880F4(CPUState* cpu) {
|
|
uint32_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_027880F4: ; // 0x27880f4
|
|
/* 027880F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027880F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027880F4 */ cpu->r[1] = _t0;
|
|
/* 027880F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027880F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027880FC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 027880FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02788100 */ cpu->r[31] = cpu->r[3];
|
|
/* 02788104 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788104 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02788108 */ _t4 = cpu->r[31] + 0x00000220u;
|
|
/* 02788108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278810C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02788110 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788110 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02788110 */ if (_t6) goto L_02788114; else goto L_0278817C;
|
|
L_02788114: ; // 0x2788114
|
|
/* 02788114 */ cpu->r[30] = 0x10100000u;
|
|
/* 02788118 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278811C */ cpu->r[11] = 0x10100000u;
|
|
/* 02788120 */ cpu->r[30] = cpu->r[30] + 0x00005678u;
|
|
/* 02788124 */ cpu->r[12] = cpu->r[12] + 0x00005870u;
|
|
/* 02788128 */ _t7 = cpu->r[11] + 0x00005850u;
|
|
/* 02788128 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0278812C */ cpu->r[4] = 0x00000000u;
|
|
/* 02788130 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788134 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788134 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02788138 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0278813C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278813C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02788140 */ Gambit_fn_027ED1E4(cpu);
|
|
/* 02788144 */ cpu->r[0] = 0x10100000u;
|
|
/* 02788148 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278814C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278814C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02788150 */ cpu->r[0] = cpu->r[0] + 0x0000587Cu;
|
|
/* 02788154 */ cpu->r[4] = 0x00000001u;
|
|
/* 02788158 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0278815C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0278815C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02788160 */ Gambit_fn_027ED798(cpu);
|
|
/* 02788164 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02788164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02788168 */ _t13 = cpu->r[8] + 0x0000011Cu;
|
|
/* 02788168 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278816C */ cpu->ctr = cpu->r[9];
|
|
/* 02788170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788174 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788178 */ Gambit_fn_020DACF0(cpu);
|
|
L_0278817C: ; // 0x278817c
|
|
/* 0278817C */ cpu->r[3] = cpu->r[31];
|
|
/* 02788180 */ cpu->r[4] = 0x00000000u;
|
|
/* 02788184 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02788188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278818C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278818C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278818C */ if (_t15) goto L_027881B4; else goto L_02788190;
|
|
L_02788190: ; // 0x2788190
|
|
/* 02788190 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02788194 */ _t16 = cpu->r[12] + 0x00001350u;
|
|
/* 02788194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02788198 */ _t17 = cpu->r[12] + 0x00000010u;
|
|
/* 02788198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278819C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 027881A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027881A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027881A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027881A4 */ if (_t19) goto L_027881A8; else goto L_027881AC;
|
|
L_027881A8: ; // 0x27881a8
|
|
/* 027881A8 */ cpu->r[4] = 0x00000006u;
|
|
L_027881AC: ; // 0x27881ac
|
|
/* 027881AC */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 027881B0 */ Gambit_fn_02787330(cpu);
|
|
L_027881B4: ; // 0x27881b4
|
|
/* 027881B4 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027881B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027881B8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027881B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027881BC */ cpu->lr = cpu->r[0];
|
|
/* 027881C0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027881C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027881C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027881C8 */ return;
|
|
}
|
|
|
|
// fn_027881D0 @ 0x27881d0
|
|
void Gambit_fn_027881D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027881D0: ; // 0x27881d0
|
|
/* 027881D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027881D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027881D0 */ cpu->r[1] = _t0;
|
|
/* 027881D4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027881D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027881D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027881DC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027881DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027881E0 */ _t3 = cpu->r[31] + 0x00000220u;
|
|
/* 027881E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027881E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027881E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027881E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027881E8 */ if (_t5) goto L_027881EC; else goto L_0278821C;
|
|
L_027881EC: ; // 0x27881ec
|
|
/* 027881EC */ cpu->r[12] = 0x10100000u;
|
|
/* 027881F0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027881F4 */ cpu->r[10] = 0x10100000u;
|
|
/* 027881F8 */ cpu->r[12] = cpu->r[12] + 0x00005678u;
|
|
/* 027881FC */ cpu->r[0] = cpu->r[0] + 0x0000588Cu;
|
|
/* 02788200 */ _t6 = cpu->r[10] + 0x00005850u;
|
|
/* 02788200 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02788204 */ cpu->r[4] = 0x00000000u;
|
|
/* 02788208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278820C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278820C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02788210 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02788214 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02788214 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02788218 */ Gambit_fn_027ED1E4(cpu);
|
|
L_0278821C: ; // 0x278821c
|
|
/* 0278821C */ cpu->r[3] = cpu->r[31];
|
|
/* 02788220 */ cpu->r[4] = 0x00000000u;
|
|
/* 02788224 */ Gambit_fn_027EDF00(cpu);
|
|
/* 02788228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278822C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278822C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278822C */ if (_t10) goto L_0278823C; else goto L_02788230;
|
|
L_02788230: ; // 0x2788230
|
|
/* 02788230 */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788234 */ cpu->r[4] = 0x00000003u;
|
|
/* 02788238 */ Gambit_fn_02787330(cpu);
|
|
L_0278823C: ; // 0x278823c
|
|
/* 0278823C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278823C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02788240 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02788240 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02788244 */ cpu->lr = cpu->r[0];
|
|
/* 02788248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278824C */ return;
|
|
}
|
|
|
|
// fn_02788254 @ 0x2788254
|
|
void Gambit_fn_02788254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02788254: ; // 0x2788254
|
|
/* 02788254 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02788254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02788254 */ cpu->r[1] = _t0;
|
|
/* 02788258 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788258 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278825C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278825C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02788260 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02788260 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02788264 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02788264 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02788268 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278826C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278826C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02788270 */ _t6 = cpu->r[31] + 0x00000220u;
|
|
/* 02788270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02788274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02788278 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788278 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02788278 */ if (_t8) goto L_0278827C; else goto L_027882B4;
|
|
L_0278827C: ; // 0x278827c
|
|
/* 0278827C */ _t9 = cpu->r[31] + 0x00000254u;
|
|
/* 0278827C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02788280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788284 */ cpu->r[11] = cpu->r[31] + 0x00000254u;
|
|
/* 02788288 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788288 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02788288 */ if (_t11) goto L_0278829C; else goto L_0278828C;
|
|
L_0278828C: ; // 0x278828c
|
|
/* 0278828C */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 0278828C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02788290 */ cpu->r[5] = 0x00000000u;
|
|
/* 02788294 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788298 */ Gambit_fn_020EBF30(cpu);
|
|
L_0278829C: ; // 0x278829c
|
|
/* 0278829C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 0278829C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027882A0 */ _t14 = cpu->r[12] + 0x0000011Cu;
|
|
/* 027882A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027882A4 */ cpu->ctr = cpu->r[0];
|
|
/* 027882A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027882AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027882B0 */ Gambit_fn_020DACA4(cpu);
|
|
L_027882B4: ; // 0x27882b4
|
|
/* 027882B4 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 027882B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027882B8 */ _t16 = cpu->r[8] + 0x00000184u;
|
|
/* 027882B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027882BC */ cpu->ctr = cpu->r[9];
|
|
/* 027882C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027882C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027882C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027882CC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027882CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 027882CC */ if (_t18) goto L_02788388; else goto L_027882D0;
|
|
L_027882D0: ; // 0x27882d0
|
|
/* 027882D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027882D4 */ Gambit_fn_020B6534(cpu);
|
|
/* 027882D8 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 027882D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027882DC */ _t20 = cpu->r[10] + 0x00000014u;
|
|
/* 027882DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027882E0 */ cpu->ctr = cpu->r[11];
|
|
/* 027882E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 027882E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027882EC */ _t21 = cpu->r[28] + 0x00000004u;
|
|
/* 027882EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027882F0 */ _t22 = cpu->r[12] + 0x00000014u;
|
|
/* 027882F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027882F4 */ cpu->ctr = cpu->r[0];
|
|
/* 027882F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 027882FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788300 */ cpu->r[30] = 0x101F0000u;
|
|
/* 02788304 */ cpu->r[30] = cpu->r[30] + 0x00002210u;
|
|
/* 02788308 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02788308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278830C */ _t24 = cpu->r[8] + 0x00000014u;
|
|
/* 0278830C */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02788310 */ cpu->ctr = cpu->r[9];
|
|
/* 02788314 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02788314 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02788318 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278831C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788320 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02788320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02788324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[10]);
|
|
/* 02788328 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788328 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02788328 */ if (_t28) goto L_0278837C; else goto L_0278832C;
|
|
L_0278832C: ; // 0x278832c
|
|
/* 0278832C */ cpu->r[0] = 0x00080000u;
|
|
/* 02788330 */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 02788330 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02788334 */ cpu->r[12] = 0x10110000u;
|
|
/* 02788338 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0278833C */ _t30 = cpu->r[28] + 0x00000000u;
|
|
/* 0278833C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02788340 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02788344 */ cpu->ctr = cpu->r[0];
|
|
/* 02788348 */ _t31 = cpu->r[12] + 0x00007399u;
|
|
/* 02788348 */ cpu->r[12] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0278834C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02788350: ; // 0x2788350
|
|
/* 02788350 */ _t32 = cpu->r[9] + 0x00000001u;
|
|
/* 02788350 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02788350 */ cpu->r[9] = _t32;
|
|
/* 02788354 */ _t33 = cpu->r[8] + 0x00000001u;
|
|
/* 02788354 */ cpu->r[11] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02788354 */ cpu->r[8] = _t33;
|
|
/* 02788358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0278835C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278835C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0278835C */ if (_t35) goto L_02788360; else goto L_0278836C;
|
|
L_02788360: ; // 0x2788360
|
|
/* 02788360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02788364 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788364 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02788364 */ if (_t37) goto L_0278837C; else goto L_02788368;
|
|
L_02788368: ; // 0x2788368
|
|
/* 02788368 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02788368 */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02788368 */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 02788368 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02788368 */ if (_t40) goto L_02788350; else goto L_0278836C;
|
|
L_0278836C: ; // 0x278836c
|
|
/* 0278836C */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788370 */ cpu->r[4] = 0x00000005u;
|
|
/* 02788374 */ Gambit_fn_02787330(cpu);
|
|
/* 02788378 */ goto L_02788388;
|
|
L_0278837C: ; // 0x278837c
|
|
/* 0278837C */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788380 */ cpu->r[4] = 0x00000004u;
|
|
/* 02788384 */ Gambit_fn_02787330(cpu);
|
|
L_02788388: ; // 0x2788388
|
|
/* 02788388 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02788388 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278838C */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278838C */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02788390 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02788394 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02788394 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02788398 */ cpu->lr = cpu->r[0];
|
|
/* 0278839C */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 0278839C */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027883A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027883A4 */ return;
|
|
}
|
|
|
|
// fn_027883AC @ 0x27883ac
|
|
void Gambit_fn_027883AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_027883AC: ; // 0x27883ac
|
|
/* 027883AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027883AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027883AC */ cpu->r[1] = _t0;
|
|
/* 027883B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027883B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027883B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027883B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027883B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027883BC */ _t3 = cpu->r[31] + 0x00000220u;
|
|
/* 027883BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027883C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027883C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027883C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027883C4 */ if (_t5) goto L_027883C8; else goto L_027883E0;
|
|
L_027883C8: ; // 0x27883c8
|
|
/* 027883C8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 027883C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027883CC */ _t7 = cpu->r[9] + 0x0000011Cu;
|
|
/* 027883CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027883D0 */ cpu->ctr = cpu->r[0];
|
|
/* 027883D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027883D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027883DC */ Gambit_fn_020DACF0(cpu);
|
|
L_027883E0: ; // 0x27883e0
|
|
/* 027883E0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 027883E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027883E4 */ _t9 = cpu->r[10] + 0x0000018Cu;
|
|
/* 027883E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027883E8 */ cpu->ctr = cpu->r[12];
|
|
/* 027883EC */ cpu->r[3] = cpu->r[31];
|
|
/* 027883F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027883F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027883F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027883F8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027883F8 */ if (_t11) goto L_02788408; else goto L_027883FC;
|
|
L_027883FC: ; // 0x27883fc
|
|
/* 027883FC */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788400 */ cpu->r[4] = 0x00000007u;
|
|
/* 02788404 */ Gambit_fn_02787330(cpu);
|
|
L_02788408: ; // 0x2788408
|
|
/* 02788408 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02788408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278840C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278840C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02788410 */ cpu->lr = cpu->r[0];
|
|
/* 02788414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788418 */ return;
|
|
}
|
|
|
|
// fn_02788420 @ 0x2788420
|
|
void Gambit_fn_02788420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02788420: ; // 0x2788420
|
|
/* 02788420 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02788420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02788420 */ cpu->r[1] = _t0;
|
|
/* 02788424 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788424 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02788428 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278842C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278842C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02788430 */ _t3 = cpu->r[31] + 0x00000220u;
|
|
/* 02788430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02788434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788438 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788438 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02788438 */ if (_t5) goto L_0278843C; else goto L_02788454;
|
|
L_0278843C: ; // 0x278843c
|
|
/* 0278843C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0278843C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02788440 */ _t7 = cpu->r[9] + 0x0000011Cu;
|
|
/* 02788440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02788444 */ cpu->ctr = cpu->r[0];
|
|
/* 02788448 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278844C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788450 */ Gambit_fn_020DACF0(cpu);
|
|
L_02788454: ; // 0x2788454
|
|
/* 02788454 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02788454 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02788458 */ _t9 = cpu->r[10] + 0x0000018Cu;
|
|
/* 02788458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278845C */ cpu->ctr = cpu->r[12];
|
|
/* 02788460 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788464 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278846C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278846C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278846C */ if (_t11) goto L_0278847C; else goto L_02788470;
|
|
L_02788470: ; // 0x2788470
|
|
/* 02788470 */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788474 */ cpu->r[4] = 0x00000008u;
|
|
/* 02788478 */ Gambit_fn_02787330(cpu);
|
|
L_0278847C: ; // 0x278847c
|
|
/* 0278847C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278847C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02788480 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02788484 */ cpu->lr = cpu->r[0];
|
|
/* 02788488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278848C */ return;
|
|
}
|
|
|
|
// fn_02788490 @ 0x2788490
|
|
void Gambit_fn_02788490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02788490: ; // 0x2788490
|
|
/* 02788490 */ cpu->r[10] = 0x10100000u;
|
|
/* 02788494 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02788498 */ cpu->r[10] = cpu->r[10] + 0x00005678u;
|
|
/* 0278849C */ cpu->r[0] = 0x10100000u;
|
|
/* 027884A0 */ cpu->r[12] = cpu->r[12] + 0x00002208u;
|
|
/* 027884A4 */ cpu->r[0] = cpu->r[0] + 0x00005898u;
|
|
/* 027884A8 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027884A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 027884AC */ cpu->r[11] = 0x10100000u;
|
|
/* 027884B0 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 027884B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027884B4 */ cpu->r[11] = cpu->r[11] + 0x000058A4u;
|
|
/* 027884B8 */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027884B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 027884BC */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 027884BC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027884C0 */ return;
|
|
}
|
|
|
|
// fn_027884C4 @ 0x27884c4
|
|
void Gambit_fn_027884C4(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_027884C4: ; // 0x27884c4
|
|
/* 027884C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027884C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027884C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027884C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027884C8 */ goto L_027884CC;
|
|
L_027884CC: ; // 0x27884cc
|
|
/* 027884CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027884CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027884D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027884D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027884D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027884D0 */ goto L_027884D4;
|
|
L_027884D4: ; // 0x27884d4
|
|
/* 027884D4 */ 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_027884D8 @ 0x27884d8
|
|
void Gambit_fn_027884D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027884D8: ; // 0x27884d8
|
|
/* 027884D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027884DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027884DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027884DC */ cpu->r[1] = _t0;
|
|
/* 027884E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027884E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027884E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027884E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027884E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027884E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027884EC */ cpu->r[31] = cpu->r[4];
|
|
/* 027884F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027884F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027884F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027884F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027884F4 */ if (_t5) goto L_02788564; else goto L_027884F8;
|
|
L_027884F8: ; // 0x27884f8
|
|
/* 027884F8 */ cpu->r[0] = 0x10100000u;
|
|
/* 027884FC */ cpu->r[12] = 0x10100000u;
|
|
/* 02788500 */ cpu->r[0] = cpu->r[0] + 0x00005A80u;
|
|
/* 02788504 */ cpu->r[12] = cpu->r[12] + 0x00005AA0u;
|
|
/* 02788508 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278850C */ cpu->r[11] = 0x10100000u;
|
|
/* 02788510 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02788510 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02788514 */ cpu->r[11] = cpu->r[11] + 0x00005A90u;
|
|
/* 02788518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278851C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278851C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02788520 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788520 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02788520 */ if (_t10) goto L_02788554; else goto L_02788524;
|
|
L_02788524: ; // 0x2788524
|
|
/* 02788524 */ cpu->r[10] = 0x10010000u;
|
|
/* 02788528 */ cpu->r[0] = 0x10010000u;
|
|
/* 0278852C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02788530 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02788534 */ cpu->r[3] = cpu->r[30];
|
|
/* 02788538 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788538 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0278853C */ cpu->r[0] = 0x10010000u;
|
|
/* 02788540 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02788540 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02788544 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02788548 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278854C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0278854C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02788550 */ Gambit_fn_02068798(cpu);
|
|
L_02788554: ; // 0x2788554
|
|
/* 02788554 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02788554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788558 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788558 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02788558 */ if (_t15) goto L_02788564; else goto L_0278855C;
|
|
L_0278855C: ; // 0x278855c
|
|
/* 0278855C */ cpu->r[3] = cpu->r[30];
|
|
/* 02788560 */ Gambit_fn_02801BB0(cpu);
|
|
L_02788564: ; // 0x2788564
|
|
/* 02788564 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02788564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02788568 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02788568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278856C */ cpu->lr = cpu->r[0];
|
|
/* 02788570 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02788574 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788578 */ return;
|
|
}
|
|
|
|
// fn_027884DC @ 0x27884dc
|
|
void Gambit_fn_027884DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027884DC: ; // 0x27884dc
|
|
/* 027884DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027884DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027884DC */ cpu->r[1] = _t0;
|
|
/* 027884E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027884E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027884E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027884E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027884E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027884E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027884EC */ cpu->r[31] = cpu->r[4];
|
|
/* 027884F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027884F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027884F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027884F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027884F4 */ if (_t5) goto L_02788564; else goto L_027884F8;
|
|
L_027884F8: ; // 0x27884f8
|
|
/* 027884F8 */ cpu->r[0] = 0x10100000u;
|
|
/* 027884FC */ cpu->r[12] = 0x10100000u;
|
|
/* 02788500 */ cpu->r[0] = cpu->r[0] + 0x00005A80u;
|
|
/* 02788504 */ cpu->r[12] = cpu->r[12] + 0x00005AA0u;
|
|
/* 02788508 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788508 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278850C */ cpu->r[11] = 0x10100000u;
|
|
/* 02788510 */ _t7 = cpu->r[30] + 0x000001C8u;
|
|
/* 02788510 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02788514 */ cpu->r[11] = cpu->r[11] + 0x00005A90u;
|
|
/* 02788518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278851C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278851C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02788520 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788520 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02788520 */ if (_t10) goto L_02788554; else goto L_02788524;
|
|
L_02788524: ; // 0x2788524
|
|
/* 02788524 */ cpu->r[10] = 0x10010000u;
|
|
/* 02788528 */ cpu->r[0] = 0x10010000u;
|
|
/* 0278852C */ cpu->r[10] = cpu->r[10] + 0x00004564u;
|
|
/* 02788530 */ cpu->r[0] = cpu->r[0] + 0x00004554u;
|
|
/* 02788534 */ cpu->r[3] = cpu->r[30];
|
|
/* 02788538 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02788538 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0278853C */ cpu->r[0] = 0x10010000u;
|
|
/* 02788540 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02788540 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02788544 */ cpu->r[0] = cpu->r[0] + 0x00004574u;
|
|
/* 02788548 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278854C */ _t13 = cpu->r[30] + 0x000001C8u;
|
|
/* 0278854C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02788550 */ Gambit_fn_02068798(cpu);
|
|
L_02788554: ; // 0x2788554
|
|
/* 02788554 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02788554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788558 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788558 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02788558 */ if (_t15) goto L_02788564; else goto L_0278855C;
|
|
L_0278855C: ; // 0x278855c
|
|
/* 0278855C */ cpu->r[3] = cpu->r[30];
|
|
/* 02788560 */ Gambit_fn_02801BB0(cpu);
|
|
L_02788564: ; // 0x2788564
|
|
/* 02788564 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02788564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02788568 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02788568 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278856C */ cpu->lr = cpu->r[0];
|
|
/* 02788570 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02788574 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788578 */ return;
|
|
}
|
|
|
|
// fn_0278857C @ 0x278857c
|
|
void Gambit_fn_0278857C(CPUState* cpu) {
|
|
L_0278857C: ; // 0x278857c
|
|
/* 0278857C */ return;
|
|
}
|
|
|
|
// fn_02788580 @ 0x2788580
|
|
void Gambit_fn_02788580(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02788580: ; // 0x2788580
|
|
/* 02788580 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02788580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02788584 */ return;
|
|
}
|
|
|
|
// fn_02788588 @ 0x2788588
|
|
void Gambit_fn_02788588(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02788588: ; // 0x2788588
|
|
/* 02788588 */ _t0 = cpu->r[3] + 0x000001CCu;
|
|
/* 02788588 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278858C */ return;
|
|
}
|
|
|
|
// fn_02788590 @ 0x2788590
|
|
void Gambit_fn_02788590(CPUState* cpu) {
|
|
L_02788590: ; // 0x2788590
|
|
/* 02788590 */ return;
|
|
}
|
|
|
|
// fn_02788594 @ 0x2788594
|
|
void Gambit_fn_02788594(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_02788594: ; // 0x2788594
|
|
/* 02788594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02788598 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788598 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02788598 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02788598 */ goto L_0278859C;
|
|
L_0278859C: ; // 0x278859c
|
|
/* 0278859C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278859C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027885A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027885A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027885A0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027885A0 */ goto L_027885A4;
|
|
L_027885A4: ; // 0x27885a4
|
|
/* 027885A4 */ 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_027885A8 @ 0x27885a8
|
|
void Gambit_fn_027885A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027885A8: ; // 0x27885a8
|
|
/* 027885A8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027885A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027885AC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027885AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027885B0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027885B4 */ cpu->r[11] = 0x10110000u;
|
|
/* 027885B8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027885B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027885BC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027885BC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027885C0 */ return;
|
|
}
|
|
|
|
// fn_027885C4 @ 0x27885c4
|
|
void Gambit_fn_027885C4(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_027885C4: ; // 0x27885c4
|
|
/* 027885C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027885C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027885C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027885C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027885C8 */ goto L_027885CC;
|
|
L_027885CC: ; // 0x27885cc
|
|
/* 027885CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027885CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027885D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027885D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027885D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027885D0 */ goto L_027885D4;
|
|
L_027885D4: ; // 0x27885d4
|
|
/* 027885D4 */ 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_027885D8 @ 0x27885d8
|
|
void Gambit_fn_027885D8(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_027885D8: ; // 0x27885d8
|
|
/* 027885D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027885DC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027885DC */ _t1 = _t0 & 0x00000001u;
|
|
/* 027885DC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027885DC */ goto L_027885E0;
|
|
L_027885E0: ; // 0x27885e0
|
|
/* 027885E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027885E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027885E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027885E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027885E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027885E4 */ goto L_027885E8;
|
|
L_027885E8: ; // 0x27885e8
|
|
/* 027885E8 */ 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_027885EC @ 0x27885ec
|
|
void Gambit_fn_027885EC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_027885EC: ; // 0x27885ec
|
|
/* 027885EC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027885EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027885F0 */ return;
|
|
}
|
|
|
|
// fn_027885F4 @ 0x27885f4
|
|
void Gambit_fn_027885F4(CPUState* cpu) {
|
|
L_027885F4: ; // 0x27885f4
|
|
/* 027885F4 */ return;
|
|
}
|
|
|
|
// fn_027885F8 @ 0x27885f8
|
|
void Gambit_fn_027885F8(CPUState* cpu) {
|
|
L_027885F8: ; // 0x27885f8
|
|
/* 027885F8 */ return;
|
|
}
|
|
|
|
// fn_027885FC @ 0x27885fc
|
|
void Gambit_fn_027885FC(CPUState* cpu) {
|
|
L_027885FC: ; // 0x27885fc
|
|
/* 027885FC */ return;
|
|
}
|
|
|
|
// fn_02788600 @ 0x2788600
|
|
void Gambit_fn_02788600(CPUState* cpu) {
|
|
L_02788600: ; // 0x2788600
|
|
/* 02788600 */ return;
|
|
}
|
|
|
|
// fn_02788604 @ 0x2788604
|
|
void Gambit_fn_02788604(CPUState* cpu) {
|
|
L_02788604: ; // 0x2788604
|
|
/* 02788604 */ return;
|
|
}
|
|
|
|
// fn_02788608 @ 0x2788608
|
|
void Gambit_fn_02788608(CPUState* cpu) {
|
|
L_02788608: ; // 0x2788608
|
|
/* 02788608 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278860C */ return;
|
|
}
|
|
|
|
// fn_02788610 @ 0x2788610
|
|
void Gambit_fn_02788610(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02788610: ; // 0x2788610
|
|
/* 02788610 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02788610 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02788614 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02788614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02788618 */ cpu->ctr = cpu->r[0];
|
|
/* 0278861C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02788620 @ 0x2788620
|
|
void Gambit_fn_02788620(CPUState* cpu) {
|
|
L_02788620: ; // 0x2788620
|
|
/* 02788620 */ return;
|
|
}
|
|
|
|
// fn_02788624 @ 0x2788624
|
|
void Gambit_fn_02788624(CPUState* cpu) {
|
|
L_02788624: ; // 0x2788624
|
|
/* 02788624 */ cpu->r[3] = 0x00000000u;
|
|
/* 02788628 */ return;
|
|
}
|
|
|
|
// fn_0278862C @ 0x278862c
|
|
void Gambit_fn_0278862C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278862C: ; // 0x278862c
|
|
/* 0278862C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02788630 */ _t0 = cpu->r[9] + 0xFFFFDBA0u;
|
|
/* 02788630 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02788630 */ cpu->r[9] = _t0;
|
|
/* 02788634 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02788638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278863C */ cpu->r[12] = cpu->r[12] + 0xFFFFED90u;
|
|
/* 02788640 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788640 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02788640 */ if (_t2) goto L_02788644; else goto L_02788658;
|
|
L_02788644: ; // 0x2788644
|
|
/* 02788644 */ cpu->r[7] = 0x10100000u;
|
|
/* 02788648 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278864C */ cpu->r[7] = cpu->r[7] + 0x000056F8u;
|
|
/* 02788650 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02788650 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02788654 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02788654 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02788658: ; // 0x2788658
|
|
/* 02788658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278865C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278865C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278865C */ if (_t6) goto L_02788660; else goto L_02788668;
|
|
L_02788660: ; // 0x2788660
|
|
/* 02788660 */ cpu->r[3] = 0x00000001u;
|
|
/* 02788664 */ return;
|
|
L_02788668: ; // 0x2788668
|
|
/* 02788668 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0278866C */ _t7 = cpu->r[7] + 0xFFFFDB98u;
|
|
/* 0278866C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278866C */ cpu->r[7] = _t7;
|
|
/* 02788670 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02788674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02788678 */ cpu->r[11] = cpu->r[11] + 0xFFFFED94u;
|
|
/* 0278867C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278867C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278867C */ if (_t9) goto L_02788680; else goto L_02788694;
|
|
L_02788680: ; // 0x2788680
|
|
/* 02788680 */ cpu->r[0] = 0x10100000u;
|
|
/* 02788684 */ cpu->r[9] = 0x00000001u;
|
|
/* 02788688 */ cpu->r[0] = cpu->r[0] + 0x00005668u;
|
|
/* 0278868C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0278868C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02788690 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02788690 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02788694: ; // 0x2788694
|
|
/* 02788694 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02788698 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0278869C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 027886A0 */ return;
|
|
}
|
|
|
|
// fn_027886A4 @ 0x27886a4
|
|
void Gambit_fn_027886A4(CPUState* cpu) {
|
|
L_027886A4: ; // 0x27886a4
|
|
/* 027886A4 */ return;
|
|
}
|
|
|
|
// fn_027886A8 @ 0x27886a8
|
|
void Gambit_fn_027886A8(CPUState* cpu) {
|
|
L_027886A8: ; // 0x27886a8
|
|
/* 027886A8 */ return;
|
|
}
|
|
|
|
// fn_027886AC @ 0x27886ac
|
|
void Gambit_fn_027886AC(CPUState* cpu) {
|
|
L_027886AC: ; // 0x27886ac
|
|
/* 027886AC */ cpu->r[3] = 0x00000000u;
|
|
/* 027886B0 */ return;
|
|
}
|
|
|
|
// fn_027886B4 @ 0x27886b4
|
|
void Gambit_fn_027886B4(CPUState* cpu) {
|
|
L_027886B4: ; // 0x27886b4
|
|
/* 027886B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027886B8 */ return;
|
|
}
|
|
|
|
// fn_027886BC @ 0x27886bc
|
|
void Gambit_fn_027886BC(CPUState* cpu) {
|
|
L_027886BC: ; // 0x27886bc
|
|
/* 027886BC */ return;
|
|
}
|
|
|
|
// fn_027886C0 @ 0x27886c0
|
|
void Gambit_fn_027886C0(CPUState* cpu) {
|
|
L_027886C0: ; // 0x27886c0
|
|
/* 027886C0 */ return;
|
|
}
|
|
|
|
// fn_027886C4 @ 0x27886c4
|
|
void Gambit_fn_027886C4(CPUState* cpu) {
|
|
L_027886C4: ; // 0x27886c4
|
|
/* 027886C4 */ return;
|
|
}
|
|
|
|
// fn_027886C8 @ 0x27886c8
|
|
void Gambit_fn_027886C8(CPUState* cpu) {
|
|
L_027886C8: ; // 0x27886c8
|
|
/* 027886C8 */ return;
|
|
}
|
|
|
|
// fn_027886CC @ 0x27886cc
|
|
void Gambit_fn_027886CC(CPUState* cpu) {
|
|
L_027886CC: ; // 0x27886cc
|
|
/* 027886CC */ return;
|
|
}
|
|
|
|
// fn_027886D0 @ 0x27886d0
|
|
void Gambit_fn_027886D0(CPUState* cpu) {
|
|
L_027886D0: ; // 0x27886d0
|
|
/* 027886D0 */ return;
|
|
}
|
|
|
|
// fn_027886D4 @ 0x27886d4
|
|
void Gambit_fn_027886D4(CPUState* cpu) {
|
|
L_027886D4: ; // 0x27886d4
|
|
/* 027886D4 */ return;
|
|
}
|
|
|
|
// fn_027886D8 @ 0x27886d8
|
|
void Gambit_fn_027886D8(CPUState* cpu) {
|
|
L_027886D8: ; // 0x27886d8
|
|
/* 027886D8 */ return;
|
|
}
|
|
|
|
// fn_027886DC @ 0x27886dc
|
|
void Gambit_fn_027886DC(CPUState* cpu) {
|
|
L_027886DC: ; // 0x27886dc
|
|
/* 027886DC */ return;
|
|
}
|
|
|
|
// fn_027886E0 @ 0x27886e0
|
|
void Gambit_fn_027886E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027886E0: ; // 0x27886e0
|
|
/* 027886E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027886E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027886E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027886E4 */ cpu->r[1] = _t0;
|
|
/* 027886E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027886E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027886EC */ cpu->r[31] = cpu->r[3];
|
|
/* 027886F0 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 027886F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027886F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027886F8 */ Gambit_fn_0208A0C8(cpu);
|
|
/* 027886FC */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788700 */ Gambit_fn_02787238(cpu);
|
|
/* 02788704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02788704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02788708 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278870C */ cpu->lr = cpu->r[0];
|
|
/* 02788710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788714 */ return;
|
|
}
|
|
|
|
// fn_027886E4 @ 0x27886e4
|
|
void Gambit_fn_027886E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027886E4: ; // 0x27886e4
|
|
/* 027886E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027886E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027886E4 */ cpu->r[1] = _t0;
|
|
/* 027886E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027886E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027886EC */ cpu->r[31] = cpu->r[3];
|
|
/* 027886F0 */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 027886F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027886F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027886F8 */ Gambit_fn_0208A0C8(cpu);
|
|
/* 027886FC */ cpu->r[3] = cpu->r[31] + 0x00000218u;
|
|
/* 02788700 */ Gambit_fn_02787238(cpu);
|
|
/* 02788704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02788704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02788708 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278870C */ cpu->lr = cpu->r[0];
|
|
/* 02788710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02788714 */ return;
|
|
}
|
|
|
|
// fn_02788724 @ 0x2788724
|
|
void Gambit_fn_02788724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_02788724: ; // 0x2788724
|
|
/* 02788724 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02788724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02788724 */ cpu->r[1] = _t0;
|
|
/* 02788728 */ /* nop */
|
|
/* 0278872C */ cpu->r[0] = cpu->lr;
|
|
/* 02788730 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02788730 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02788734 */ cpu->r[29] = cpu->r[6];
|
|
/* 02788738 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278873C */ cpu->r[30] = cpu->r[5];
|
|
/* 02788740 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02788740 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02788744 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02788748 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02788748 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0278874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02788750 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02788750 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 02788754 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788754 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02788754 */ if (_t6) goto L_02788798; else goto L_02788758;
|
|
L_02788758: ; // 0x2788758
|
|
/* 02788758 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02788758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278875C */ Gambit_fn_02826F20(cpu);
|
|
/* 02788760 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02788760 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02788764 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 02788764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02788768 */ cpu->ctr = cpu->r[0];
|
|
/* 0278876C */ cpu->r[5] = 0x00000004u;
|
|
/* 02788770 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02788774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278877C */ cpu->r[0] = cpu->r[27];
|
|
/* 02788780 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788780 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02788780 */ if (_t11) goto L_02788788; else goto L_02788784;
|
|
L_02788784: ; // 0x2788784
|
|
/* 02788784 */ cpu->r[0] = 0x00000001u;
|
|
L_02788788: ; // 0x2788788
|
|
/* 02788788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278878C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278878C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278878C */ if (_t13) goto L_02788798; else goto L_02788790;
|
|
L_02788790: ; // 0x2788790
|
|
/* 02788790 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 02788790 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02788794 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02788794 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02788798: ; // 0x2788798
|
|
/* 02788798 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02788798 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278879C */ cpu->r[0] = 0x00000000u;
|
|
/* 027887A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027887A4 */ cpu->r[12] = cpu->r[0];
|
|
/* 027887A8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027887A8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027887A8 */ if (_t18) goto L_027887AC; else goto L_027887D0;
|
|
L_027887AC: ; // 0x27887ac
|
|
/* 027887AC */ cpu->ctr = cpu->r[7];
|
|
/* 027887B0 */ cpu->r[10] = 0x00000000u;
|
|
L_027887B4: ; // 0x27887b4
|
|
/* 027887B4 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 027887B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027887B8 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 027887B8 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 027887BC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 027887C0 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 027887C0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 027887C4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 027887C8 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 027887C8 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 027887CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027887CC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027887CC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 027887CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 027887CC */ if (_t25) goto L_027887B4; else goto L_027887D0;
|
|
L_027887D0: ; // 0x27887d0
|
|
/* 027887D0 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 027887D0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 027887D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027887D8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027887D8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027887D8 */ if (_t28) goto L_0278881C; else goto L_027887DC;
|
|
L_027887DC: ; // 0x27887dc
|
|
/* 027887DC */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027887DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027887E0 */ Gambit_fn_02826F20(cpu);
|
|
/* 027887E4 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027887E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027887E8 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 027887E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027887EC */ cpu->ctr = cpu->r[0];
|
|
/* 027887F0 */ cpu->r[5] = 0x00000004u;
|
|
/* 027887F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027887F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027887FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02788800 */ cpu->r[11] = cpu->r[27];
|
|
/* 02788804 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788804 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02788804 */ if (_t33) goto L_0278880C; else goto L_02788808;
|
|
L_02788808: ; // 0x2788808
|
|
/* 02788808 */ cpu->r[11] = 0x00000001u;
|
|
L_0278880C: ; // 0x278880c
|
|
/* 0278880C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02788810 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788810 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02788810 */ if (_t35) goto L_0278881C; else goto L_02788814;
|
|
L_02788814: ; // 0x2788814
|
|
/* 02788814 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02788814 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02788818 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02788818 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0278881C: ; // 0x278881c
|
|
/* 0278881C */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0278881C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02788820 */ cpu->r[0] = 0x00000000u;
|
|
/* 02788824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02788828 */ cpu->r[12] = cpu->r[0];
|
|
/* 0278882C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278882C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0278882C */ if (_t40) goto L_02788830; else goto L_02788854;
|
|
L_02788830: ; // 0x2788830
|
|
/* 02788830 */ cpu->ctr = cpu->r[6];
|
|
/* 02788834 */ cpu->r[9] = 0x00000000u;
|
|
L_02788838: ; // 0x2788838
|
|
/* 02788838 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02788838 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278883C */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0278883C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02788840 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 02788844 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 02788844 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02788848 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0278884C */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0278884C */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02788850 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02788850 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02788850 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02788850 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02788850 */ if (_t47) goto L_02788838; else goto L_02788854;
|
|
L_02788854: ; // 0x2788854
|
|
/* 02788854 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02788854 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02788858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278885C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278885C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0278885C */ if (_t50) goto L_027888A0; else goto L_02788860;
|
|
L_02788860: ; // 0x2788860
|
|
/* 02788860 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02788860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02788864 */ Gambit_fn_02826F20(cpu);
|
|
/* 02788868 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02788868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0278886C */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0278886C */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02788870 */ cpu->ctr = cpu->r[0];
|
|
/* 02788874 */ cpu->r[5] = 0x00000004u;
|
|
/* 02788878 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278887C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02788884 */ cpu->r[10] = cpu->r[27];
|
|
/* 02788888 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788888 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02788888 */ if (_t55) goto L_02788890; else goto L_0278888C;
|
|
L_0278888C: ; // 0x278888c
|
|
/* 0278888C */ cpu->r[10] = 0x00000001u;
|
|
L_02788890: ; // 0x2788890
|
|
/* 02788890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02788894 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788894 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02788894 */ if (_t57) goto L_027888A0; else goto L_02788898;
|
|
L_02788898: ; // 0x2788898
|
|
/* 02788898 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02788898 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0278889C */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0278889C */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_027888A0: ; // 0x27888a0
|
|
/* 027888A0 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 027888A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027888A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027888A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027888AC */ cpu->r[5] = cpu->r[0];
|
|
/* 027888B0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027888B0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027888B0 */ if (_t62) goto L_027888B4; else goto L_027888D8;
|
|
L_027888B4: ; // 0x27888b4
|
|
/* 027888B4 */ cpu->ctr = cpu->r[12];
|
|
/* 027888B8 */ cpu->r[8] = 0x00000000u;
|
|
L_027888BC: ; // 0x27888bc
|
|
/* 027888BC */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 027888BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027888C0 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 027888C0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 027888C4 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 027888C8 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 027888C8 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 027888CC */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 027888D0 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 027888D0 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 027888D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027888D4 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027888D4 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 027888D4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 027888D4 */ if (_t69) goto L_027888BC; else goto L_027888D8;
|
|
L_027888D8: ; // 0x27888d8
|
|
/* 027888D8 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 027888D8 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 027888DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027888E0 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027888E0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027888E0 */ if (_t72) goto L_027889BC; else goto L_027888E4;
|
|
L_027888E4: ; // 0x27888e4
|
|
/* 027888E4 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027888E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027888E8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027888EC */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027888EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027888F0 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 027888F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027888F4 */ cpu->ctr = cpu->r[12];
|
|
/* 027888F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027888FC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02788900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788904 */ cpu->r[24] = cpu->r[3];
|
|
/* 02788908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278890C */ cpu->r[30] = cpu->r[25];
|
|
/* 02788910 */ cpu->r[7] = 0x00000000u;
|
|
/* 02788914 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788914 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02788914 */ if (_t77) goto L_0278891C; else goto L_02788918;
|
|
L_02788918: ; // 0x2788918
|
|
/* 02788918 */ cpu->r[30] = 0x00000001u;
|
|
L_0278891C: ; // 0x278891c
|
|
/* 0278891C */ cpu->r[31] = 0x10110000u;
|
|
/* 02788920 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02788924 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 02788924 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02788928 */ cpu->r[23] = 0x00000018u;
|
|
L_0278892C: ; // 0x278892c
|
|
/* 0278892C */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0278892C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02788930 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788930 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02788930 */ if (_t80) goto L_027889A0; else goto L_02788934;
|
|
L_02788934: ; // 0x2788934
|
|
/* 02788934 */ cpu->r[26] = cpu->r[27];
|
|
/* 02788934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02788938 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788938 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02788938 */ if (_t82) goto L_0278893C; else goto L_0278894C;
|
|
L_0278893C: ; // 0x278893c
|
|
/* 0278893C */ cpu->r[3] = 0x00000024u;
|
|
/* 02788940 */ Gambit_fn_02801A78(cpu);
|
|
/* 02788944 */ cpu->r[26] = cpu->r[3];
|
|
/* 02788944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02788948 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788948 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02788948 */ if (_t84) goto L_02788994; else goto L_0278894C;
|
|
L_0278894C: ; // 0x278894c
|
|
/* 0278894C */ cpu->r[11] = cpu->r[26];
|
|
/* 0278894C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788950 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788950 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02788950 */ if (_t86) goto L_02788954; else goto L_02788964;
|
|
L_02788954: ; // 0x2788954
|
|
/* 02788954 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02788958 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278895C */ cpu->r[11] = cpu->r[3];
|
|
/* 0278895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02788960 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788960 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02788960 */ if (_t88) goto L_02788980; else goto L_02788964;
|
|
L_02788964: ; // 0x2788964
|
|
/* 02788964 */ cpu->r[5] = 0x10100000u;
|
|
/* 02788968 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02788968 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0278896C */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02788970 */ cpu->r[5] = cpu->r[5] + 0x00005690u;
|
|
/* 02788974 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 02788974 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02788978 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02788978 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0278897C */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0278897C */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02788980: ; // 0x2788980
|
|
/* 02788980 */ cpu->r[6] = 0x10100000u;
|
|
/* 02788984 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02788984 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02788988 */ cpu->r[6] = cpu->r[6] + 0x000056B8u;
|
|
/* 0278898C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0278898C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02788990 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 02788990 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02788994: ; // 0x2788994
|
|
/* 02788994 */ cpu->r[0] = 0x10100000u;
|
|
/* 02788998 */ cpu->r[0] = cpu->r[0] + 0x000056D0u;
|
|
/* 0278899C */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0278899C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_027889A0: ; // 0x27889a0
|
|
/* 027889A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027889A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027889A4 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 027889A8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027889A8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027889A8 */ if (_t98) goto L_027889AC; else goto L_0278892C;
|
|
L_027889AC: ; // 0x27889ac
|
|
/* 027889AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027889B0 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027889B0 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027889B0 */ if (_t100) goto L_027889BC; else goto L_027889B4;
|
|
L_027889B4: ; // 0x27889b4
|
|
/* 027889B4 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 027889B4 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 027889B8 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 027889B8 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_027889BC: ; // 0x27889bc
|
|
/* 027889BC */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 027889BC */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 027889C0 */ /* nop */
|
|
/* 027889C4 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 027889C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027889C8 */ cpu->lr = cpu->r[0];
|
|
/* 027889CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027889D0 */ return;
|
|
}
|
|
|
|
// fn_027889D4 @ 0x27889d4
|
|
void Gambit_fn_027889D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027889D4: ; // 0x27889d4
|
|
/* 027889D4 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 027889D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027889D8 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 027889D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027889DC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 027889DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027889E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027889E4 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027889E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027889E8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027889E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027889E8 */ if (_t5) goto L_027889EC; else goto L_027889F4;
|
|
L_027889EC: ; // 0x27889ec
|
|
/* 027889EC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027889F0 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_027889F4: ; // 0x27889f4
|
|
/* 027889F4 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 027889F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027889F8 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 027889F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027889FC */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 027889FC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02788A00 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02788A00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02788A04 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02788A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02788A08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02788A0C */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02788A0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02788A10 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788A10 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02788A10 */ if (_t13) goto L_02788A14; else goto L_02788A1C;
|
|
L_02788A14: ; // 0x2788a14
|
|
/* 02788A14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02788A18 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02788A1C: ; // 0x2788a1c
|
|
/* 02788A1C */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02788A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02788A20 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02788A20 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02788A24 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02788A24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02788A28 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02788A28 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02788A2C */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02788A2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02788A30 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02788A30 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02788A34 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 02788A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02788A38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02788A3C */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02788A3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02788A40 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788A40 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02788A40 */ if (_t23) goto L_02788A44; else goto L_02788A4C;
|
|
L_02788A44: ; // 0x2788a44
|
|
/* 02788A44 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02788A48 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02788A4C: ; // 0x2788a4c
|
|
/* 02788A4C */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02788A4C */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02788A50 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02788A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02788A54 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 02788A54 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02788A58 */ return;
|
|
}
|
|
|
|
// fn_02788A5C @ 0x2788a5c
|
|
void Gambit_fn_02788A5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_02788A5C: ; // 0x2788a5c
|
|
/* 02788A5C */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02788A5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02788A5C */ cpu->r[1] = _t0;
|
|
/* 02788A60 */ cpu->r[0] = cpu->lr;
|
|
/* 02788A64 */ /* nop */
|
|
/* 02788A68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02788A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02788A6C */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02788A6C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02788A70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788A70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02788A70 */ if (_t3) goto L_02788A74; else goto L_02788A84;
|
|
L_02788A74: ; // 0x2788a74
|
|
/* 02788A74 */ cpu->r[3] = 0x00000418u;
|
|
/* 02788A78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02788A7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02788A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02788A80 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788A80 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02788A80 */ if (_t5) goto L_0278917C; else goto L_02788A84;
|
|
L_02788A84: ; // 0x2788a84
|
|
/* 02788A84 */ cpu->r[28] = 0x00000000u;
|
|
/* 02788A88 */ cpu->r[4] = 0x00000001u;
|
|
/* 02788A8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02788A90 */ cpu->r[5] = cpu->r[28];
|
|
/* 02788A94 */ Gambit_fn_02790BA4(cpu);
|
|
/* 02788A98 */ cpu->r[9] = 0x10100000u;
|
|
/* 02788A9C */ cpu->r[10] = 0x10100000u;
|
|
/* 02788AA0 */ cpu->r[9] = cpu->r[9] + 0x00005DC4u;
|
|
/* 02788AA4 */ cpu->r[10] = cpu->r[10] + 0x00005EE4u;
|
|
/* 02788AA8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02788AA8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02788AAC */ cpu->r[31] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02788AB0 */ _t7 = cpu->r[30] + 0x00000238u;
|
|
/* 02788AB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02788AB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788AB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02788AB4 */ if (_t9) goto L_02788AB8; else goto L_02788AC8;
|
|
L_02788AB8: ; // 0x2788ab8
|
|
/* 02788AB8 */ cpu->r[3] = 0x00000038u;
|
|
/* 02788ABC */ Gambit_fn_02801A78(cpu);
|
|
/* 02788AC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02788AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02788AC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788AC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02788AC4 */ if (_t11) goto L_02788AF8; else goto L_02788AC8;
|
|
L_02788AC8: ; // 0x2788ac8
|
|
/* 02788AC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02788ACC */ Gambit_fn_027FC29C(cpu);
|
|
/* 02788AD0 */ cpu->r[11] = 0x10100000u;
|
|
/* 02788AD4 */ _t12 = cpu->r[31] + 0x00000030u;
|
|
/* 02788AD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02788AD8 */ cpu->r[11] = cpu->r[11] + 0x00005EF4u;
|
|
/* 02788ADC */ _t13 = cpu->r[31] + 0x00000034u;
|
|
/* 02788ADC */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02788AE0 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02788AE0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02788AE4 */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 02788AE4 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02788AE8 */ _t16 = cpu->r[31] + 0x00000028u;
|
|
/* 02788AE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02788AEC */ _t17 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02788AEC */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02788AF0 */ _t18 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02788AF0 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02788AF4 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 02788AF4 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
L_02788AF8: ; // 0x2788af8
|
|
/* 02788AF8 */ cpu->r[3] = cpu->r[30] + 0x00000274u;
|
|
/* 02788AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02788AFC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788AFC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02788AFC */ if (_t21) goto L_02788B00; else goto L_02788B10;
|
|
L_02788B00: ; // 0x2788b00
|
|
/* 02788B00 */ cpu->r[3] = 0x00000004u;
|
|
/* 02788B04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02788B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02788B0C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788B0C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02788B0C */ if (_t23) goto L_02788B14; else goto L_02788B10;
|
|
L_02788B10: ; // 0x2788b10
|
|
/* 02788B10 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02788B10 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
L_02788B14: ; // 0x2788b14
|
|
/* 02788B14 */ cpu->r[12] = 0x00000001u;
|
|
/* 02788B18 */ cpu->r[3] = cpu->r[30] + 0x00000298u;
|
|
/* 02788B1C */ _t25 = cpu->r[30] + 0x00000288u;
|
|
/* 02788B1C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
/* 02788B20 */ Gambit_fn_02173004(cpu);
|
|
/* 02788B24 */ cpu->r[0] = 0x00000004u;
|
|
/* 02788B28 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788B2C */ cpu->r[4] = cpu->r[30];
|
|
/* 02788B30 */ cpu->r[6] = 0x00000000u;
|
|
/* 02788B34 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02788B38 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02788B38 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 02788B3C */ Gambit_fn_0278A5FC(cpu);
|
|
/* 02788B40 */ cpu->r[27] = 0x10100000u;
|
|
/* 02788B44 */ cpu->r[26] = 0x02790000u;
|
|
/* 02788B48 */ cpu->r[27] = cpu->r[27] + 0x00005B94u;
|
|
/* 02788B4C */ cpu->r[6] = 0x10100000u;
|
|
/* 02788B50 */ cpu->r[26] = cpu->r[26] + 0xFFFFA064u;
|
|
/* 02788B54 */ cpu->r[6] = cpu->r[6] + 0x00005C2Cu;
|
|
/* 02788B58 */ cpu->ctr = cpu->r[26];
|
|
/* 02788B5C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788B5C */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02788B60 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02788B60 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 02788B64 */ _t29 = cpu->r[30] + 0x00000254u;
|
|
/* 02788B64 */ cpu->r[24] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02788B68 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788B6C */ _t30 = cpu->r[24] + 0x00000000u;
|
|
/* 02788B6C */ cpu->r[25] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02788B70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788B74 */ cpu->r[29] = 0x10110000u;
|
|
/* 02788B78 */ _t31 = cpu->r[29] + 0x00007399u;
|
|
/* 02788B78 */ cpu->r[29] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02788B7C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788B7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02788B80 */ _t33 = cpu->r[6] + 0x00000000u;
|
|
/* 02788B80 */ cpu->r[7] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02788B84 */ cpu->r[31] = 0x00000000u;
|
|
/* 02788B88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02788B8C */ cpu->r[0] = 0x00080000u;
|
|
/* 02788B90 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788B90 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02788B90 */ if (_t35) goto L_02788BB8; else goto L_02788B94;
|
|
L_02788B94: ; // 0x2788b94
|
|
/* 02788B94 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02788B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02788B9C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02788BA0 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788BA0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02788BA0 */ if (_t37) goto L_02788BB4; else goto L_02788BA4;
|
|
L_02788BA4: ; // 0x2788ba4
|
|
/* 02788BA4 */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 02788BA4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02788BA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02788BAC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788BAC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02788BAC */ if (_t40) goto L_02788BB0; else goto L_02788B94;
|
|
L_02788BB0: ; // 0x2788bb0
|
|
/* 02788BB0 */ goto L_02788BB8;
|
|
L_02788BB4: ; // 0x2788bb4
|
|
/* 02788BB4 */ cpu->r[31] = 0x00000000u;
|
|
L_02788BB8: ; // 0x2788bb8
|
|
/* 02788BB8 */ _t41 = cpu->r[24] + 0x00000008u;
|
|
/* 02788BB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02788BBC */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02788BBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02788BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 02788BC4 */ _t43 = cpu->r[11] + 0x00000014u;
|
|
/* 02788BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02788BC8 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788BC8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02788BC8 */ if (_t45) goto L_02788BD0; else goto L_02788BCC;
|
|
L_02788BCC: ; // 0x2788bcc
|
|
/* 02788BCC */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02788BD0: ; // 0x2788bd0
|
|
/* 02788BD0 */ cpu->ctr = cpu->r[12];
|
|
/* 02788BD4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788BD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788BDC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788BDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02788BE0 */ cpu->r[3] = cpu->r[25];
|
|
/* 02788BE4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02788BE8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02788BEC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02788BF0 */ _t47 = cpu->r[25] + cpu->r[31];
|
|
/* 02788BF0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[29]);
|
|
/* 02788BF4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02788BF8 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02788BF8 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 02788BFC */ cpu->r[6] = 0x02790000u;
|
|
/* 02788C00 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02788C00 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[28]);
|
|
/* 02788C04 */ cpu->r[6] = cpu->r[6] + 0xFFFF987Cu;
|
|
/* 02788C08 */ _t50 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02788C08 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[4]);
|
|
/* 02788C0C */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02788C0C */ rbrew_write32(cpu->mem, _t51, cpu->r[6]);
|
|
/* 02788C10 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02788C14 */ _t52 = cpu->r[1] + 0x00000026u;
|
|
/* 02788C14 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[28]);
|
|
/* 02788C18 */ cpu->r[8] = 0x00000000u;
|
|
/* 02788C1C */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788C1C */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[28]);
|
|
/* 02788C20 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02788C24 */ _t54 = cpu->r[1] + 0x00000016u;
|
|
/* 02788C24 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[28]);
|
|
/* 02788C28 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788C2C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02788C2C */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[8]);
|
|
/* 02788C30 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788C34 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02788C34 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[28]);
|
|
/* 02788C38 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02788C3C */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 02788C3C */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
/* 02788C40 */ Gambit_fn_0278A8AC(cpu);
|
|
/* 02788C44 */ cpu->r[7] = 0x10100000u;
|
|
/* 02788C48 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02788C48 */ rbrew_write32(cpu->mem, _t58, cpu->r[27]);
|
|
/* 02788C4C */ cpu->r[7] = cpu->r[7] + 0x00005C3Cu;
|
|
/* 02788C50 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788C50 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02788C54 */ _t60 = cpu->r[30] + 0x00000250u;
|
|
/* 02788C54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02788C58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 02788C5C */ _t61 = cpu->r[30] + 0x00000254u;
|
|
/* 02788C5C */ cpu->r[25] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02788C60 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788C60 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02788C60 */ if (_t63) goto L_02788C64; else goto L_02788C68;
|
|
L_02788C64: ; // 0x2788c64
|
|
/* 02788C64 */ cpu->r[25] = cpu->r[25] + 0x00000024u;
|
|
L_02788C68: ; // 0x2788c68
|
|
/* 02788C68 */ cpu->ctr = cpu->r[26];
|
|
/* 02788C6C */ _t64 = cpu->r[25] + 0x00000000u;
|
|
/* 02788C6C */ cpu->r[24] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02788C70 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788C74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788C78 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788C78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02788C7C */ _t66 = cpu->r[9] + 0x00000000u;
|
|
/* 02788C7C */ cpu->r[7] = rbrew_read8(cpu->mem, _t66);
|
|
/* 02788C80 */ cpu->r[31] = 0x00000000u;
|
|
/* 02788C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02788C88 */ cpu->r[11] = 0x00080000u;
|
|
/* 02788C8C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788C8C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02788C8C */ if (_t68) goto L_02788CB4; else goto L_02788C90;
|
|
L_02788C90: ; // 0x2788c90
|
|
/* 02788C90 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02788C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02788C98 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02788C9C */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788C9C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02788C9C */ if (_t70) goto L_02788CB0; else goto L_02788CA0;
|
|
L_02788CA0: ; // 0x2788ca0
|
|
/* 02788CA0 */ _t71 = cpu->r[9] + 0x00000000u;
|
|
/* 02788CA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02788CA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02788CA8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788CA8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02788CA8 */ if (_t73) goto L_02788CAC; else goto L_02788C90;
|
|
L_02788CAC: ; // 0x2788cac
|
|
/* 02788CAC */ goto L_02788CB4;
|
|
L_02788CB0: ; // 0x2788cb0
|
|
/* 02788CB0 */ cpu->r[31] = 0x00000000u;
|
|
L_02788CB4: ; // 0x2788cb4
|
|
/* 02788CB4 */ _t74 = cpu->r[25] + 0x00000008u;
|
|
/* 02788CB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02788CB8 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 02788CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02788CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02788CC0 */ _t76 = cpu->r[12] + 0x00000014u;
|
|
/* 02788CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02788CC4 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788CC4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02788CC4 */ if (_t78) goto L_02788CCC; else goto L_02788CC8;
|
|
L_02788CC8: ; // 0x2788cc8
|
|
/* 02788CC8 */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02788CCC: ; // 0x2788ccc
|
|
/* 02788CCC */ cpu->ctr = cpu->r[0];
|
|
/* 02788CD0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788CD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788CD8 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788CD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02788CDC */ cpu->r[3] = cpu->r[24];
|
|
/* 02788CE0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02788CE4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02788CE8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02788CEC */ _t80 = cpu->r[24] + cpu->r[31];
|
|
/* 02788CEC */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[29]);
|
|
/* 02788CF0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02788CF4 */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788CF4 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[28]);
|
|
/* 02788CF8 */ cpu->r[10] = 0x02790000u;
|
|
/* 02788CFC */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 02788CFC */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[28]);
|
|
/* 02788D00 */ cpu->r[10] = cpu->r[10] + 0xFFFF9978u;
|
|
/* 02788D04 */ _t83 = cpu->r[1] + 0x00000026u;
|
|
/* 02788D04 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[28]);
|
|
/* 02788D08 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02788D0C */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02788D0C */ rbrew_write32(cpu->mem, _t84, cpu->r[28]);
|
|
/* 02788D10 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 02788D10 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 02788D14 */ cpu->r[10] = 0x00000001u;
|
|
/* 02788D18 */ _t86 = cpu->r[1] + 0x00000020u;
|
|
/* 02788D18 */ rbrew_write32(cpu->mem, _t86, cpu->r[28]);
|
|
/* 02788D1C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02788D20 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02788D20 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[10]);
|
|
/* 02788D24 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788D28 */ _t88 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02788D28 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[28]);
|
|
/* 02788D2C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02788D30 */ _t89 = cpu->r[1] + 0x00000016u;
|
|
/* 02788D30 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[0]);
|
|
/* 02788D34 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788D38 */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 02788D38 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[28]);
|
|
/* 02788D3C */ Gambit_fn_0278A8AC(cpu);
|
|
/* 02788D40 */ cpu->r[4] = 0x10100000u;
|
|
/* 02788D44 */ _t91 = cpu->r[1] + 0x00000010u;
|
|
/* 02788D44 */ rbrew_write32(cpu->mem, _t91, cpu->r[27]);
|
|
/* 02788D48 */ cpu->r[4] = cpu->r[4] + 0x00005C60u;
|
|
/* 02788D4C */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788D4C */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 02788D50 */ _t93 = cpu->r[30] + 0x00000250u;
|
|
/* 02788D50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02788D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02788D58 */ _t94 = cpu->r[30] + 0x00000254u;
|
|
/* 02788D58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02788D5C */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788D5C */ _t96 = _t95 & 0x00000001u;
|
|
/* 02788D5C */ if (_t96) goto L_02788D60; else goto L_02788D64;
|
|
L_02788D60: ; // 0x2788d60
|
|
/* 02788D60 */ cpu->r[31] = cpu->r[31] + 0x00000048u;
|
|
L_02788D64: ; // 0x2788d64
|
|
/* 02788D64 */ cpu->ctr = cpu->r[26];
|
|
/* 02788D68 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 02788D68 */ cpu->r[24] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02788D6C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788D74 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02788D78 */ _t99 = cpu->r[12] + 0x00000000u;
|
|
/* 02788D78 */ cpu->r[10] = rbrew_read8(cpu->mem, _t99);
|
|
/* 02788D7C */ cpu->r[25] = 0x00000000u;
|
|
/* 02788D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 02788D84 */ cpu->r[5] = 0x00080000u;
|
|
/* 02788D88 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788D88 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02788D88 */ if (_t101) goto L_02788DB0; else goto L_02788D8C;
|
|
L_02788D8C: ; // 0x2788d8c
|
|
/* 02788D8C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02788D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 02788D94 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02788D98 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788D98 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02788D98 */ if (_t103) goto L_02788DAC; else goto L_02788D9C;
|
|
L_02788D9C: ; // 0x2788d9c
|
|
/* 02788D9C */ _t104 = cpu->r[12] + 0x00000000u;
|
|
/* 02788D9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02788DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02788DA4 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788DA4 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02788DA4 */ if (_t106) goto L_02788DA8; else goto L_02788D8C;
|
|
L_02788DA8: ; // 0x2788da8
|
|
/* 02788DA8 */ goto L_02788DB0;
|
|
L_02788DAC: ; // 0x2788dac
|
|
/* 02788DAC */ cpu->r[25] = 0x00000000u;
|
|
L_02788DB0: ; // 0x2788db0
|
|
/* 02788DB0 */ _t107 = cpu->r[31] + 0x00000008u;
|
|
/* 02788DB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02788DB4 */ _t108 = cpu->r[1] + 0x00000010u;
|
|
/* 02788DB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02788DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[7]);
|
|
/* 02788DBC */ _t109 = cpu->r[5] + 0x00000014u;
|
|
/* 02788DBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02788DC0 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788DC0 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02788DC0 */ if (_t111) goto L_02788DC8; else goto L_02788DC4;
|
|
L_02788DC4: ; // 0x2788dc4
|
|
/* 02788DC4 */ cpu->r[25] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02788DC8: ; // 0x2788dc8
|
|
/* 02788DC8 */ cpu->ctr = cpu->r[8];
|
|
/* 02788DCC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788DD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788DD4 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788DD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02788DD8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02788DDC */ cpu->r[5] = cpu->r[25];
|
|
/* 02788DE0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02788DE4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02788DE8 */ _t113 = cpu->r[24] + cpu->r[25];
|
|
/* 02788DE8 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[29]);
|
|
/* 02788DEC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02788DF0 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 02788DF0 */ rbrew_write32(cpu->mem, _t114, cpu->r[28]);
|
|
/* 02788DF4 */ cpu->r[10] = 0x02790000u;
|
|
/* 02788DF8 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 02788DF8 */ rbrew_write32(cpu->mem, _t115, cpu->r[28]);
|
|
/* 02788DFC */ cpu->r[10] = cpu->r[10] + 0xFFFF9B64u;
|
|
/* 02788E00 */ _t116 = cpu->r[1] + 0x00000016u;
|
|
/* 02788E00 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[0]);
|
|
/* 02788E04 */ cpu->r[0] = 0x00000002u;
|
|
/* 02788E08 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788E08 */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[28]);
|
|
/* 02788E0C */ _t118 = cpu->r[1] + 0x00000014u;
|
|
/* 02788E0C */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[28]);
|
|
/* 02788E10 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02788E14 */ _t119 = cpu->r[1] + 0x00000008u;
|
|
/* 02788E14 */ rbrew_write8(cpu->mem, _t119, (uint8_t)cpu->r[0]);
|
|
/* 02788E18 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02788E1C */ _t120 = cpu->r[1] + 0x00000018u;
|
|
/* 02788E1C */ rbrew_write32(cpu->mem, _t120, cpu->r[10]);
|
|
/* 02788E20 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02788E24 */ _t121 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02788E24 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[28]);
|
|
/* 02788E28 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788E2C */ _t122 = cpu->r[1] + 0x00000026u;
|
|
/* 02788E2C */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[28]);
|
|
/* 02788E30 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788E34 */ _t123 = cpu->r[1] + 0x00000024u;
|
|
/* 02788E34 */ rbrew_write16(cpu->mem, _t123, (uint16_t)cpu->r[28]);
|
|
/* 02788E38 */ Gambit_fn_0278A8AC(cpu);
|
|
/* 02788E3C */ cpu->r[11] = 0x10100000u;
|
|
/* 02788E40 */ _t124 = cpu->r[1] + 0x00000010u;
|
|
/* 02788E40 */ rbrew_write32(cpu->mem, _t124, cpu->r[27]);
|
|
/* 02788E44 */ cpu->r[11] = cpu->r[11] + 0x00005C4Cu;
|
|
/* 02788E48 */ _t125 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788E48 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 02788E4C */ _t126 = cpu->r[30] + 0x00000250u;
|
|
/* 02788E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02788E50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02788E54 */ _t127 = cpu->r[30] + 0x00000254u;
|
|
/* 02788E54 */ cpu->r[25] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02788E58 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788E58 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02788E58 */ if (_t129) goto L_02788E5C; else goto L_02788E60;
|
|
L_02788E5C: ; // 0x2788e5c
|
|
/* 02788E5C */ cpu->r[25] = cpu->r[25] + 0x0000006Cu;
|
|
L_02788E60: ; // 0x2788e60
|
|
/* 02788E60 */ cpu->ctr = cpu->r[26];
|
|
/* 02788E64 */ _t130 = cpu->r[25] + 0x00000000u;
|
|
/* 02788E64 */ cpu->r[24] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02788E68 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788E70 */ _t131 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788E70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02788E74 */ _t132 = cpu->r[5] + 0x00000000u;
|
|
/* 02788E74 */ cpu->r[6] = rbrew_read8(cpu->mem, _t132);
|
|
/* 02788E78 */ cpu->r[31] = 0x00000000u;
|
|
/* 02788E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02788E80 */ cpu->r[8] = 0x00080000u;
|
|
/* 02788E84 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788E84 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02788E84 */ if (_t134) goto L_02788EAC; else goto L_02788E88;
|
|
L_02788E88: ; // 0x2788e88
|
|
/* 02788E88 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02788E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02788E90 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02788E94 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02788E94 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02788E94 */ if (_t136) goto L_02788EA8; else goto L_02788E98;
|
|
L_02788E98: ; // 0x2788e98
|
|
/* 02788E98 */ _t137 = cpu->r[5] + 0x00000000u;
|
|
/* 02788E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02788E9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02788EA0 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788EA0 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02788EA0 */ if (_t139) goto L_02788EA4; else goto L_02788E88;
|
|
L_02788EA4: ; // 0x2788ea4
|
|
/* 02788EA4 */ goto L_02788EAC;
|
|
L_02788EA8: ; // 0x2788ea8
|
|
/* 02788EA8 */ cpu->r[31] = 0x00000000u;
|
|
L_02788EAC: ; // 0x2788eac
|
|
/* 02788EAC */ _t140 = cpu->r[25] + 0x00000008u;
|
|
/* 02788EAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02788EB0 */ _t141 = cpu->r[1] + 0x00000010u;
|
|
/* 02788EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02788EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02788EB8 */ _t142 = cpu->r[10] + 0x00000014u;
|
|
/* 02788EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02788EBC */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02788EBC */ _t144 = _t143 & 0x00000001u;
|
|
/* 02788EBC */ if (_t144) goto L_02788EC4; else goto L_02788EC0;
|
|
L_02788EC0: ; // 0x2788ec0
|
|
/* 02788EC0 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02788EC4: ; // 0x2788ec4
|
|
/* 02788EC4 */ cpu->ctr = cpu->r[12];
|
|
/* 02788EC8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788ECC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788ED0 */ _t145 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02788ED0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02788ED4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02788ED8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02788EDC */ cpu->r[3] = cpu->r[24];
|
|
/* 02788EE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02788EE4 */ _t146 = cpu->r[24] + cpu->r[31];
|
|
/* 02788EE4 */ rbrew_write8(cpu->mem, _t146, (uint8_t)cpu->r[29]);
|
|
/* 02788EE8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02788EEC */ _t147 = cpu->r[1] + 0x00000026u;
|
|
/* 02788EEC */ rbrew_write16(cpu->mem, _t147, (uint16_t)cpu->r[28]);
|
|
/* 02788EF0 */ cpu->r[4] = 0x02790000u;
|
|
/* 02788EF4 */ _t148 = cpu->r[1] + 0x00000016u;
|
|
/* 02788EF4 */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[0]);
|
|
/* 02788EF8 */ cpu->r[4] = cpu->r[4] + 0xFFFF9BD0u;
|
|
/* 02788EFC */ _t149 = cpu->r[1] + 0x00000020u;
|
|
/* 02788EFC */ rbrew_write32(cpu->mem, _t149, cpu->r[28]);
|
|
/* 02788F00 */ cpu->r[0] = 0x00000003u;
|
|
/* 02788F04 */ _t150 = cpu->r[1] + 0x00000018u;
|
|
/* 02788F04 */ rbrew_write32(cpu->mem, _t150, cpu->r[4]);
|
|
/* 02788F08 */ _t151 = cpu->r[1] + 0x00000014u;
|
|
/* 02788F08 */ rbrew_write16(cpu->mem, _t151, (uint16_t)cpu->r[28]);
|
|
/* 02788F0C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788F10 */ _t152 = cpu->r[1] + 0x00000028u;
|
|
/* 02788F10 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 02788F14 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788F18 */ _t153 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02788F18 */ rbrew_write16(cpu->mem, _t153, (uint16_t)cpu->r[28]);
|
|
/* 02788F1C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02788F20 */ _t154 = cpu->r[1] + 0x00000024u;
|
|
/* 02788F20 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[28]);
|
|
/* 02788F24 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02788F28 */ _t155 = cpu->r[1] + 0x00000008u;
|
|
/* 02788F28 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]);
|
|
/* 02788F2C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02788F30 */ _t156 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02788F30 */ rbrew_write16(cpu->mem, _t156, (uint16_t)cpu->r[28]);
|
|
/* 02788F34 */ Gambit_fn_0278A8AC(cpu);
|
|
/* 02788F38 */ _t157 = cpu->r[30] + 0x0000024Au;
|
|
/* 02788F38 */ cpu->r[4] = rbrew_read8(cpu->mem, _t157);
|
|
/* 02788F3C */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788F40 */ /* nop */
|
|
/* 02788F44 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02788F48 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02788F4C */ Gambit_fn_0278A934(cpu);
|
|
/* 02788F50 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02788F54 */ _t158 = cpu->r[8] + 0xFFFF9584u;
|
|
/* 02788F54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02788F58 */ cpu->r[25] = 0x00000001u;
|
|
/* 02788F5C */ _t159 = cpu->r[8] + 0x00000159u;
|
|
/* 02788F5C */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[25]);
|
|
/* 02788F60 */ _t160 = cpu->r[30] + 0x00000278u;
|
|
/* 02788F60 */ rbrew_write32(cpu->mem, _t160, cpu->r[28]);
|
|
/* 02788F64 */ _t161 = cpu->r[30] + 0x00000294u;
|
|
/* 02788F64 */ rbrew_write32(cpu->mem, _t161, cpu->r[28]);
|
|
/* 02788F68 */ _t162 = cpu->r[30] + 0x0000028Cu;
|
|
/* 02788F68 */ rbrew_write32(cpu->mem, _t162, cpu->r[28]);
|
|
/* 02788F6C */ _t163 = cpu->r[30] + 0x00000290u;
|
|
/* 02788F6C */ rbrew_write32(cpu->mem, _t163, cpu->r[28]);
|
|
/* 02788F70 */ Gambit_fn_027FAD44(cpu);
|
|
/* 02788F74 */ cpu->ctr = cpu->r[26];
|
|
/* 02788F78 */ _t164 = cpu->r[1] + 0x00000038u;
|
|
/* 02788F78 */ rbrew_write32(cpu->mem, _t164, cpu->r[27]);
|
|
/* 02788F7C */ cpu->r[9] = 0x10100000u;
|
|
/* 02788F80 */ _t165 = cpu->r[1] + 0x00000030u;
|
|
/* 02788F80 */ rbrew_write32(cpu->mem, _t165, cpu->r[27]);
|
|
/* 02788F84 */ cpu->r[9] = cpu->r[9] + 0x00005C18u;
|
|
/* 02788F88 */ _t166 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788F88 */ rbrew_write32(cpu->mem, _t166, cpu->r[3]);
|
|
/* 02788F8C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788F90 */ cpu->r[8] = 0x00000000u;
|
|
/* 02788F94 */ _t167 = cpu->r[1] + 0x00000034u;
|
|
/* 02788F94 */ rbrew_write32(cpu->mem, _t167, cpu->r[9]);
|
|
/* 02788F98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788F9C */ _t168 = cpu->r[1] + 0x00000030u;
|
|
/* 02788F9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02788FA0 */ _t169 = cpu->r[10] + 0x00000014u;
|
|
/* 02788FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02788FA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02788FA8 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788FAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788FB0 */ _t170 = cpu->r[1] + 0x00000038u;
|
|
/* 02788FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02788FB4 */ _t171 = cpu->r[12] + 0x00000014u;
|
|
/* 02788FB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02788FB8 */ cpu->ctr = cpu->r[4];
|
|
/* 02788FBC */ _t172 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02788FC0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02788FC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02788FC8 */ _t173 = cpu->r[1] + 0x00000034u;
|
|
/* 02788FC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02788FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02788FD0 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788FD0 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02788FD0 */ if (_t175) goto L_027890A4; else goto L_02788FD4;
|
|
L_02788FD4: ; // 0x2788fd4
|
|
/* 02788FD4 */ cpu->r[0] = 0x00080000u;
|
|
/* 02788FD8 */ _t176 = cpu->r[1] + 0x00000034u;
|
|
/* 02788FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02788FDC */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02788FE0 */ _t177 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02788FE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02788FE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02788FE8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02788FEC: ; // 0x2788fec
|
|
/* 02788FEC */ _t178 = cpu->r[4] + 0x00000000u;
|
|
/* 02788FEC */ cpu->r[11] = rbrew_read8(cpu->mem, _t178);
|
|
/* 02788FF0 */ _t179 = cpu->r[10] + 0x00000001u;
|
|
/* 02788FF0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02788FF0 */ cpu->r[10] = _t179;
|
|
/* 02788FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 02788FF8 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02788FF8 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02788FF8 */ if (_t181) goto L_02788FFC; else goto L_0278900C;
|
|
L_02788FFC: ; // 0x2788ffc
|
|
/* 02788FFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02789000 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789000 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02789000 */ if (_t183) goto L_027890A4; else goto L_02789004;
|
|
L_02789004: ; // 0x2789004
|
|
/* 02789004 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02789008 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02789008 */ _t184 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02789008 */ _t185 = _t184 >> (0x00000002u & 31u);
|
|
/* 02789008 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02789008 */ if (_t186) goto L_02788FEC; else goto L_0278900C;
|
|
L_0278900C: ; // 0x278900c
|
|
/* 0278900C */ cpu->r[0] = 0x10100000u;
|
|
/* 02789010 */ _t187 = cpu->r[1] + 0x00000040u;
|
|
/* 02789010 */ rbrew_write32(cpu->mem, _t187, cpu->r[27]);
|
|
/* 02789014 */ cpu->r[0] = cpu->r[0] + 0x00005C70u;
|
|
/* 02789018 */ _t188 = cpu->r[1] + 0x00000030u;
|
|
/* 02789018 */ cpu->r[8] = rbrew_read32(cpu->mem, _t188);
|
|
/* 0278901C */ _t189 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278901C */ rbrew_write32(cpu->mem, _t189, cpu->r[0]);
|
|
/* 02789020 */ _t190 = cpu->r[8] + 0x00000014u;
|
|
/* 02789020 */ cpu->r[9] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02789024 */ cpu->ctr = cpu->r[9];
|
|
/* 02789028 */ cpu->r[8] = 0x00000001u;
|
|
/* 0278902C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02789034 */ _t191 = cpu->r[1] + 0x00000030u;
|
|
/* 02789034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02789038 */ _t192 = cpu->r[10] + 0x00000014u;
|
|
/* 02789038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0278903C */ cpu->ctr = cpu->r[0];
|
|
/* 02789040 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02789048 */ _t193 = cpu->r[1] + 0x00000040u;
|
|
/* 02789048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 0278904C */ _t194 = cpu->r[12] + 0x00000014u;
|
|
/* 0278904C */ cpu->r[4] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02789050 */ cpu->ctr = cpu->r[4];
|
|
/* 02789054 */ _t195 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02789058 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278905C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02789060 */ _t196 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02789064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02789068 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789068 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02789068 */ if (_t198) goto L_027890A4; else goto L_0278906C;
|
|
L_0278906C: ; // 0x278906c
|
|
/* 0278906C */ cpu->r[11] = 0x00080000u;
|
|
/* 02789070 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02789074 */ _t199 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789074 */ cpu->r[4] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02789078 */ cpu->ctr = cpu->r[11];
|
|
/* 0278907C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02789080: ; // 0x2789080
|
|
/* 02789080 */ _t200 = cpu->r[4] + 0x00000000u;
|
|
/* 02789080 */ cpu->r[0] = rbrew_read8(cpu->mem, _t200);
|
|
/* 02789084 */ _t201 = cpu->r[12] + 0x00000001u;
|
|
/* 02789084 */ cpu->r[5] = rbrew_read8(cpu->mem, _t201);
|
|
/* 02789084 */ cpu->r[12] = _t201;
|
|
/* 02789088 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0278908C */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278908C */ _t203 = _t202 & 0x00000001u;
|
|
/* 0278908C */ if (_t203) goto L_02789090; else goto L_027890A0;
|
|
L_02789090: ; // 0x2789090
|
|
/* 02789090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02789094 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789094 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02789094 */ if (_t205) goto L_027890A4; else goto L_02789098;
|
|
L_02789098: ; // 0x2789098
|
|
/* 02789098 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0278909C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278909C */ _t206 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278909C */ _t207 = _t206 >> (0x00000002u & 31u);
|
|
/* 0278909C */ _t208 = _t207 & 0x00000001u;
|
|
/* 0278909C */ if (_t208) goto L_02789080; else goto L_027890A0;
|
|
L_027890A0: ; // 0x27890a0
|
|
/* 027890A0 */ cpu->r[25] = 0x00000000u;
|
|
L_027890A4: ; // 0x27890a4
|
|
/* 027890A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027890A8 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027890A8 */ _t210 = _t209 & 0x00000001u;
|
|
/* 027890A8 */ if (_t210) goto L_027890B4; else goto L_027890AC;
|
|
L_027890AC: ; // 0x27890ac
|
|
/* 027890AC */ cpu->r[6] = 0x000000B4u;
|
|
/* 027890B0 */ _t211 = cpu->r[30] + 0x0000028Cu;
|
|
/* 027890B0 */ rbrew_write32(cpu->mem, _t211, cpu->r[6]);
|
|
L_027890B4: ; // 0x27890b4
|
|
/* 027890B4 */ cpu->r[9] = 0x101C0000u;
|
|
/* 027890B8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027890BC */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 027890C0 */ _t212 = cpu->r[9] + 0x00001358u;
|
|
/* 027890C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t212);
|
|
/* 027890C4 */ cpu->r[5] = 0x101D0000u;
|
|
/* 027890C8 */ cpu->r[4] = cpu->r[4] + 0x00005C7Cu;
|
|
/* 027890CC */ cpu->r[6] = 0x00000000u;
|
|
/* 027890D0 */ cpu->r[5] = cpu->r[5] + 0xFFFF900Cu;
|
|
/* 027890D4 */ _t213 = cpu->r[9] + 0x000002F8u;
|
|
/* 027890D4 */ rbrew_write32(cpu->mem, _t213, cpu->r[28]);
|
|
/* 027890D8 */ Gambit_fn_027E0DC4(cpu);
|
|
/* 027890DC */ cpu->r[31] = 0x101D0000u;
|
|
/* 027890E0 */ Gambit_fn_027F5CC0(cpu);
|
|
/* 027890E4 */ cpu->r[7] = cpu->r[3] ^ 0x00000001u;
|
|
/* 027890E8 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 027890EC */ cpu->r[4] = 0x10100000u;
|
|
/* 027890F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 027890F4 */ cpu->r[5] = cpu->r[31] + 0xFFFF900Du;
|
|
/* 027890F8 */ cpu->r[4] = cpu->r[4] + 0x00005C88u;
|
|
/* 027890FC */ _t214 = cpu->r[31] + 0xFFFF900Du;
|
|
/* 027890FC */ rbrew_write8(cpu->mem, _t214, (uint8_t)cpu->r[7]);
|
|
/* 02789100 */ Gambit_fn_027E0DC4(cpu);
|
|
/* 02789104 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02789108 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278910C */ _t215 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0278910C */ cpu->r[3] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02789110 */ cpu->r[0] = 0x10100000u;
|
|
/* 02789114 */ _t216 = cpu->r[1] + 0x00000048u;
|
|
/* 02789114 */ rbrew_write32(cpu->mem, _t216, cpu->r[27]);
|
|
/* 02789118 */ cpu->r[0] = cpu->r[0] + 0x00005C94u;
|
|
/* 0278911C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02789120 */ _t217 = cpu->r[1] + 0x00000044u;
|
|
/* 02789120 */ rbrew_write32(cpu->mem, _t217, cpu->r[0]);
|
|
/* 02789124 */ Gambit_fn_028095AC(cpu);
|
|
/* 02789128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278912C */ cpu->r[0] = 0x00000000u;
|
|
/* 02789130 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789130 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02789130 */ if (_t219) goto L_02789138; else goto L_02789134;
|
|
L_02789134: ; // 0x2789134
|
|
/* 02789134 */ _t220 = cpu->r[3] + 0x00000000u;
|
|
/* 02789134 */ cpu->r[0] = rbrew_read8(cpu->mem, _t220);
|
|
L_02789138: ; // 0x2789138
|
|
/* 02789138 */ cpu->r[5] = 0x101D0000u;
|
|
/* 0278913C */ cpu->r[4] = 0x10100000u;
|
|
/* 02789140 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 02789144 */ cpu->r[6] = 0x00000000u;
|
|
/* 02789148 */ cpu->r[4] = cpu->r[4] + 0x00005C20u;
|
|
/* 0278914C */ _t221 = cpu->r[5] + 0xFFFF900Eu;
|
|
/* 0278914C */ rbrew_write8(cpu->mem, _t221, (uint8_t)cpu->r[0]);
|
|
/* 0278914C */ cpu->r[5] = _t221;
|
|
/* 02789150 */ Gambit_fn_027E0DC4(cpu);
|
|
/* 02789154 */ cpu->r[4] = 0x10100000u;
|
|
/* 02789158 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0278915C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02789160 */ cpu->r[4] = cpu->r[4] + 0x00005CA8u;
|
|
/* 02789164 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02789168 */ cpu->r[5] = cpu->r[5] + 0xFFFF8FF4u;
|
|
/* 0278916C */ cpu->r[6] = 0x00000003u;
|
|
/* 02789170 */ cpu->r[7] = cpu->r[7] + 0xFFFF9008u;
|
|
/* 02789174 */ cpu->r[8] = 0x00000000u;
|
|
/* 02789178 */ Gambit_fn_027E0E28(cpu);
|
|
L_0278917C: ; // 0x278917c
|
|
/* 0278917C */ cpu->r[3] = cpu->r[30];
|
|
/* 02789180 */ /* nop */
|
|
/* 02789184 */ _t222 = cpu->r[1] + 0x00000074u;
|
|
/* 02789184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02789188 */ cpu->lr = cpu->r[0];
|
|
/* 0278918C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02789190 */ return;
|
|
}
|
|
|
|
// fn_02789194 @ 0x2789194
|
|
void Gambit_fn_02789194(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_02789194: ; // 0x2789194
|
|
/* 02789194 */ _t0 = cpu->r[1] + 0xFFFFFF10u;
|
|
/* 02789194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789194 */ cpu->r[1] = _t0;
|
|
/* 02789198 */ /* nop */
|
|
/* 0278919C */ _t1 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278919C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027891A0 */ /* nop */
|
|
/* 027891A4 */ _t2 = cpu->r[1] + 0x000000E0u;
|
|
/* 027891A4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027891A8 */ /* nop */
|
|
/* 027891AC */ cpu->r[28] = cpu->r[4];
|
|
/* 027891B0 */ _t3 = cpu->r[1] + 0x000000D8u;
|
|
/* 027891B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027891B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027891B8 */ _t4 = cpu->r[1] + 0x000000E8u;
|
|
/* 027891B8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027891BC */ cpu->r[4] = 0x10100000u;
|
|
/* 027891C0 */ _t5 = cpu->r[4] + 0x00005CC8u;
|
|
/* 027891C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027891C4 */ _t6 = cpu->r[1] + 0x000000F4u;
|
|
/* 027891C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027891C8 */ cpu->r[27] = cpu->r[3];
|
|
/* 027891CC */ _t7 = cpu->r[27] + 0x0000028Cu;
|
|
/* 027891CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027891D0 */ cpu->r[29] = 0x101F0000u;
|
|
/* 027891D4 */ cpu->r[30] = 0x101F0000u;
|
|
/* 027891D8 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027891DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027891E0 */ cpu->r[29] = cpu->r[29] + 0x00002240u;
|
|
/* 027891E4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027891E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027891E4 */ if (_t9) goto L_027891E8; else goto L_02789304;
|
|
L_027891E8: ; // 0x27891e8
|
|
/* 027891E8 */ cpu->r[4] = cpu->r[28];
|
|
/* 027891EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027891F0 */ Gambit_fn_0280046C(cpu);
|
|
/* 027891F4 */ cpu->f[30] = cpu->f[31];
|
|
/* 027891F8 */ cpu->r[25] = 0x00000000u;
|
|
/* 027891FC */ cpu->r[26] = 0x00000002u;
|
|
L_02789200: ; // 0x2789200
|
|
/* 02789200 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789204 */ cpu->r[0] = cpu->r[25] ^ 0x80000000u;
|
|
/* 02789208 */ _t10 = cpu->r[11] + 0x00005CD0u;
|
|
/* 02789208 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 0278920C */ cpu->r[5] = 0x43300000u;
|
|
/* 02789210 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789210 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02789214 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02789214 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02789218 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02789218 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 0278921C */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 0278921C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[30]);
|
|
/* 02789220 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 02789224 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 02789228 */ /* nop */
|
|
/* 0278922C */ cpu->f[13] = -cpu->f[0];
|
|
/* 02789230 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02789230 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02789234 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02789234 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02789238 */ /* nop */
|
|
/* 0278923C */ _t17 = cpu->r[1] + 0x00000074u;
|
|
/* 0278923C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[30]);
|
|
/* 02789240 */ /* nop */
|
|
/* 02789244 */ /* nop */
|
|
/* 02789248 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02789248 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278924C */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0278924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02789250 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789250 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02789254 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789254 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02789258 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02789258 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0278925C */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 0278925C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02789260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02789264 */ _t24 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789264 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02789268 */ cpu->r[5] = cpu->r[31] + 0x00005BCCu;
|
|
/* 0278926C */ _t25 = cpu->r[1] + 0x00000070u;
|
|
/* 0278926C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02789270 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789270 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02789270 */ if (_t27) goto L_02789274; else goto L_02789278;
|
|
L_02789274: ; // 0x2789274
|
|
/* 02789274 */ cpu->r[5] = cpu->r[30] + 0x00005BECu;
|
|
L_02789278: ; // 0x2789278
|
|
/* 02789278 */ _t28 = cpu->r[5] + 0x00000000u;
|
|
/* 02789278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278927C */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0278927C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02789280 */ _t30 = cpu->r[5] + 0x00000004u;
|
|
/* 02789280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02789284 */ _t31 = cpu->r[1] + 0x00000080u;
|
|
/* 02789284 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02789288 */ _t32 = cpu->r[5] + 0x00000008u;
|
|
/* 02789288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278928C */ _t33 = cpu->r[1] + 0x00000084u;
|
|
/* 0278928C */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 02789290 */ _t34 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02789290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02789294 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02789298 */ cpu->r[3] = cpu->r[27] + 0x00000298u;
|
|
/* 0278929C */ _t35 = cpu->r[1] + 0x00000088u;
|
|
/* 0278929C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 027892A0 */ Gambit_fn_02172BE0(cpu);
|
|
/* 027892A4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 027892A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027892A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027892AC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892AC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027892AC */ if (_t38) goto L_027892B0; else goto L_027892D4;
|
|
L_027892B0: ; // 0x27892b0
|
|
/* 027892B0 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892B4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027892B8 */ cpu->r[4] = cpu->r[4] + 0x00005CE8u;
|
|
/* 027892BC */ _t39 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027892BC */ _t40 = _t39 & 0x00000001u;
|
|
/* 027892BC */ if (_t40) goto L_027892C0; // else: addr-0 trap, fall-through
|
|
L_027892C0: ; // 0x27892c0
|
|
/* 027892C0 */ Gambit_fn_028004D8(cpu);
|
|
/* 027892C4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027892C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027892C8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027892CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892CC */ _t42 = _t41 & 0x00000001u;
|
|
/* 027892CC */ if (_t42) goto L_027892D0; else goto L_02789200;
|
|
L_027892D0: ; // 0x27892d0
|
|
/* 027892D0 */ goto L_02789304;
|
|
L_027892D4: ; // 0x27892d4
|
|
/* 027892D4 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 027892DC */ cpu->r[4] = cpu->r[4] + 0x00005CD8u;
|
|
/* 027892E0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892E0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027892E0 */ if (_t44) goto L_027892E4; else goto L_027892EC;
|
|
L_027892E4: ; // 0x27892e4
|
|
/* 027892E4 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892E8 */ cpu->r[4] = cpu->r[4] + 0x00005CFCu;
|
|
L_027892EC: ; // 0x27892ec
|
|
/* 027892EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027892F0 */ _t45 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027892F0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027892F0 */ if (_t46) goto L_027892F4; // else: addr-0 trap, fall-through
|
|
L_027892F4: ; // 0x27892f4
|
|
/* 027892F4 */ Gambit_fn_028004D8(cpu);
|
|
/* 027892F8 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027892F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027892FC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02789300 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789300 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02789300 */ if (_t48) goto L_02789304; else goto L_02789200;
|
|
L_02789304: ; // 0x2789304
|
|
/* 02789304 */ _t49 = cpu->r[27] + 0x00000290u;
|
|
/* 02789304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02789308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278930C */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278930C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278930C */ if (_t51) goto L_02789310; else goto L_027893E0;
|
|
L_02789310: ; // 0x2789310
|
|
/* 02789310 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02789314 */ cpu->r[4] = cpu->r[28];
|
|
/* 02789318 */ Gambit_fn_0280046C(cpu);
|
|
/* 0278931C */ cpu->f[30] = cpu->f[31];
|
|
/* 02789320 */ cpu->r[25] = 0x10100000u;
|
|
/* 02789324 */ cpu->r[24] = 0x00000002u;
|
|
/* 02789328 */ cpu->r[26] = 0x00000000u;
|
|
L_0278932C: ; // 0x278932c
|
|
/* 0278932C */ cpu->r[8] = 0x10100000u;
|
|
/* 02789330 */ cpu->r[4] = cpu->r[26] ^ 0x80000000u;
|
|
/* 02789334 */ _t52 = cpu->r[8] + 0x00005CD0u;
|
|
/* 02789334 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02789338 */ cpu->r[0] = 0x43300000u;
|
|
/* 0278933C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278933C */ rbrew_write32(cpu->mem, _t53, cpu->r[4]);
|
|
/* 02789340 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02789340 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02789344 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02789344 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02789348 */ _t56 = cpu->r[1] + 0x00000078u;
|
|
/* 02789348 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[30]);
|
|
/* 0278934C */ cpu->f[9] = cpu->f[8] - cpu->f[9];
|
|
/* 02789350 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 02789354 */ /* nop */
|
|
/* 02789358 */ cpu->f[10] = -cpu->f[7];
|
|
/* 0278935C */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278935C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[7]);
|
|
/* 02789360 */ _t58 = cpu->r[1] + 0x00000018u;
|
|
/* 02789360 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[10]);
|
|
/* 02789364 */ /* nop */
|
|
/* 02789368 */ _t59 = cpu->r[1] + 0x00000074u;
|
|
/* 02789368 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[30]);
|
|
/* 0278936C */ /* nop */
|
|
/* 02789370 */ /* nop */
|
|
/* 02789374 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02789374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02789378 */ _t61 = cpu->r[1] + 0x00000050u;
|
|
/* 02789378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0278937C */ _t62 = cpu->r[1] + 0x00000034u;
|
|
/* 0278937C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 02789380 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02789380 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02789384 */ _t64 = cpu->r[1] + 0x00000038u;
|
|
/* 02789384 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02789388 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 02789388 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0278938C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02789390 */ _t66 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789390 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 02789394 */ cpu->r[5] = cpu->r[31] + 0x00005BCCu;
|
|
/* 02789398 */ _t67 = cpu->r[1] + 0x00000070u;
|
|
/* 02789398 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 0278939C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278939C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0278939C */ if (_t69) goto L_027893A0; else goto L_027893A4;
|
|
L_027893A0: ; // 0x27893a0
|
|
/* 027893A0 */ cpu->r[5] = cpu->r[30] + 0x00005BECu;
|
|
L_027893A4: ; // 0x27893a4
|
|
/* 027893A4 */ _t70 = cpu->r[5] + 0x00000000u;
|
|
/* 027893A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027893A8 */ _t71 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027893A8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 027893AC */ _t72 = cpu->r[5] + 0x00000004u;
|
|
/* 027893AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027893B0 */ _t73 = cpu->r[1] + 0x00000080u;
|
|
/* 027893B0 */ rbrew_write32(cpu->mem, _t73, cpu->r[6]);
|
|
/* 027893B4 */ _t74 = cpu->r[5] + 0x00000008u;
|
|
/* 027893B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027893B8 */ _t75 = cpu->r[1] + 0x00000084u;
|
|
/* 027893B8 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 027893BC */ _t76 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027893BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027893C0 */ cpu->r[4] = cpu->r[25] + 0x00005D10u;
|
|
/* 027893C4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027893C8 */ _t77 = cpu->r[1] + 0x00000088u;
|
|
/* 027893C8 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]);
|
|
/* 027893CC */ _t78 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027893CC */ _t79 = _t78 & 0x00000001u;
|
|
/* 027893CC */ if (_t79) goto L_027893D0; // else: addr-0 trap, fall-through
|
|
L_027893D0: ; // 0x27893d0
|
|
/* 027893D0 */ Gambit_fn_028004D8(cpu);
|
|
/* 027893D4 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 027893D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027893D8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027893DC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027893DC */ _t81 = _t80 & 0x00000001u;
|
|
/* 027893DC */ if (_t81) goto L_027893E0; else goto L_0278932C;
|
|
L_027893E0: ; // 0x27893e0
|
|
/* 027893E0 */ _t82 = cpu->r[27] + 0x00000294u;
|
|
/* 027893E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027893E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027893E8 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027893E8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 027893E8 */ if (_t84) goto L_027893EC; else goto L_027894B8;
|
|
L_027893EC: ; // 0x27893ec
|
|
/* 027893EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027893F0 */ cpu->r[4] = cpu->r[28];
|
|
/* 027893F4 */ Gambit_fn_0280046C(cpu);
|
|
/* 027893F8 */ cpu->r[26] = 0x10100000u;
|
|
/* 027893FC */ cpu->r[27] = 0x00000002u;
|
|
/* 02789400 */ cpu->r[28] = 0x00000000u;
|
|
L_02789404: ; // 0x2789404
|
|
/* 02789404 */ cpu->r[5] = 0x10100000u;
|
|
/* 02789408 */ cpu->r[4] = cpu->r[28] ^ 0x80000000u;
|
|
/* 0278940C */ _t85 = cpu->r[5] + 0x00005CD0u;
|
|
/* 0278940C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02789410 */ cpu->r[0] = 0x43300000u;
|
|
/* 02789414 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789414 */ rbrew_write32(cpu->mem, _t86, cpu->r[4]);
|
|
/* 02789418 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02789418 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 0278941C */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0278941C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02789420 */ _t89 = cpu->r[1] + 0x00000078u;
|
|
/* 02789420 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 02789424 */ cpu->f[0] = cpu->f[13] - cpu->f[8];
|
|
/* 02789428 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 0278942C */ /* nop */
|
|
/* 02789430 */ cpu->f[6] = -cpu->f[9];
|
|
/* 02789434 */ _t90 = cpu->r[1] + 0x00000024u;
|
|
/* 02789434 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]);
|
|
/* 02789438 */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02789438 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[6]);
|
|
/* 0278943C */ /* nop */
|
|
/* 02789440 */ _t92 = cpu->r[1] + 0x00000074u;
|
|
/* 02789440 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02789444 */ /* nop */
|
|
/* 02789448 */ /* nop */
|
|
/* 0278944C */ _t93 = cpu->r[1] + 0x00000054u;
|
|
/* 0278944C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02789450 */ _t94 = cpu->r[1] + 0x00000058u;
|
|
/* 02789450 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02789454 */ _t95 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789454 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02789458 */ _t96 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789458 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0278945C */ _t97 = cpu->r[1] + 0x00000040u;
|
|
/* 0278945C */ rbrew_write32(cpu->mem, _t97, cpu->r[4]);
|
|
/* 02789460 */ _t98 = cpu->r[1] + 0x00000040u;
|
|
/* 02789460 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02789464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02789468 */ _t99 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789468 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[11]);
|
|
/* 0278946C */ cpu->r[9] = cpu->r[31] + 0x00005BCCu;
|
|
/* 02789470 */ _t100 = cpu->r[1] + 0x00000070u;
|
|
/* 02789470 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[12]);
|
|
/* 02789474 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789474 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02789474 */ if (_t102) goto L_02789478; else goto L_0278947C;
|
|
L_02789478: ; // 0x2789478
|
|
/* 02789478 */ cpu->r[9] = cpu->r[30] + 0x00005BECu;
|
|
L_0278947C: ; // 0x278947c
|
|
/* 0278947C */ _t103 = cpu->r[9] + 0x00000000u;
|
|
/* 0278947C */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02789480 */ _t104 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02789480 */ rbrew_write32(cpu->mem, _t104, cpu->r[5]);
|
|
/* 02789484 */ _t105 = cpu->r[9] + 0x00000004u;
|
|
/* 02789484 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02789488 */ _t106 = cpu->r[1] + 0x00000080u;
|
|
/* 02789488 */ rbrew_write32(cpu->mem, _t106, cpu->r[7]);
|
|
/* 0278948C */ _t107 = cpu->r[9] + 0x00000008u;
|
|
/* 0278948C */ cpu->r[8] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02789490 */ _t108 = cpu->r[1] + 0x00000084u;
|
|
/* 02789490 */ rbrew_write32(cpu->mem, _t108, cpu->r[8]);
|
|
/* 02789494 */ _t109 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02789494 */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02789498 */ cpu->r[4] = cpu->r[26] + 0x00005D28u;
|
|
/* 0278949C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027894A0 */ _t110 = cpu->r[1] + 0x00000088u;
|
|
/* 027894A0 */ rbrew_write32(cpu->mem, _t110, cpu->r[10]);
|
|
/* 027894A4 */ _t111 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027894A4 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027894A4 */ if (_t112) goto L_027894A8; // else: addr-0 trap, fall-through
|
|
L_027894A8: ; // 0x27894a8
|
|
/* 027894A8 */ Gambit_fn_028004D8(cpu);
|
|
/* 027894AC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 027894AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027894B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027894B4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027894B4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 027894B4 */ if (_t114) goto L_027894B8; else goto L_02789404;
|
|
L_027894B8: ; // 0x27894b8
|
|
/* 027894B8 */ /* nop */
|
|
/* 027894BC */ _t115 = cpu->r[1] + 0x000000D8u;
|
|
/* 027894BC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027894C0 */ _t116 = cpu->r[1] + 0x000000E8u;
|
|
/* 027894C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 027894C4 */ _t117 = cpu->r[1] + 0x000000D0u;
|
|
/* 027894C4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t117);
|
|
/* 027894C8 */ _t118 = cpu->r[1] + 0x000000E0u;
|
|
/* 027894C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 027894CC */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027894CC */ _t120 = _t119 & 0x00000001u;
|
|
/* 027894CC */ if (_t120) goto L_027894D0; // else: addr-0 trap, fall-through
|
|
L_027894D0: ; // 0x27894d0
|
|
/* 027894D0 */ _t121 = cpu->r[1] + 0x000000F4u;
|
|
/* 027894D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027894D4 */ cpu->lr = cpu->r[0];
|
|
/* 027894D8 */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 027894DC */ return;
|
|
}
|
|
|
|
// fn_027894E0 @ 0x27894e0
|
|
void Gambit_fn_027894E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_027894E0: ; // 0x27894e0
|
|
/* 027894E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027894E4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027894E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027894E4 */ cpu->r[1] = _t0;
|
|
/* 027894E8 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027894E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027894EC */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027894EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027894F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027894F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027894F8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027894F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027894FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789500 */ cpu->r[4] = 0x00000000u;
|
|
/* 02789504 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789504 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02789508 */ cpu->r[29] = 0x10100000u;
|
|
/* 0278950C */ cpu->r[0] = 0x10100000u;
|
|
/* 02789510 */ _t5 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02789514 */ cpu->r[29] = cpu->r[29] + 0x00005B94u;
|
|
/* 02789518 */ cpu->r[0] = cpu->r[0] + 0x00005D4Cu;
|
|
/* 0278951C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278951C */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02789520 */ cpu->r[6] = cpu->r[4];
|
|
/* 02789524 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02789524 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02789528 */ Gambit_fn_027D41A4(cpu);
|
|
/* 0278952C */ cpu->r[10] = 0x10100000u;
|
|
/* 02789530 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789530 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02789534 */ cpu->r[4] = 0x00000001u;
|
|
/* 02789538 */ cpu->r[10] = cpu->r[10] + 0x00005D3Cu;
|
|
/* 0278953C */ _t9 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 0278953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02789540 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789544 */ cpu->r[6] = cpu->r[4];
|
|
/* 02789548 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02789548 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0278954C */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789550 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789554 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789554 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02789558 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278955C */ cpu->r[11] = cpu->r[11] + 0x00005D54u;
|
|
/* 02789560 */ _t12 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02789564 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789568 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278956C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0278956C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02789570 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789574 */ cpu->r[12] = 0x10100000u;
|
|
/* 02789578 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789578 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0278957C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789580 */ cpu->r[12] = cpu->r[12] + 0x00005D44u;
|
|
/* 02789584 */ _t15 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02789588 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278958C */ cpu->r[6] = 0x00000001u;
|
|
/* 02789590 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02789590 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02789594 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789598 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278959C */ cpu->r[7] = 0x10100000u;
|
|
/* 027895A0 */ _t17 = cpu->r[9] + 0x00005D34u;
|
|
/* 027895A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027895A4 */ _t18 = cpu->r[7] + 0x00005D38u;
|
|
/* 027895A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027895A8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027895A8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027895AC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027895AC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027895B0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027895B0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 027895B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027895B8 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 027895B8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 027895BC */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895C0 */ cpu->r[29] = 0x00000001u;
|
|
/* 027895C4 */ _t23 = cpu->r[3] + 0x00000057u;
|
|
/* 027895C4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[29]);
|
|
/* 027895C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027895CC */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895D0 */ _t24 = cpu->r[3] + 0x00000057u;
|
|
/* 027895D0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
|
|
/* 027895D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027895D8 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895DC */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027895DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027895E0 */ _t26 = cpu->r[3] + 0x00000060u;
|
|
/* 027895E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 027895E4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027895E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027895E8 */ _t28 = cpu->r[3] + 0x00000064u;
|
|
/* 027895E8 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027895EC */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 027895EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027895F0 */ _t30 = cpu->r[3] + 0x00000068u;
|
|
/* 027895F0 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 027895F4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027895F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027895F8 */ _t32 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027895F8 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027895FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02789600 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 02789604 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02789604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02789608 */ _t34 = cpu->r[3] + 0x00000060u;
|
|
/* 02789608 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0278960C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0278960C */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02789610 */ _t36 = cpu->r[3] + 0x00000064u;
|
|
/* 02789610 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02789614 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02789614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02789618 */ _t38 = cpu->r[3] + 0x00000068u;
|
|
/* 02789618 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0278961C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278961C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02789620 */ _t40 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02789620 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02789624 */ _t41 = cpu->r[31] + 0x00000274u;
|
|
/* 02789624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02789628 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278962C */ cpu->r[5] = 0x00000003u;
|
|
/* 02789630 */ cpu->r[0] = cpu->r[0] | 0x0000000Cu;
|
|
/* 02789634 */ cpu->r[3] = 0x00000000u;
|
|
/* 02789638 */ _t42 = cpu->r[31] + 0x00000274u;
|
|
/* 02789638 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0278963C */ Gambit_fn_02786F90(cpu);
|
|
/* 02789640 */ cpu->r[4] = cpu->r[3];
|
|
/* 02789640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02789644 */ _t43 = cpu->r[31] + 0x00000284u;
|
|
/* 02789644 */ rbrew_write32(cpu->mem, _t43, cpu->r[4]);
|
|
/* 02789648 */ _t44 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02789648 */ cpu->r[30] = _t44;
|
|
/* 0278964C */ _t45 = cpu->r[10] + 0x00000250u;
|
|
/* 0278964C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02789650 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789650 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02789650 */ if (_t47) goto L_02789658; else goto L_02789654;
|
|
L_02789654: ; // 0x2789654
|
|
/* 02789654 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02789658: ; // 0x2789658
|
|
/* 02789658 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278965C */ Gambit_fn_027EFC10(cpu);
|
|
/* 02789660 */ _t48 = cpu->r[30] + 0x00000000u;
|
|
/* 02789660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02789664 */ _t49 = cpu->r[12] + 0x00000254u;
|
|
/* 02789664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02789668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278966C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278966C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278966C */ if (_t51) goto L_0278968C; else goto L_02789670;
|
|
L_02789670: ; // 0x2789670
|
|
/* 02789670 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02789674 */ _t52 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02789674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02789678 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278967C */ cpu->r[5] = cpu->r[3];
|
|
/* 02789680 */ cpu->r[3] = cpu->r[30];
|
|
/* 02789684 */ cpu->r[4] = cpu->r[31] + 0x0000023Cu;
|
|
/* 02789688 */ Gambit_fn_027B8F9C(cpu);
|
|
L_0278968C: ; // 0x278968c
|
|
/* 0278968C */ cpu->r[6] = 0x10100000u;
|
|
/* 02789690 */ cpu->r[0] = 0x00000000u;
|
|
/* 02789694 */ _t53 = cpu->r[6] + 0x00005B18u;
|
|
/* 02789694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02789698 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 0278969C */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 0278969C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 027896A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027896A4 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 027896A4 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 027896A8 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027896AC */ cpu->r[3] = cpu->r[31];
|
|
/* 027896B0 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 027896B0 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 027896B4 */ Gambit_fn_02791774(cpu);
|
|
/* 027896B8 */ _t57 = cpu->r[31] + 0x00000230u;
|
|
/* 027896B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027896BC */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 027896C0 */ _t58 = cpu->r[31] + 0x00000230u;
|
|
/* 027896C0 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 027896C4 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027896C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027896C8 */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027896C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027896CC */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 027896CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027896D0 */ cpu->lr = cpu->r[0];
|
|
/* 027896D4 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 027896D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027896D8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027896DC */ return;
|
|
}
|
|
|
|
// fn_027894E4 @ 0x27894e4
|
|
void Gambit_fn_027894E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_027894E4: ; // 0x27894e4
|
|
/* 027894E4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027894E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027894E4 */ cpu->r[1] = _t0;
|
|
/* 027894E8 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 027894E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027894EC */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 027894EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027894F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027894F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027894F8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027894F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027894FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789500 */ cpu->r[4] = 0x00000000u;
|
|
/* 02789504 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789504 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02789508 */ cpu->r[29] = 0x10100000u;
|
|
/* 0278950C */ cpu->r[0] = 0x10100000u;
|
|
/* 02789510 */ _t5 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789510 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02789514 */ cpu->r[29] = cpu->r[29] + 0x00005B94u;
|
|
/* 02789518 */ cpu->r[0] = cpu->r[0] + 0x00005D4Cu;
|
|
/* 0278951C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278951C */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02789520 */ cpu->r[6] = cpu->r[4];
|
|
/* 02789524 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02789524 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02789528 */ Gambit_fn_027D41A4(cpu);
|
|
/* 0278952C */ cpu->r[10] = 0x10100000u;
|
|
/* 02789530 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789530 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02789534 */ cpu->r[4] = 0x00000001u;
|
|
/* 02789538 */ cpu->r[10] = cpu->r[10] + 0x00005D3Cu;
|
|
/* 0278953C */ _t9 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 0278953C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02789540 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789544 */ cpu->r[6] = cpu->r[4];
|
|
/* 02789548 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02789548 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0278954C */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789550 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789554 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789554 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02789558 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278955C */ cpu->r[11] = cpu->r[11] + 0x00005D54u;
|
|
/* 02789560 */ _t12 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02789564 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789568 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278956C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0278956C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02789570 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789574 */ cpu->r[12] = 0x10100000u;
|
|
/* 02789578 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789578 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0278957C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02789580 */ cpu->r[12] = cpu->r[12] + 0x00005D44u;
|
|
/* 02789584 */ _t15 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02789588 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278958C */ cpu->r[6] = 0x00000001u;
|
|
/* 02789590 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02789590 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02789594 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02789598 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278959C */ cpu->r[7] = 0x10100000u;
|
|
/* 027895A0 */ _t17 = cpu->r[9] + 0x00005D34u;
|
|
/* 027895A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 027895A4 */ _t18 = cpu->r[7] + 0x00005D38u;
|
|
/* 027895A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027895A8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 027895A8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027895AC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027895AC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027895B0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027895B0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 027895B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027895B8 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 027895B8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 027895BC */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895C0 */ cpu->r[29] = 0x00000001u;
|
|
/* 027895C4 */ _t23 = cpu->r[3] + 0x00000057u;
|
|
/* 027895C4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[29]);
|
|
/* 027895C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 027895CC */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895D0 */ _t24 = cpu->r[3] + 0x00000057u;
|
|
/* 027895D0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
|
|
/* 027895D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027895D8 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 027895DC */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 027895DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027895E0 */ _t26 = cpu->r[3] + 0x00000060u;
|
|
/* 027895E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 027895E4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 027895E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027895E8 */ _t28 = cpu->r[3] + 0x00000064u;
|
|
/* 027895E8 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 027895EC */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 027895EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027895F0 */ _t30 = cpu->r[3] + 0x00000068u;
|
|
/* 027895F0 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 027895F4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027895F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027895F8 */ _t32 = cpu->r[3] + 0x0000006Cu;
|
|
/* 027895F8 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 027895FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02789600 */ Gambit_fn_027E6F8C(cpu);
|
|
/* 02789604 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02789604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02789608 */ _t34 = cpu->r[3] + 0x00000060u;
|
|
/* 02789608 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0278960C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0278960C */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02789610 */ _t36 = cpu->r[3] + 0x00000064u;
|
|
/* 02789610 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02789614 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02789614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02789618 */ _t38 = cpu->r[3] + 0x00000068u;
|
|
/* 02789618 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 0278961C */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278961C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02789620 */ _t40 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02789620 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02789624 */ _t41 = cpu->r[31] + 0x00000274u;
|
|
/* 02789624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02789628 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278962C */ cpu->r[5] = 0x00000003u;
|
|
/* 02789630 */ cpu->r[0] = cpu->r[0] | 0x0000000Cu;
|
|
/* 02789634 */ cpu->r[3] = 0x00000000u;
|
|
/* 02789638 */ _t42 = cpu->r[31] + 0x00000274u;
|
|
/* 02789638 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0278963C */ Gambit_fn_02786F90(cpu);
|
|
/* 02789640 */ cpu->r[4] = cpu->r[3];
|
|
/* 02789640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02789644 */ _t43 = cpu->r[31] + 0x00000284u;
|
|
/* 02789644 */ rbrew_write32(cpu->mem, _t43, cpu->r[4]);
|
|
/* 02789648 */ _t44 = cpu->r[30] + 0xFFFF9010u;
|
|
/* 02789648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02789648 */ cpu->r[30] = _t44;
|
|
/* 0278964C */ _t45 = cpu->r[10] + 0x00000250u;
|
|
/* 0278964C */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02789650 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789650 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02789650 */ if (_t47) goto L_02789658; else goto L_02789654;
|
|
L_02789654: ; // 0x2789654
|
|
/* 02789654 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02789658: ; // 0x2789658
|
|
/* 02789658 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278965C */ Gambit_fn_027EFC10(cpu);
|
|
/* 02789660 */ _t48 = cpu->r[30] + 0x00000000u;
|
|
/* 02789660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02789664 */ _t49 = cpu->r[12] + 0x00000254u;
|
|
/* 02789664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02789668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278966C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278966C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278966C */ if (_t51) goto L_0278968C; else goto L_02789670;
|
|
L_02789670: ; // 0x2789670
|
|
/* 02789670 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02789674 */ _t52 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02789674 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02789678 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278967C */ cpu->r[5] = cpu->r[3];
|
|
/* 02789680 */ cpu->r[3] = cpu->r[30];
|
|
/* 02789684 */ cpu->r[4] = cpu->r[31] + 0x0000023Cu;
|
|
/* 02789688 */ Gambit_fn_027B8F9C(cpu);
|
|
L_0278968C: ; // 0x278968c
|
|
/* 0278968C */ cpu->r[6] = 0x10100000u;
|
|
/* 02789690 */ cpu->r[0] = 0x00000000u;
|
|
/* 02789694 */ _t53 = cpu->r[6] + 0x00005B18u;
|
|
/* 02789694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02789698 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 0278969C */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 0278969C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 027896A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027896A4 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 027896A4 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 027896A8 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 027896AC */ cpu->r[3] = cpu->r[31];
|
|
/* 027896B0 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 027896B0 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 027896B4 */ Gambit_fn_02791774(cpu);
|
|
/* 027896B8 */ _t57 = cpu->r[31] + 0x00000230u;
|
|
/* 027896B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027896BC */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 027896C0 */ _t58 = cpu->r[31] + 0x00000230u;
|
|
/* 027896C0 */ rbrew_write32(cpu->mem, _t58, cpu->r[9]);
|
|
/* 027896C4 */ _t59 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027896C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027896C8 */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027896C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027896CC */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 027896CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 027896D0 */ cpu->lr = cpu->r[0];
|
|
/* 027896D4 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 027896D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027896D8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027896DC */ return;
|
|
}
|
|
|
|
// fn_027896E0 @ 0x27896e0
|
|
void Gambit_fn_027896E0(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_027896E0: ; // 0x27896e0
|
|
/* 027896E0 */ cpu->r[0] = cpu->lr;
|
|
/* 027896E4 */ cpu->r[12] = 0x00000004u;
|
|
/* 027896E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027896E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027896E8 */ cpu->r[1] = _t0;
|
|
/* 027896EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027896EC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027896F0 */ cpu->r[8] = 0x10100000u;
|
|
/* 027896F4 */ cpu->r[9] = 0x00000002u;
|
|
/* 027896F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027896F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 027896FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027896FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02789700 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789700 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02789704 */ _t5 = cpu->r[8] + 0x00005B28u;
|
|
/* 02789704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02789708 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278970C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789714 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789714 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02789718 */ Gambit_fn_02791774(cpu);
|
|
/* 0278971C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278971C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789720 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02789724 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02789728 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02789728 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278972C */ _t9 = cpu->r[11] + 0xFFFF9010u;
|
|
/* 0278972C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02789730 */ _t10 = cpu->r[12] + 0x00000250u;
|
|
/* 02789730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02789734 */ _t11 = cpu->r[12] + 0x000000A4u;
|
|
/* 02789734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02789738 */ _t12 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02789738 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 0278973C */ _t13 = cpu->r[11] + 0xFFFF9010u;
|
|
/* 0278973C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02789740 */ _t14 = cpu->r[10] + 0x00000250u;
|
|
/* 02789740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02789744 */ cpu->r[9] = 0x00000001u;
|
|
/* 02789748 */ _t15 = cpu->r[12] + 0x000000ACu;
|
|
/* 02789748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278974C */ _t16 = cpu->r[31] + 0x00000288u;
|
|
/* 0278974C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02789750 */ _t17 = cpu->r[31] + 0x00000280u;
|
|
/* 02789750 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02789754 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02789758 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02789758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278975C */ cpu->lr = cpu->r[0];
|
|
/* 02789760 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789764 */ return;
|
|
}
|
|
|
|
// fn_027896E8 @ 0x27896e8
|
|
void Gambit_fn_027896E8(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_027896E8: ; // 0x27896e8
|
|
/* 027896E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027896E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027896E8 */ cpu->r[1] = _t0;
|
|
/* 027896EC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027896EC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 027896F0 */ cpu->r[8] = 0x10100000u;
|
|
/* 027896F4 */ cpu->r[9] = 0x00000002u;
|
|
/* 027896F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027896F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 027896FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027896FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02789700 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789700 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02789704 */ _t5 = cpu->r[8] + 0x00005B28u;
|
|
/* 02789704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02789708 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278970C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789714 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789714 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02789718 */ Gambit_fn_02791774(cpu);
|
|
/* 0278971C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278971C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789720 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 02789724 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02789728 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02789728 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278972C */ _t9 = cpu->r[11] + 0xFFFF9010u;
|
|
/* 0278972C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02789730 */ _t10 = cpu->r[12] + 0x00000250u;
|
|
/* 02789730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02789734 */ _t11 = cpu->r[12] + 0x000000A4u;
|
|
/* 02789734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02789738 */ _t12 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02789738 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 0278973C */ _t13 = cpu->r[11] + 0xFFFF9010u;
|
|
/* 0278973C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02789740 */ _t14 = cpu->r[10] + 0x00000250u;
|
|
/* 02789740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02789744 */ cpu->r[9] = 0x00000001u;
|
|
/* 02789748 */ _t15 = cpu->r[12] + 0x000000ACu;
|
|
/* 02789748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278974C */ _t16 = cpu->r[31] + 0x00000288u;
|
|
/* 0278974C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02789750 */ _t17 = cpu->r[31] + 0x00000280u;
|
|
/* 02789750 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02789754 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02789758 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02789758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278975C */ cpu->lr = cpu->r[0];
|
|
/* 02789760 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789764 */ return;
|
|
}
|
|
|
|
// fn_02789768 @ 0x2789768
|
|
void Gambit_fn_02789768(CPUState* cpu) {
|
|
uint32_t _t0, _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_02789768: ; // 0x2789768
|
|
/* 02789768 */ cpu->r[0] = cpu->lr;
|
|
/* 0278976C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278976C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278976C */ cpu->r[1] = _t0;
|
|
/* 02789770 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02789770 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02789774 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789778 */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 0278977C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278977C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02789780 */ Gambit_fn_0278AA44(cpu);
|
|
/* 02789784 */ cpu->r[9] = 0x10100000u;
|
|
/* 02789788 */ cpu->r[7] = 0x0000000Au;
|
|
/* 0278978C */ _t3 = cpu->r[9] + 0x00005B58u;
|
|
/* 0278978C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02789790 */ cpu->r[12] = 0x00000004u;
|
|
/* 02789794 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02789794 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 02789798 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278979C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278979C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027897A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027897A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027897A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027897A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027897AC */ Gambit_fn_02791888(cpu);
|
|
/* 027897B0 */ _t7 = cpu->r[31] + 0x00000278u;
|
|
/* 027897B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027897B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027897B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027897B8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027897BC */ _t9 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027897BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027897C0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 027897C4 */ _t10 = cpu->r[31] + 0x00000278u;
|
|
/* 027897C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027897C8 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027897C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027897CC */ _t11 = cpu->r[31] + 0x00000290u;
|
|
/* 027897CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027897D0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027897D4 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 027897D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027897D8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027897D8 */ if (_t14) goto L_027897DC; else goto L_027897E0;
|
|
L_027897DC: ; // 0x27897dc
|
|
/* 027897DC */ cpu->r[8] = cpu->r[9];
|
|
L_027897E0: ; // 0x27897e0
|
|
/* 027897E0 */ _t15 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027897E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027897E4 */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027897E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027897E8 */ _t16 = cpu->r[31] + 0x00000294u;
|
|
/* 027897E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027897EC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 027897EC */ if (_t18) goto L_027897F0; else goto L_027897F4;
|
|
L_027897F0: ; // 0x27897f0
|
|
/* 027897F0 */ cpu->r[7] = cpu->r[9];
|
|
L_027897F4: ; // 0x27897f4
|
|
/* 027897F4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027897F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027897F8 */ _t19 = cpu->r[31] + 0x00000290u;
|
|
/* 027897F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 027897FC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027897FC */ if (_t21) goto L_02789800; else goto L_02789804;
|
|
L_02789800: ; // 0x2789800
|
|
/* 02789800 */ cpu->r[0] = cpu->r[9];
|
|
L_02789804: ; // 0x2789804
|
|
/* 02789804 */ _t22 = cpu->r[31] + 0x00000294u;
|
|
/* 02789804 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02789808 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278980C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0278980C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02789810 */ cpu->lr = cpu->r[0];
|
|
/* 02789814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789818 */ return;
|
|
}
|
|
|
|
// fn_0278976C @ 0x278976c
|
|
void Gambit_fn_0278976C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0278976C: ; // 0x278976c
|
|
/* 0278976C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278976C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278976C */ cpu->r[1] = _t0;
|
|
/* 02789770 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02789770 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02789774 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789778 */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 0278977C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278977C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02789780 */ Gambit_fn_0278AA44(cpu);
|
|
/* 02789784 */ cpu->r[9] = 0x10100000u;
|
|
/* 02789788 */ cpu->r[7] = 0x0000000Au;
|
|
/* 0278978C */ _t3 = cpu->r[9] + 0x00005B58u;
|
|
/* 0278978C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02789790 */ cpu->r[12] = 0x00000004u;
|
|
/* 02789794 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02789794 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
/* 02789798 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278979C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278979C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027897A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027897A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027897A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027897A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 027897AC */ Gambit_fn_02791888(cpu);
|
|
/* 027897B0 */ _t7 = cpu->r[31] + 0x00000278u;
|
|
/* 027897B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027897B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027897B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027897B8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 027897BC */ _t9 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027897BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027897C0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 027897C4 */ _t10 = cpu->r[31] + 0x00000278u;
|
|
/* 027897C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027897C8 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027897C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027897CC */ _t11 = cpu->r[31] + 0x00000290u;
|
|
/* 027897CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027897D0 */ cpu->r[9] = 0x00000000u;
|
|
/* 027897D4 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 027897D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 027897D8 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027897D8 */ if (_t14) goto L_027897DC; else goto L_027897E0;
|
|
L_027897DC: ; // 0x27897dc
|
|
/* 027897DC */ cpu->r[8] = cpu->r[9];
|
|
L_027897E0: ; // 0x27897e0
|
|
/* 027897E0 */ _t15 = cpu->r[31] + 0x0000028Cu;
|
|
/* 027897E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 027897E4 */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 027897E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027897E8 */ _t16 = cpu->r[31] + 0x00000294u;
|
|
/* 027897E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027897EC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 027897EC */ if (_t18) goto L_027897F0; else goto L_027897F4;
|
|
L_027897F0: ; // 0x27897f0
|
|
/* 027897F0 */ cpu->r[7] = cpu->r[9];
|
|
L_027897F4: ; // 0x27897f4
|
|
/* 027897F4 */ cpu->r[0] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 027897F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027897F8 */ _t19 = cpu->r[31] + 0x00000290u;
|
|
/* 027897F8 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 027897FC */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027897FC */ _t21 = _t20 & 0x00000001u;
|
|
/* 027897FC */ if (_t21) goto L_02789800; else goto L_02789804;
|
|
L_02789800: ; // 0x2789800
|
|
/* 02789800 */ cpu->r[0] = cpu->r[9];
|
|
L_02789804: ; // 0x2789804
|
|
/* 02789804 */ _t22 = cpu->r[31] + 0x00000294u;
|
|
/* 02789804 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02789808 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278980C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0278980C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02789810 */ cpu->lr = cpu->r[0];
|
|
/* 02789814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789818 */ return;
|
|
}
|
|
|
|
// fn_0278981C @ 0x278981c
|
|
void Gambit_fn_0278981C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278981C: ; // 0x278981c
|
|
/* 0278981C */ cpu->r[0] = cpu->lr;
|
|
/* 02789820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02789820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789820 */ cpu->r[1] = _t0;
|
|
/* 02789824 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789828 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02789828 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278982C */ cpu->r[9] = 0x0000000Cu;
|
|
/* 02789830 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02789830 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02789834 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789838 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278983C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278983C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02789840 */ cpu->r[0] = 0x00000004u;
|
|
/* 02789844 */ _t4 = cpu->r[11] + 0x00005B68u;
|
|
/* 02789844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02789848 */ cpu->r[6] = cpu->r[4];
|
|
/* 0278984C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278984C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02789850 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789854 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789854 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02789858 */ Gambit_fn_027919C4(cpu);
|
|
/* 0278985C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278985C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789860 */ cpu->r[0] = cpu->r[0] | 0x00001000u;
|
|
/* 02789864 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02789864 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02789868 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278986C */ cpu->lr = cpu->r[0];
|
|
/* 02789870 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02789870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02789874 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789878 */ return;
|
|
}
|
|
|
|
// fn_02789820 @ 0x2789820
|
|
void Gambit_fn_02789820(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02789820: ; // 0x2789820
|
|
/* 02789820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02789820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789820 */ cpu->r[1] = _t0;
|
|
/* 02789824 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789828 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02789828 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278982C */ cpu->r[9] = 0x0000000Cu;
|
|
/* 02789830 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02789830 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 02789834 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789838 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278983C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278983C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02789840 */ cpu->r[0] = 0x00000004u;
|
|
/* 02789844 */ _t4 = cpu->r[11] + 0x00005B68u;
|
|
/* 02789844 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02789848 */ cpu->r[6] = cpu->r[4];
|
|
/* 0278984C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278984C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02789850 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789854 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789854 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02789858 */ Gambit_fn_027919C4(cpu);
|
|
/* 0278985C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278985C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789860 */ cpu->r[0] = cpu->r[0] | 0x00001000u;
|
|
/* 02789864 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02789864 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02789868 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278986C */ cpu->lr = cpu->r[0];
|
|
/* 02789870 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02789870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02789874 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02789878 */ return;
|
|
}
|
|
|
|
// fn_02789880 @ 0x2789880
|
|
void Gambit_fn_02789880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02789880: ; // 0x2789880
|
|
/* 02789880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02789880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789880 */ cpu->r[1] = _t0;
|
|
/* 02789884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02789888 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278988C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278988C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02789890 */ _t3 = cpu->r[31] + 0x00000244u;
|
|
/* 02789890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02789894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02789898 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789898 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02789898 */ if (_t5) goto L_0278989C; else goto L_027898A8;
|
|
L_0278989C: ; // 0x278989c
|
|
/* 0278989C */ _t6 = cpu->r[31] + 0x00000280u;
|
|
/* 0278989C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027898A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 027898A4 */ Gambit_fn_0209A654(cpu);
|
|
L_027898A8: ; // 0x27898a8
|
|
/* 027898A8 */ Gambit_fn_027FA9BC(cpu);
|
|
/* 027898AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027898B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027898B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027898B0 */ if (_t8) goto L_027898DC; else goto L_027898B4;
|
|
L_027898B4: ; // 0x27898b4
|
|
/* 027898B4 */ _t9 = cpu->r[31] + 0x00000244u;
|
|
/* 027898B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027898B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027898BC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027898BC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027898BC */ if (_t11) goto L_027898C0; else goto L_027898DC;
|
|
L_027898C0: ; // 0x27898c0
|
|
/* 027898C0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027898C4 */ _t12 = cpu->r[3] + 0xFFFF9274u;
|
|
/* 027898C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027898C8 */ cpu->r[4] = 0x00000003u;
|
|
/* 027898CC */ Gambit_fn_027A00D4(cpu);
|
|
/* 027898D0 */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 027898D4 */ cpu->r[4] = 0x00000001u;
|
|
/* 027898D8 */ Gambit_fn_0278AB3C(cpu);
|
|
L_027898DC: ; // 0x27898dc
|
|
/* 027898DC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027898DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027898E0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027898E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027898E4 */ cpu->lr = cpu->r[0];
|
|
/* 027898E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027898EC */ return;
|
|
}
|
|
|
|
// fn_027898F0 @ 0x27898f0
|
|
void Gambit_fn_027898F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027898F0: ; // 0x27898f0
|
|
/* 027898F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027898F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027898F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027898F4 */ cpu->r[1] = _t0;
|
|
/* 027898F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027898F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027898FC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02789900 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02789900 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02789904 */ _t3 = cpu->r[12] + 0x00001350u;
|
|
/* 02789904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02789908 */ _t4 = cpu->r[12] + 0x00000010u;
|
|
/* 02789908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278990C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02789910 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789914 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789914 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02789914 */ if (_t6) goto L_02789918; else goto L_02789960;
|
|
L_02789918: ; // 0x2789918
|
|
/* 02789918 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 0278991C */ cpu->r[11] = 0x00020000u;
|
|
/* 02789920 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02789920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789924 */ cpu->r[11] = cpu->r[11] + 0x00006000u;
|
|
/* 02789928 */ cpu->r[0] = cpu->r[11] & cpu->r[12];
|
|
/* 0278992C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02789930 */ cpu->r[12] = 0x00000000u;
|
|
/* 02789934 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789934 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02789934 */ if (_t9) goto L_02789938; else goto L_02789948;
|
|
L_02789938: ; // 0x2789938
|
|
/* 02789938 */ _t10 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02789938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278993C */ cpu->r[0] = cpu->r[31] & cpu->r[11];
|
|
/* 0278993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02789940 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789940 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02789940 */ if (_t12) goto L_02789948; else goto L_02789944;
|
|
L_02789944: ; // 0x2789944
|
|
/* 02789944 */ cpu->r[12] = 0x00000001u;
|
|
L_02789948: ; // 0x2789948
|
|
/* 02789948 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02789948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278994C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278994C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02789950 */ cpu->lr = cpu->r[0];
|
|
/* 02789954 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02789958 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0278995C */ return;
|
|
L_02789960: ; // 0x2789960
|
|
/* 02789960 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02789960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02789964 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02789968 */ cpu->lr = cpu->r[0];
|
|
/* 0278996C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02789970 */ cpu->r[3] = 0x00000000u;
|
|
/* 02789974 */ return;
|
|
}
|
|
|
|
// fn_027898F4 @ 0x27898f4
|
|
void Gambit_fn_027898F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027898F4: ; // 0x27898f4
|
|
/* 027898F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027898F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027898F4 */ cpu->r[1] = _t0;
|
|
/* 027898F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027898F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027898FC */ cpu->r[12] = 0x101C0000u;
|
|
/* 02789900 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02789900 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02789904 */ _t3 = cpu->r[12] + 0x00001350u;
|
|
/* 02789904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02789908 */ _t4 = cpu->r[12] + 0x00000010u;
|
|
/* 02789908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278990C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02789910 */ cpu->r[31] = cpu->r[3];
|
|
/* 02789914 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789914 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02789914 */ if (_t6) goto L_02789918; else goto L_02789960;
|
|
L_02789918: ; // 0x2789918
|
|
/* 02789918 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 0278991C */ cpu->r[11] = 0x00020000u;
|
|
/* 02789920 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02789920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02789924 */ cpu->r[11] = cpu->r[11] + 0x00006000u;
|
|
/* 02789928 */ cpu->r[0] = cpu->r[11] & cpu->r[12];
|
|
/* 0278992C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02789930 */ cpu->r[12] = 0x00000000u;
|
|
/* 02789934 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789934 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02789934 */ if (_t9) goto L_02789938; else goto L_02789948;
|
|
L_02789938: ; // 0x2789938
|
|
/* 02789938 */ _t10 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02789938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278993C */ cpu->r[0] = cpu->r[31] & cpu->r[11];
|
|
/* 0278993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02789940 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789940 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02789940 */ if (_t12) goto L_02789948; else goto L_02789944;
|
|
L_02789944: ; // 0x2789944
|
|
/* 02789944 */ cpu->r[12] = 0x00000001u;
|
|
L_02789948: ; // 0x2789948
|
|
/* 02789948 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02789948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278994C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278994C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02789950 */ cpu->lr = cpu->r[0];
|
|
/* 02789954 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02789958 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0278995C */ return;
|
|
L_02789960: ; // 0x2789960
|
|
/* 02789960 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02789960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02789964 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02789968 */ cpu->lr = cpu->r[0];
|
|
/* 0278996C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02789970 */ cpu->r[3] = 0x00000000u;
|
|
/* 02789974 */ return;
|
|
}
|
|
|
|
// fn_0278997C @ 0x278997c
|
|
void Gambit_fn_0278997C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278997C: ; // 0x278997c
|
|
/* 0278997C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0278997C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278997C */ cpu->r[1] = _t0;
|
|
/* 02789980 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02789984 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02789984 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02789988 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278998C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0278998C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02789990 */ _t4 = cpu->r[31] + 0x00000244u;
|
|
/* 02789990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02789994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02789998 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0278999C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278999C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278999C */ if (_t6) goto L_027899A0; else goto L_027899C4;
|
|
L_027899A0: ; // 0x27899a0
|
|
/* 027899A0 */ _t7 = cpu->r[31] + 0x00000284u;
|
|
/* 027899A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027899A4 */ Gambit_fn_02787030(cpu);
|
|
/* 027899A8 */ _t8 = cpu->r[30] + 0x00001350u;
|
|
/* 027899A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027899AC */ _t9 = cpu->r[8] + 0x00000010u;
|
|
/* 027899AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027899B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 027899B4 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 027899B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027899B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027899B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027899B8 */ if (_t12) goto L_027899BC; else goto L_027899C4;
|
|
L_027899BC: ; // 0x27899bc
|
|
/* 027899BC */ cpu->r[11] = 0x00000001u;
|
|
/* 027899C0 */ _t13 = cpu->r[31] + 0x00000288u;
|
|
/* 027899C0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
L_027899C4: ; // 0x27899c4
|
|
/* 027899C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000003Cu);
|
|
/* 027899C8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027899C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027899C8 */ if (_t15) goto L_027899F4; else goto L_027899CC;
|
|
L_027899CC: ; // 0x27899cc
|
|
/* 027899CC */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027899D0 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 027899D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027899D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 027899D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027899D8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027899D8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027899D8 */ if (_t18) goto L_027899F4; else goto L_027899DC;
|
|
L_027899DC: ; // 0x27899dc
|
|
/* 027899DC */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027899E0 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 027899E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027899E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 027899E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027899E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027899E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027899E8 */ if (_t21) goto L_027899F4; else goto L_027899EC;
|
|
L_027899EC: ; // 0x27899ec
|
|
/* 027899EC */ _t22 = cpu->r[31] + 0x00000284u;
|
|
/* 027899EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027899F0 */ Gambit_fn_02787088(cpu);
|
|
L_027899F4: ; // 0x27899f4
|
|
/* 027899F4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027899F8 */ cpu->r[9] = 0x10100000u;
|
|
/* 027899FC */ cpu->r[0] = 0x10100000u;
|
|
/* 02789A00 */ _t23 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 02789A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02789A04 */ cpu->r[9] = cpu->r[9] + 0x00005B94u;
|
|
/* 02789A08 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789A0C */ cpu->r[0] = cpu->r[0] + 0x00005D5Cu;
|
|
/* 02789A10 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02789A10 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02789A14 */ cpu->r[5] = 0x00000001u;
|
|
/* 02789A18 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789A18 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02789A1C */ Gambit_fn_028095AC(cpu);
|
|
/* 02789A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789A24 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02789A24 */ if (_t27) goto L_02789A3C; else goto L_02789A28;
|
|
L_02789A28: ; // 0x2789a28
|
|
/* 02789A28 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02789A28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02789A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02789A30 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A30 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02789A30 */ if (_t30) goto L_02789A3C; else goto L_02789A34;
|
|
L_02789A34: ; // 0x2789a34
|
|
/* 02789A34 */ _t31 = cpu->r[31] + 0x00000284u;
|
|
/* 02789A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02789A38 */ Gambit_fn_02787088(cpu);
|
|
L_02789A3C: ; // 0x2789a3c
|
|
/* 02789A3C */ _t32 = cpu->r[30] + 0x00001350u;
|
|
/* 02789A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02789A40 */ _t33 = cpu->r[8] + 0x00000010u;
|
|
/* 02789A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02789A44 */ cpu->r[30] = 0x00000000u;
|
|
/* 02789A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02789A4C */ _t34 = cpu->r[31] + 0x00000284u;
|
|
/* 02789A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02789A50 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A50 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02789A50 */ if (_t36) goto L_02789A54; else goto L_02789A80;
|
|
L_02789A54: ; // 0x2789a54
|
|
/* 02789A54 */ Gambit_fn_02787090(cpu);
|
|
/* 02789A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789A5C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A5C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02789A5C */ if (_t38) goto L_02789AC0; else goto L_02789A60;
|
|
L_02789A60: ; // 0x2789a60
|
|
/* 02789A60 */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 02789A64 */ cpu->r[4] = 0x00000002u;
|
|
/* 02789A68 */ Gambit_fn_0278AB3C(cpu);
|
|
/* 02789A6C */ cpu->r[3] = 0x00000008u;
|
|
/* 02789A70 */ Gambit_fn_027898F0(cpu);
|
|
/* 02789A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789A78 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A78 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02789A78 */ if (_t40) goto L_02789B08; else goto L_02789A7C;
|
|
L_02789A7C: ; // 0x2789a7c
|
|
/* 02789A7C */ goto L_02789AD0;
|
|
L_02789A80: ; // 0x2789a80
|
|
/* 02789A80 */ Gambit_fn_02787098(cpu);
|
|
/* 02789A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789A88 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789A88 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02789A88 */ if (_t42) goto L_02789AA0; else goto L_02789A8C;
|
|
L_02789A8C: ; // 0x2789a8c
|
|
/* 02789A8C */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 02789A90 */ cpu->r[4] = 0x00000002u;
|
|
/* 02789A94 */ Gambit_fn_0278AB3C(cpu);
|
|
/* 02789A98 */ cpu->r[9] = 0x00000001u;
|
|
/* 02789A9C */ _t43 = cpu->r[31] + 0x00000288u;
|
|
/* 02789A9C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
L_02789AA0: ; // 0x2789aa0
|
|
/* 02789AA0 */ _t44 = cpu->r[31] + 0x00000284u;
|
|
/* 02789AA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02789AA4 */ Gambit_fn_027870A0(cpu);
|
|
/* 02789AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789AAC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789AAC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02789AAC */ if (_t46) goto L_02789AC0; else goto L_02789AB0;
|
|
L_02789AB0: ; // 0x2789ab0
|
|
/* 02789AB0 */ cpu->r[3] = cpu->r[31] + 0x0000023Cu;
|
|
/* 02789AB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02789AB8 */ Gambit_fn_0278AB3C(cpu);
|
|
/* 02789ABC */ _t47 = cpu->r[31] + 0x00000288u;
|
|
/* 02789ABC */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[30]);
|
|
L_02789AC0: ; // 0x2789ac0
|
|
/* 02789AC0 */ cpu->r[3] = 0x00000008u;
|
|
/* 02789AC4 */ Gambit_fn_027898F0(cpu);
|
|
/* 02789AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789ACC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789ACC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02789ACC */ if (_t49) goto L_02789B08; else goto L_02789AD0;
|
|
L_02789AD0: ; // 0x2789ad0
|
|
/* 02789AD0 */ cpu->r[3] = cpu->r[31] + 0x00000298u;
|
|
/* 02789AD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789AD8 */ Gambit_fn_02172BE0(cpu);
|
|
/* 02789ADC */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02789ADC */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02789AE0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02789AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02789AE8 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02789AE8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02789AE8 */ if (_t52) goto L_02789AEC; else goto L_02789AF0;
|
|
L_02789AEC: ; // 0x2789aec
|
|
/* 02789AEC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
L_02789AF0: ; // 0x2789af0
|
|
/* 02789AF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02789AF4 */ cpu->r[3] = cpu->r[31] + 0x00000298u;
|
|
/* 02789AF8 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02789AF8 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 02789AFC */ Gambit_fn_02173244(cpu);
|
|
/* 02789B00 */ cpu->r[12] = 0x000000B4u;
|
|
/* 02789B04 */ _t54 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02789B04 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
L_02789B08: ; // 0x2789b08
|
|
/* 02789B08 */ cpu->r[3] = 0x00000400u;
|
|
/* 02789B0C */ Gambit_fn_027898F0(cpu);
|
|
/* 02789B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789B14 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789B14 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02789B14 */ if (_t56) goto L_02789B24; else goto L_02789B18;
|
|
L_02789B18: ; // 0x2789b18
|
|
/* 02789B18 */ _t57 = cpu->r[31] + 0x00000288u;
|
|
/* 02789B18 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[30]);
|
|
/* 02789B1C */ cpu->r[6] = 0x000000B4u;
|
|
/* 02789B20 */ _t58 = cpu->r[31] + 0x00000290u;
|
|
/* 02789B20 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
|
|
L_02789B24: ; // 0x2789b24
|
|
/* 02789B24 */ cpu->r[3] = 0x00000002u;
|
|
/* 02789B28 */ Gambit_fn_027898F0(cpu);
|
|
/* 02789B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789B30 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789B30 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02789B30 */ if (_t60) goto L_02789B4C; else goto L_02789B34;
|
|
L_02789B34: ; // 0x2789b34
|
|
/* 02789B34 */ cpu->r[0] = 0x000000B4u;
|
|
/* 02789B38 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02789B3C */ _t61 = cpu->r[31] + 0x00000294u;
|
|
/* 02789B3C */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02789B40 */ _t62 = cpu->r[12] + 0x00001358u;
|
|
/* 02789B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02789B44 */ cpu->r[10] = 0x00000001u;
|
|
/* 02789B48 */ _t63 = cpu->r[12] + 0x000002FCu;
|
|
/* 02789B48 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[10]);
|
|
L_02789B4C: ; // 0x2789b4c
|
|
/* 02789B4C */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02789B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02789B50 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02789B50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02789B54 */ cpu->lr = cpu->r[0];
|
|
/* 02789B58 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02789B5C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02789B60 */ return;
|
|
}
|
|
|
|
// fn_02789B68 @ 0x2789b68
|
|
void Gambit_fn_02789B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02789B68: ; // 0x2789b68
|
|
/* 02789B68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02789B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789B68 */ cpu->r[1] = _t0;
|
|
/* 02789B6C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02789B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02789B70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789B70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02789B74 */ cpu->r[30] = cpu->r[3];
|
|
/* 02789B78 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02789B78 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02789B7C */ _t4 = cpu->r[30] + 0x00000244u;
|
|
/* 02789B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02789B80 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02789B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02789B88 */ _t5 = cpu->r[31] + 0xFFFF9568u;
|
|
/* 02789B88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02789B8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789B8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02789B8C */ if (_t7) goto L_02789B90; else goto L_02789BA4;
|
|
L_02789B90: ; // 0x2789b90
|
|
/* 02789B90 */ cpu->r[3] = cpu->r[30] + 0x00000298u;
|
|
/* 02789B94 */ Gambit_fn_021730F4(cpu);
|
|
/* 02789B98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02789B9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02789BA0 */ Gambit_fn_027D3834(cpu);
|
|
L_02789BA4: ; // 0x2789ba4
|
|
/* 02789BA4 */ cpu->r[3] = cpu->r[30] + 0x0000023Cu;
|
|
/* 02789BA8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02789BAC */ Gambit_fn_0278AB3C(cpu);
|
|
/* 02789BB0 */ cpu->r[3] = cpu->r[30] + 0x00000298u;
|
|
/* 02789BB4 */ Gambit_fn_02172FC0(cpu);
|
|
/* 02789BB8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02789BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02789BBC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02789BBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02789BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02789BC4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789BC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02789BC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02789BCC */ return;
|
|
}
|
|
|
|
// fn_02789BD0 @ 0x2789bd0
|
|
void Gambit_fn_02789BD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02789BD0: ; // 0x2789bd0
|
|
/* 02789BD0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02789BD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789BD0 */ cpu->r[1] = _t0;
|
|
/* 02789BD4 */ /* nop */
|
|
/* 02789BD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02789BDC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02789BDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02789BE0 */ _t2 = cpu->r[3] + 0x00000244u;
|
|
/* 02789BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02789BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02789BE8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789BE8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02789BE8 */ if (_t4) goto L_02789BEC; else goto L_02789D14;
|
|
L_02789BEC: ; // 0x2789bec
|
|
/* 02789BEC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02789BF0 */ _t5 = cpu->r[11] + 0xFFFF900Cu;
|
|
/* 02789BF0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02789BF4 */ cpu->r[31] = 0x10100000u;
|
|
/* 02789BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02789BFC */ cpu->r[31] = cpu->r[31] + 0x00005B94u;
|
|
/* 02789C00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789C00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02789C00 */ if (_t7) goto L_02789CD4; else goto L_02789C04;
|
|
L_02789C04: ; // 0x2789c04
|
|
/* 02789C04 */ cpu->r[28] = 0x101C0000u;
|
|
/* 02789C08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02789C0C */ _t8 = cpu->r[28] + 0x00001358u;
|
|
/* 02789C0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02789C0C */ cpu->r[28] = _t8;
|
|
/* 02789C10 */ cpu->r[7] = 0x10100000u;
|
|
/* 02789C14 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789C14 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02789C18 */ cpu->r[7] = cpu->r[7] + 0x00005D70u;
|
|
/* 02789C1C */ cpu->r[26] = cpu->r[9] + 0x0000001Cu;
|
|
/* 02789C20 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02789C20 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02789C24 */ _t11 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02789C24 */ cpu->r[27] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02789C28 */ Gambit_fn_0278A064(cpu);
|
|
/* 02789C2C */ cpu->r[29] = 0x10110000u;
|
|
/* 02789C30 */ _t12 = cpu->r[29] + 0x00007399u;
|
|
/* 02789C30 */ cpu->r[29] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02789C34 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02789C34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02789C38 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02789C38 */ cpu->r[6] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02789C3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02789C40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 02789C44 */ cpu->r[0] = 0x00080000u;
|
|
/* 02789C48 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789C48 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02789C48 */ if (_t16) goto L_02789C70; else goto L_02789C4C;
|
|
L_02789C4C: ; // 0x2789c4c
|
|
/* 02789C4C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02789C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02789C54 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02789C58 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02789C58 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02789C58 */ if (_t18) goto L_02789C6C; else goto L_02789C5C;
|
|
L_02789C5C: ; // 0x2789c5c
|
|
/* 02789C5C */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02789C5C */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02789C60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02789C64 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789C64 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02789C64 */ if (_t21) goto L_02789C68; else goto L_02789C4C;
|
|
L_02789C68: ; // 0x2789c68
|
|
/* 02789C68 */ goto L_02789C70;
|
|
L_02789C6C: ; // 0x2789c6c
|
|
/* 02789C6C */ cpu->r[30] = 0x00000000u;
|
|
L_02789C70: ; // 0x2789c70
|
|
/* 02789C70 */ _t22 = cpu->r[26] + 0x00000008u;
|
|
/* 02789C70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02789C74 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02789C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02789C7C */ _t24 = cpu->r[10] + 0x00000014u;
|
|
/* 02789C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02789C80 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02789C80 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02789C80 */ if (_t26) goto L_02789C88; else goto L_02789C84;
|
|
L_02789C84: ; // 0x2789c84
|
|
/* 02789C84 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02789C88: ; // 0x2789c88
|
|
/* 02789C88 */ cpu->ctr = cpu->r[0];
|
|
/* 02789C8C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02789C90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02789C94 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02789C94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02789C98 */ cpu->r[3] = cpu->r[27];
|
|
/* 02789C9C */ cpu->r[5] = cpu->r[30];
|
|
/* 02789CA0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02789CA4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02789CA8 */ _t28 = cpu->r[27] + cpu->r[30];
|
|
/* 02789CA8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[29]);
|
|
/* 02789CAC */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 02789CAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02789CB0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02789CB4 */ cpu->r[0] = 0x10100000u;
|
|
/* 02789CB8 */ _t30 = cpu->r[12] + 0x0000023Cu;
|
|
/* 02789CB8 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 02789CBC */ cpu->r[0] = cpu->r[0] + 0x00005D80u;
|
|
/* 02789CC0 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02789CC0 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
|
|
/* 02789CC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02789CC8 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02789CC8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02789CCC */ Gambit_fn_027FAB30(cpu);
|
|
/* 02789CD0 */ goto L_02789D14;
|
|
L_02789CD4: ; // 0x2789cd4
|
|
/* 02789CD4 */ _t33 = cpu->r[3] + 0x00000288u;
|
|
/* 02789CD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02789CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02789CDC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789CDC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02789CDC */ if (_t35) goto L_02789CFC; else goto L_02789CE0;
|
|
L_02789CE0: ; // 0x2789ce0
|
|
/* 02789CE0 */ cpu->r[8] = 0x10100000u;
|
|
/* 02789CE4 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02789CE4 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 02789CE8 */ cpu->r[8] = cpu->r[8] + 0x00005D8Cu;
|
|
/* 02789CEC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02789CF0 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02789CF0 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02789CF4 */ Gambit_fn_027FAB30(cpu);
|
|
/* 02789CF8 */ goto L_02789D14;
|
|
L_02789CFC: ; // 0x2789cfc
|
|
/* 02789CFC */ cpu->r[0] = 0x10100000u;
|
|
/* 02789D00 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02789D00 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02789D04 */ cpu->r[0] = cpu->r[0] + 0x00005D98u;
|
|
/* 02789D08 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02789D0C */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02789D0C */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02789D10 */ Gambit_fn_027FAB30(cpu);
|
|
L_02789D14: ; // 0x2789d14
|
|
/* 02789D14 */ /* nop */
|
|
/* 02789D18 */ _t40 = cpu->r[1] + 0x00000044u;
|
|
/* 02789D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02789D1C */ cpu->lr = cpu->r[0];
|
|
/* 02789D20 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02789D24 */ return;
|
|
}
|
|
|
|
// fn_02789D28 @ 0x2789d28
|
|
void Gambit_fn_02789D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149;
|
|
|
|
L_02789D28: ; // 0x2789d28
|
|
/* 02789D28 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02789D28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789D28 */ cpu->r[1] = _t0;
|
|
/* 02789D2C */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02789D2C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02789D30 */ /* nop */
|
|
/* 02789D34 */ /* nop */
|
|
/* 02789D38 */ cpu->r[0] = cpu->lr;
|
|
/* 02789D3C */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02789D3C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02789D40 */ cpu->r[8] = 0xFFFFFFFEu;
|
|
/* 02789D44 */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 02789D44 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02789D48 */ /* nop */
|
|
/* 02789D4C */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02789D4C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 02789D50 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02789D54 */ _t5 = cpu->r[1] + 0x00000050u;
|
|
/* 02789D54 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02789D58 */ /* nop */
|
|
/* 02789D5C */ _t6 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02789D5C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02789D60 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02789D64 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02789D64 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02789D68 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02789D6C */ _t8 = cpu->r[5] + 0x00002220u;
|
|
/* 02789D6C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02789D6C */ cpu->r[5] = _t8;
|
|
/* 02789D70 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02789D74 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 02789D74 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02789D78 */ cpu->r[9] = 0xFFFFFFFDu;
|
|
/* 02789D7C */ _t10 = cpu->r[12] + 0x00002228u;
|
|
/* 02789D7C */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02789D7C */ cpu->r[12] = _t10;
|
|
/* 02789D80 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02789D84 */ _t11 = cpu->r[10] + 0x00002218u;
|
|
/* 02789D84 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02789D84 */ cpu->r[10] = _t11;
|
|
/* 02789D88 */ cpu->r[11] = cpu->r[11] + 0x00002230u;
|
|
/* 02789D8C */ _t12 = cpu->r[10] + 0x00000004u;
|
|
/* 02789D8C */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 02789D90 */ cpu->r[10] = 0x00000002u;
|
|
/* 02789D94 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02789D98 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02789D98 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02789D9C */ cpu->r[5] = cpu->r[5] + 0x00005BFCu;
|
|
/* 02789DA0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02789DA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02789DA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02789DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02789DA8 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02789DAC */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 02789DAC */ cpu->r[26] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02789DB0 */ _t17 = cpu->r[5] + 0x00000000u;
|
|
/* 02789DB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02789DB4 */ _t18 = cpu->r[5] + 0x00000004u;
|
|
/* 02789DB4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02789DB8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02789DBC */ _t19 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02789DBC */ cpu->r[27] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02789DC0 */ _t20 = cpu->r[4] + 0x00005C2Cu;
|
|
/* 02789DC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02789DC0 */ cpu->r[4] = _t20;
|
|
/* 02789DC4 */ _t21 = cpu->r[31] + 0x0000226Cu;
|
|
/* 02789DC4 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02789DC4 */ cpu->r[31] = _t21;
|
|
/* 02789DC8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02789DC8 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 02789DCC */ _t23 = cpu->r[31] + 0x00000018u;
|
|
/* 02789DCC */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 02789DD0 */ _t24 = cpu->r[31] + 0x00000030u;
|
|
/* 02789DD0 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02789DD4 */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02789DD4 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 02789DD8 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 02789DD8 */ rbrew_write32(cpu->mem, _t26, cpu->r[26]);
|
|
/* 02789DDC */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 02789DDC */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02789DE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 02789DE4 */ _t28 = cpu->r[31] + 0x00000028u;
|
|
/* 02789DE4 */ rbrew_write32(cpu->mem, _t28, cpu->r[26]);
|
|
/* 02789DE8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02789DEC */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 02789DEC */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 02789DF0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02789DF4 */ _t30 = cpu->r[8] + 0x00002258u;
|
|
/* 02789DF4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02789DF8 */ _t31 = cpu->r[5] + 0x00005C1Cu;
|
|
/* 02789DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02789DF8 */ cpu->r[5] = _t31;
|
|
/* 02789DFC */ _t32 = cpu->r[31] + 0x00000004u;
|
|
/* 02789DFC */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02789E00 */ _t33 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02789E00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02789E04 */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 02789E04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02789E08 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 02789E08 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02789E0C */ _t36 = cpu->r[31] + 0x00000014u;
|
|
/* 02789E0C */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 02789E10 */ _t37 = cpu->r[31] + 0x00000040u;
|
|
/* 02789E10 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02789E14 */ _t38 = cpu->r[5] + 0x00000004u;
|
|
/* 02789E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02789E18 */ _t39 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02789E18 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 02789E1C */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02789E1C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02789E20 */ _t41 = cpu->r[5] + 0x00000008u;
|
|
/* 02789E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02789E24 */ _t42 = cpu->r[11] + 0x00000000u;
|
|
/* 02789E24 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 02789E28 */ _t43 = cpu->r[31] + 0x00000048u;
|
|
/* 02789E28 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02789E2C */ _t44 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02789E2C */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
/* 02789E30 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02789E34 */ _t45 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02789E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02789E38 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02789E3C */ _t46 = cpu->r[11] + 0x00005BDCu;
|
|
/* 02789E3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02789E3C */ cpu->r[11] = _t46;
|
|
/* 02789E40 */ _t47 = cpu->r[7] + 0x00002238u;
|
|
/* 02789E40 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02789E40 */ cpu->r[7] = _t47;
|
|
/* 02789E44 */ _t48 = cpu->r[7] + 0x00000004u;
|
|
/* 02789E44 */ rbrew_write32(cpu->mem, _t48, cpu->r[6]);
|
|
/* 02789E48 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02789E4C */ _t49 = cpu->r[4] + 0x00000004u;
|
|
/* 02789E4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02789E50 */ _t50 = cpu->r[6] + 0x00005C3Cu;
|
|
/* 02789E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02789E50 */ cpu->r[6] = _t50;
|
|
/* 02789E54 */ _t51 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02789E54 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02789E58 */ _t52 = cpu->r[31] + 0x00000034u;
|
|
/* 02789E58 */ rbrew_write32(cpu->mem, _t52, cpu->r[7]);
|
|
/* 02789E5C */ cpu->r[7] = 0x101F0000u;
|
|
/* 02789E60 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 02789E60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02789E64 */ cpu->r[7] = cpu->r[7] + 0x00005C4Cu;
|
|
/* 02789E68 */ _t54 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02789E68 */ rbrew_write32(cpu->mem, _t54, cpu->r[27]);
|
|
/* 02789E6C */ _t55 = cpu->r[31] + 0x00000038u;
|
|
/* 02789E6C */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02789E70 */ _t56 = cpu->r[7] + 0x00000004u;
|
|
/* 02789E70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02789E74 */ _t57 = cpu->r[31] + 0x00000088u;
|
|
/* 02789E74 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
|
|
/* 02789E78 */ _t58 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02789E78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02789E7C */ _t59 = cpu->r[31] + 0x00000080u;
|
|
/* 02789E7C */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 02789E80 */ _t60 = cpu->r[31] + 0x00000058u;
|
|
/* 02789E80 */ rbrew_write32(cpu->mem, _t60, cpu->r[3]);
|
|
/* 02789E84 */ _t61 = cpu->r[31] + 0x00000064u;
|
|
/* 02789E84 */ rbrew_write32(cpu->mem, _t61, cpu->r[8]);
|
|
/* 02789E88 */ _t62 = cpu->r[11] + 0x00000004u;
|
|
/* 02789E88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02789E8C */ _t63 = cpu->r[6] + 0x00000008u;
|
|
/* 02789E8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02789E90 */ _t64 = cpu->r[6] + 0x00000004u;
|
|
/* 02789E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02789E94 */ _t65 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02789E94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02789E98 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 02789E98 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 02789E9C */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 02789E9C */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 02789EA0 */ _t68 = cpu->r[31] + 0x00000074u;
|
|
/* 02789EA0 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02789EA4 */ _t69 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02789EA4 */ rbrew_write32(cpu->mem, _t69, cpu->r[12]);
|
|
/* 02789EA8 */ _t70 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02789EA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02789EAC */ _t71 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02789EAC */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 02789EB0 */ _t72 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02789EB0 */ rbrew_write32(cpu->mem, _t72, cpu->r[5]);
|
|
/* 02789EB4 */ _t73 = cpu->r[31] + 0x00000094u;
|
|
/* 02789EB4 */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
/* 02789EB8 */ _t74 = cpu->r[31] + 0x00000054u;
|
|
/* 02789EB8 */ rbrew_write32(cpu->mem, _t74, cpu->r[8]);
|
|
/* 02789EBC */ _t75 = cpu->r[31] + 0x00000084u;
|
|
/* 02789EBC */ rbrew_write32(cpu->mem, _t75, cpu->r[8]);
|
|
/* 02789EC0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02789EC4 */ _t76 = cpu->r[7] + 0x00000000u;
|
|
/* 02789EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02789EC8 */ _t77 = cpu->r[5] + 0x00005C0Cu;
|
|
/* 02789EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02789EC8 */ cpu->r[5] = _t77;
|
|
/* 02789ECC */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 02789ECC */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 02789ED0 */ _t79 = cpu->r[5] + 0x00000004u;
|
|
/* 02789ED0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02789ED4 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02789ED4 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 02789ED8 */ _t81 = cpu->r[31] + 0x000000BCu;
|
|
/* 02789ED8 */ rbrew_write32(cpu->mem, _t81, cpu->r[27]);
|
|
/* 02789EDC */ _t82 = cpu->r[31] + 0x000000A0u;
|
|
/* 02789EDC */ rbrew_write32(cpu->mem, _t82, cpu->r[8]);
|
|
/* 02789EE0 */ _t83 = cpu->r[31] + 0x000000A4u;
|
|
/* 02789EE0 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02789EE4 */ _t84 = cpu->r[5] + 0x00000008u;
|
|
/* 02789EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02789EE8 */ _t85 = cpu->r[31] + 0x00000078u;
|
|
/* 02789EE8 */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 02789EEC */ cpu->r[9] = 0x10100000u;
|
|
/* 02789EF0 */ _t86 = cpu->r[31] + 0x000000A8u;
|
|
/* 02789EF0 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02789EF4 */ cpu->r[12] = 0x10100000u;
|
|
/* 02789EF8 */ _t87 = cpu->r[9] + 0x00005DACu;
|
|
/* 02789EF8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02789EFC */ _t88 = cpu->r[12] + 0x00005DA8u;
|
|
/* 02789EFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02789F00 */ cpu->r[12] = 0x10100000u;
|
|
/* 02789F04 */ _t89 = cpu->r[31] + 0x00000060u;
|
|
/* 02789F04 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02789F08 */ _t90 = cpu->r[31] + 0x00000098u;
|
|
/* 02789F08 */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 02789F0C */ _t91 = cpu->r[12] + 0x00005D38u;
|
|
/* 02789F0C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02789F10 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02789F10 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 02789F14 */ _t93 = cpu->r[31] + 0x000000B8u;
|
|
/* 02789F14 */ rbrew_write32(cpu->mem, _t93, cpu->r[26]);
|
|
/* 02789F18 */ _t94 = cpu->r[31] + 0x000000B4u;
|
|
/* 02789F18 */ rbrew_write32(cpu->mem, _t94, cpu->r[28]);
|
|
/* 02789F1C */ _t95 = cpu->r[31] + 0x000000B0u;
|
|
/* 02789F1C */ rbrew_write32(cpu->mem, _t95, cpu->r[29]);
|
|
/* 02789F20 */ _t96 = cpu->r[7] + 0x00000008u;
|
|
/* 02789F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02789F24 */ _t97 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02789F24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02789F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 02789F2C */ _t98 = cpu->r[31] + 0x00000068u;
|
|
/* 02789F2C */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02789F30 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 02789F34 */ _t99 = cpu->r[31] + 0x000000ACu;
|
|
/* 02789F34 */ rbrew_write32(cpu->mem, _t99, cpu->r[6]);
|
|
/* 02789F38 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789F38 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02789F38 */ if (_t101) goto L_02789F3C; else goto L_02789F4C;
|
|
L_02789F3C: ; // 0x2789f3c
|
|
/* 02789F3C */ cpu->r[3] = 0x00000010u;
|
|
/* 02789F40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02789F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789F48 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789F48 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02789F48 */ if (_t103) goto L_02789F64; else goto L_02789F4C;
|
|
L_02789F4C: ; // 0x2789f4c
|
|
/* 02789F4C */ _t104 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02789F4C */ rbrew_write_f32(cpu->mem, _t104, cpu->f[29]);
|
|
/* 02789F50 */ cpu->r[6] = 0x10100000u;
|
|
/* 02789F54 */ _t105 = cpu->r[3] + 0x00000008u;
|
|
/* 02789F54 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[30]);
|
|
/* 02789F58 */ _t106 = cpu->r[6] + 0x00005DB0u;
|
|
/* 02789F58 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02789F5C */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 02789F5C */ rbrew_write_f32(cpu->mem, _t107, cpu->f[31]);
|
|
/* 02789F60 */ _t108 = cpu->r[3] + 0x00000000u;
|
|
/* 02789F60 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[12]);
|
|
L_02789F64: ; // 0x2789f64
|
|
/* 02789F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 02789F68 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02789F6C */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789F6C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02789F6C */ if (_t110) goto L_02789F70; else goto L_02789F80;
|
|
L_02789F70: ; // 0x2789f70
|
|
/* 02789F70 */ cpu->r[3] = 0x00000010u;
|
|
/* 02789F74 */ Gambit_fn_02801A78(cpu);
|
|
/* 02789F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02789F7C */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789F7C */ _t112 = _t111 & 0x00000001u;
|
|
/* 02789F7C */ if (_t112) goto L_02789F98; else goto L_02789F80;
|
|
L_02789F80: ; // 0x2789f80
|
|
/* 02789F80 */ _t113 = cpu->r[3] + 0x00000004u;
|
|
/* 02789F80 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[31]);
|
|
/* 02789F84 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789F88 */ _t114 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02789F88 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[29]);
|
|
/* 02789F8C */ _t115 = cpu->r[11] + 0x00005DB0u;
|
|
/* 02789F8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02789F90 */ _t116 = cpu->r[3] + 0x00000000u;
|
|
/* 02789F90 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[30]);
|
|
/* 02789F94 */ _t117 = cpu->r[3] + 0x00000008u;
|
|
/* 02789F94 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[0]);
|
|
L_02789F98: ; // 0x2789f98
|
|
/* 02789F98 */ cpu->r[8] = 0x10100000u;
|
|
/* 02789F9C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02789FA0 */ _t118 = cpu->r[8] + 0x00005DB4u;
|
|
/* 02789FA0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02789FA4 */ _t119 = cpu->r[12] + 0x00005BCCu;
|
|
/* 02789FA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02789FA4 */ cpu->r[12] = _t119;
|
|
/* 02789FA8 */ _t120 = cpu->r[12] + 0x00000008u;
|
|
/* 02789FA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02789FAC */ cpu->r[9] = 0x10100000u;
|
|
/* 02789FB0 */ _t121 = cpu->r[31] + 0x000000E0u;
|
|
/* 02789FB0 */ rbrew_write32(cpu->mem, _t121, cpu->r[11]);
|
|
/* 02789FB4 */ _t122 = cpu->r[9] + 0x00005DC0u;
|
|
/* 02789FB4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 02789FB8 */ _t123 = cpu->r[12] + 0x00000004u;
|
|
/* 02789FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02789FBC */ _t124 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02789FBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02789FC0 */ _t125 = cpu->r[31] + 0x000000E8u;
|
|
/* 02789FC0 */ rbrew_write32(cpu->mem, _t125, cpu->r[8]);
|
|
/* 02789FC4 */ cpu->r[5] = 0x10100000u;
|
|
/* 02789FC8 */ _t126 = cpu->r[31] + 0x000000E4u;
|
|
/* 02789FC8 */ rbrew_write32(cpu->mem, _t126, cpu->r[0]);
|
|
/* 02789FCC */ cpu->r[10] = 0x10100000u;
|
|
/* 02789FD0 */ _t127 = cpu->r[31] + 0x000000ECu;
|
|
/* 02789FD0 */ rbrew_write32(cpu->mem, _t127, cpu->r[9]);
|
|
/* 02789FD4 */ cpu->r[9] = 0x10100000u;
|
|
/* 02789FD8 */ _t128 = cpu->r[5] + 0x00005DBCu;
|
|
/* 02789FD8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02789FDC */ _t129 = cpu->r[10] + 0x00005D34u;
|
|
/* 02789FDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02789FE0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 02789FE4 */ _t130 = cpu->r[9] + 0x00005DB8u;
|
|
/* 02789FE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02789FE8 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02789FEC */ _t131 = cpu->r[5] + 0x00002248u;
|
|
/* 02789FEC */ rbrew_write_f32(cpu->mem, _t131, cpu->f[13]);
|
|
/* 02789FEC */ cpu->r[5] = _t131;
|
|
/* 02789FF0 */ cpu->r[6] = cpu->r[6] + 0x0000225Cu;
|
|
/* 02789FF4 */ _t132 = cpu->r[5] + 0x00000004u;
|
|
/* 02789FF4 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]);
|
|
/* 02789FF8 */ _t133 = cpu->r[6] + 0x00000004u;
|
|
/* 02789FF8 */ rbrew_write_f32(cpu->mem, _t133, cpu->f[31]);
|
|
/* 02789FFC */ _t134 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02789FFC */ rbrew_write_f32(cpu->mem, _t134, cpu->f[29]);
|
|
/* 0278A000 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0278A004 */ _t135 = cpu->r[6] + 0x00000008u;
|
|
/* 0278A004 */ rbrew_write_f32(cpu->mem, _t135, cpu->f[13]);
|
|
/* 0278A008 */ _t136 = cpu->r[11] + 0x00002250u;
|
|
/* 0278A008 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[10]);
|
|
/* 0278A008 */ cpu->r[11] = _t136;
|
|
/* 0278A00C */ _t137 = cpu->r[11] + 0x00000004u;
|
|
/* 0278A00C */ rbrew_write_f32(cpu->mem, _t137, cpu->f[11]);
|
|
/* 0278A010 */ cpu->r[7] = 0x101F0000u;
|
|
/* 0278A014 */ _t138 = cpu->r[6] + 0x00000000u;
|
|
/* 0278A014 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[29]);
|
|
/* 0278A018 */ _t139 = cpu->r[7] + 0x00002240u;
|
|
/* 0278A018 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[0]);
|
|
/* 0278A018 */ cpu->r[7] = _t139;
|
|
/* 0278A01C */ _t140 = cpu->r[7] + 0x00000004u;
|
|
/* 0278A01C */ rbrew_write_f32(cpu->mem, _t140, cpu->f[9]);
|
|
/* 0278A020 */ /* nop */
|
|
/* 0278A024 */ _t141 = cpu->r[1] + 0x00000030u;
|
|
/* 0278A024 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 0278A028 */ _t142 = cpu->r[1] + 0x00000040u;
|
|
/* 0278A028 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 0278A02C */ _t143 = cpu->r[1] + 0x00000028u;
|
|
/* 0278A02C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 0278A030 */ _t144 = cpu->r[1] + 0x00000050u;
|
|
/* 0278A030 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0278A034 */ _t145 = cpu->r[1] + 0x00000038u;
|
|
/* 0278A034 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t145);
|
|
/* 0278A038 */ _t146 = cpu->r[1] + 0x00000048u;
|
|
/* 0278A038 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 0278A03C */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A03C */ _t148 = _t147 & 0x00000001u;
|
|
/* 0278A03C */ if (_t148) goto L_0278A040; // else: addr-0 trap, fall-through
|
|
L_0278A040: ; // 0x278a040
|
|
/* 0278A040 */ _t149 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0278A040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0278A044 */ cpu->lr = cpu->r[0];
|
|
/* 0278A048 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0278A04C */ return;
|
|
}
|
|
|
|
// fn_0278A050 @ 0x278a050
|
|
void Gambit_fn_0278A050(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_0278A050: ; // 0x278a050
|
|
/* 0278A050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A054 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A054 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278A054 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A054 */ goto L_0278A058;
|
|
L_0278A058: ; // 0x278a058
|
|
/* 0278A058 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A05C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A05C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278A05C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A05C */ goto L_0278A060;
|
|
L_0278A060: ; // 0x278a060
|
|
/* 0278A060 */ 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_0278A064 @ 0x278a064
|
|
void Gambit_fn_0278A064(CPUState* cpu) {
|
|
L_0278A064: ; // 0x278a064
|
|
/* 0278A064 */ return;
|
|
}
|
|
|
|
// fn_0278A068 @ 0x278a068
|
|
void Gambit_fn_0278A068(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_0278A068: ; // 0x278a068
|
|
/* 0278A068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A06C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A06C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278A06C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A06C */ goto L_0278A070;
|
|
L_0278A070: ; // 0x278a070
|
|
/* 0278A070 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A074 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A074 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278A074 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A074 */ goto L_0278A078;
|
|
L_0278A078: ; // 0x278a078
|
|
/* 0278A078 */ 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_0278A07C @ 0x278a07c
|
|
void Gambit_fn_0278A07C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0278A07C: ; // 0x278a07c
|
|
/* 0278A07C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0278A07C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A080 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0278A080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A084 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0278A088 */ cpu->r[11] = 0x10110000u;
|
|
/* 0278A08C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0278A08C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278A090 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278A090 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0278A094 */ return;
|
|
}
|
|
|
|
// fn_0278A098 @ 0x278a098
|
|
void Gambit_fn_0278A098(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_0278A098: ; // 0x278a098
|
|
/* 0278A098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A09C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A09C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278A09C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A09C */ goto L_0278A0A0;
|
|
L_0278A0A0: ; // 0x278a0a0
|
|
/* 0278A0A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A0A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A0A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278A0A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A0A4 */ goto L_0278A0A8;
|
|
L_0278A0A8: ; // 0x278a0a8
|
|
/* 0278A0A8 */ 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_0278A0AC @ 0x278a0ac
|
|
void Gambit_fn_0278A0AC(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_0278A0AC: ; // 0x278a0ac
|
|
/* 0278A0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A0B0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A0B0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278A0B0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A0B0 */ goto L_0278A0B4;
|
|
L_0278A0B4: ; // 0x278a0b4
|
|
/* 0278A0B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A0B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A0B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278A0B8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A0B8 */ goto L_0278A0BC;
|
|
L_0278A0BC: ; // 0x278a0bc
|
|
/* 0278A0BC */ 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_0278A0C0 @ 0x278a0c0
|
|
void Gambit_fn_0278A0C0(CPUState* cpu) {
|
|
L_0278A0C0: ; // 0x278a0c0
|
|
/* 0278A0C0 */ return;
|
|
}
|
|
|
|
// fn_0278A0C4 @ 0x278a0c4
|
|
void Gambit_fn_0278A0C4(CPUState* cpu) {
|
|
L_0278A0C4: ; // 0x278a0c4
|
|
/* 0278A0C4 */ return;
|
|
}
|
|
|
|
// fn_0278A0C8 @ 0x278a0c8
|
|
void Gambit_fn_0278A0C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278A0C8: ; // 0x278a0c8
|
|
/* 0278A0C8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0278A0C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A0D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A0D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A0D0 */ if (_t2) goto L_0278A0DC; else goto L_0278A0D4;
|
|
L_0278A0D4: ; // 0x278a0d4
|
|
/* 0278A0D4 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0278A0D8 */ return;
|
|
L_0278A0DC: ; // 0x278a0dc
|
|
/* 0278A0DC */ cpu->r[3] = 0x00000000u;
|
|
/* 0278A0E0 */ return;
|
|
}
|
|
|
|
// fn_0278A0E4 @ 0x278a0e4
|
|
void Gambit_fn_0278A0E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278A0E4: ; // 0x278a0e4
|
|
/* 0278A0E4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0278A0E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A0EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A0EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A0EC */ if (_t2) goto L_0278A0F8; else goto L_0278A0F0;
|
|
L_0278A0F0: ; // 0x278a0f0
|
|
/* 0278A0F0 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0278A0F4 */ return;
|
|
L_0278A0F8: ; // 0x278a0f8
|
|
/* 0278A0F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278A0FC */ return;
|
|
}
|
|
|
|
// fn_0278A100 @ 0x278a100
|
|
void Gambit_fn_0278A100(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A100: ; // 0x278a100
|
|
/* 0278A100 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A104 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 0278A104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A108 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A10C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A110 @ 0x278a110
|
|
void Gambit_fn_0278A110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A110: ; // 0x278a110
|
|
/* 0278A110 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A114 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A118 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A118 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A118 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A118 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A118 */ goto L_0278A11C;
|
|
L_0278A11C: ; // 0x278a11c
|
|
/* 0278A11C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A11C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A120 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 0278A120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A124 */ cpu->ctr = cpu->r[12];
|
|
/* 0278A128 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A12C @ 0x278a12c
|
|
void Gambit_fn_0278A12C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A12C: ; // 0x278a12c
|
|
/* 0278A12C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A130 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A134 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A134 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A134 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A134 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A134 */ goto L_0278A138;
|
|
L_0278A138: ; // 0x278a138
|
|
/* 0278A138 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A13C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0278A13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A140 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A144 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A148 @ 0x278a148
|
|
void Gambit_fn_0278A148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A148: ; // 0x278a148
|
|
/* 0278A148 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A14C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A150 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A150 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A150 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A150 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A150 */ goto L_0278A154;
|
|
L_0278A154: ; // 0x278a154
|
|
/* 0278A154 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A158 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 0278A158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A15C */ cpu->ctr = cpu->r[0];
|
|
/* 0278A160 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A164 @ 0x278a164
|
|
void Gambit_fn_0278A164(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A164: ; // 0x278a164
|
|
/* 0278A164 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A168 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A16C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A16C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A16C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A16C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A16C */ goto L_0278A170;
|
|
L_0278A170: ; // 0x278a170
|
|
/* 0278A170 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A174 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0278A174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A178 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A17C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A180 @ 0x278a180
|
|
void Gambit_fn_0278A180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A180: ; // 0x278a180
|
|
/* 0278A180 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A184 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A188 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A188 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A188 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A188 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A188 */ goto L_0278A18C;
|
|
L_0278A18C: ; // 0x278a18c
|
|
/* 0278A18C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A190 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 0278A190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A194 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A198 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A19C @ 0x278a19c
|
|
void Gambit_fn_0278A19C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A19C: ; // 0x278a19c
|
|
/* 0278A19C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A19C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A1A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A1A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A1A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A1A4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A1A4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A1A4 */ goto L_0278A1A8;
|
|
L_0278A1A8: ; // 0x278a1a8
|
|
/* 0278A1A8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A1A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A1AC */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 0278A1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A1B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A1B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A1B8 @ 0x278a1b8
|
|
void Gambit_fn_0278A1B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A1B8: ; // 0x278a1b8
|
|
/* 0278A1B8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A1B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A1BC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278A1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A1C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A1C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A1C0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0278A1C0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A1C0 */ goto L_0278A1C4;
|
|
L_0278A1C4: ; // 0x278a1c4
|
|
/* 0278A1C4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A1C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A1C8 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0278A1C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A1CC */ cpu->ctr = cpu->r[0];
|
|
/* 0278A1D0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A1D4 @ 0x278a1d4
|
|
void Gambit_fn_0278A1D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A1D4: ; // 0x278a1d4
|
|
/* 0278A1D4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A1D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A1D8 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 0278A1D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A1DC */ cpu->ctr = cpu->r[0];
|
|
/* 0278A1E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A1E4 @ 0x278a1e4
|
|
void Gambit_fn_0278A1E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A1E4: ; // 0x278a1e4
|
|
/* 0278A1E4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A1E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A1E8 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0278A1E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A1EC */ cpu->ctr = cpu->r[0];
|
|
/* 0278A1F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A1F4 @ 0x278a1f4
|
|
void Gambit_fn_0278A1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A1F4: ; // 0x278a1f4
|
|
/* 0278A1F4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A1F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A1F8 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 0278A1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A1FC */ cpu->ctr = cpu->r[0];
|
|
/* 0278A200 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A204 @ 0x278a204
|
|
void Gambit_fn_0278A204(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A204: ; // 0x278a204
|
|
/* 0278A204 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A208 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0278A208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A20C */ cpu->ctr = cpu->r[0];
|
|
/* 0278A210 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A214 @ 0x278a214
|
|
void Gambit_fn_0278A214(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A214: ; // 0x278a214
|
|
/* 0278A214 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A218 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0278A218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A21C */ cpu->ctr = cpu->r[0];
|
|
/* 0278A220 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A224 @ 0x278a224
|
|
void Gambit_fn_0278A224(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0278A224: ; // 0x278a224
|
|
/* 0278A224 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0278A224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A228 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 0278A228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A22C */ cpu->ctr = cpu->r[0];
|
|
/* 0278A230 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A234 @ 0x278a234
|
|
void Gambit_fn_0278A234(CPUState* cpu) {
|
|
L_0278A234: ; // 0x278a234
|
|
/* 0278A234 */ return;
|
|
}
|
|
|
|
// fn_0278A238 @ 0x278a238
|
|
void Gambit_fn_0278A238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278A238: ; // 0x278a238
|
|
/* 0278A238 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0278A23C */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 0278A23C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278A23C */ cpu->r[9] = _t0;
|
|
/* 0278A240 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278A244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278A248 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 0278A24C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A24C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278A24C */ if (_t2) goto L_0278A250; else goto L_0278A264;
|
|
L_0278A250: ; // 0x278a250
|
|
/* 0278A250 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278A254 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278A258 */ cpu->r[7] = cpu->r[7] + 0x00005C04u;
|
|
/* 0278A25C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0278A25C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A260 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0278A260 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0278A264: ; // 0x278a264
|
|
/* 0278A264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278A268 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A268 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278A268 */ if (_t6) goto L_0278A26C; else goto L_0278A274;
|
|
L_0278A26C: ; // 0x278a26c
|
|
/* 0278A26C */ cpu->r[3] = 0x00000001u;
|
|
/* 0278A270 */ return;
|
|
L_0278A274: ; // 0x278a274
|
|
/* 0278A274 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0278A278 */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 0278A278 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A278 */ cpu->r[7] = _t7;
|
|
/* 0278A27C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0278A280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0278A284 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0278A288 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A288 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278A288 */ if (_t9) goto L_0278A28C; else goto L_0278A2A0;
|
|
L_0278A28C: ; // 0x278a28c
|
|
/* 0278A28C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278A290 */ cpu->r[9] = 0x00000001u;
|
|
/* 0278A294 */ cpu->r[0] = cpu->r[0] + 0x00005B84u;
|
|
/* 0278A298 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0278A298 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0278A29C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0278A29C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0278A2A0: ; // 0x278a2a0
|
|
/* 0278A2A0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0278A2A4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0278A2A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0278A2AC */ return;
|
|
}
|
|
|
|
// fn_0278A2B0 @ 0x278a2b0
|
|
void Gambit_fn_0278A2B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A2B0: ; // 0x278a2b0
|
|
/* 0278A2B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A2B4 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A2B8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0278A2BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A2BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A2BC */ cpu->r[1] = _t0;
|
|
/* 0278A2C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A2C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A2C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A2C8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A2CC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A2D0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A2D4 */ _t4 = cpu->r[12] + 0x00005B20u;
|
|
/* 0278A2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A2D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A2DC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A2DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A2E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A2E4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A2E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A2E8 */ Gambit_fn_02791774(cpu);
|
|
/* 0278A2EC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A2F0 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 0278A2F4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A2F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A2F8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A2FC */ cpu->lr = cpu->r[0];
|
|
/* 0278A300 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A304 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A308 */ return;
|
|
}
|
|
|
|
// fn_0278A2BC @ 0x278a2bc
|
|
void Gambit_fn_0278A2BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A2BC: ; // 0x278a2bc
|
|
/* 0278A2BC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A2BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A2BC */ cpu->r[1] = _t0;
|
|
/* 0278A2C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A2C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A2C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A2C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A2C8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A2CC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A2CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A2D0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A2D4 */ _t4 = cpu->r[12] + 0x00005B20u;
|
|
/* 0278A2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A2D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A2DC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A2DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A2E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A2E4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A2E4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A2E8 */ Gambit_fn_02791774(cpu);
|
|
/* 0278A2EC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A2F0 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 0278A2F4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A2F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A2F8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A2FC */ cpu->lr = cpu->r[0];
|
|
/* 0278A300 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A304 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A308 */ return;
|
|
}
|
|
|
|
// fn_0278A30C @ 0x278a30c
|
|
void Gambit_fn_0278A30C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A30C: ; // 0x278a30c
|
|
/* 0278A30C */ cpu->r[0] = cpu->lr;
|
|
/* 0278A310 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A314 */ cpu->r[10] = 0x00000003u;
|
|
/* 0278A318 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A318 */ cpu->r[1] = _t0;
|
|
/* 0278A31C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A31C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A320 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A324 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A328 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A32C */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A330 */ _t4 = cpu->r[12] + 0x00005B30u;
|
|
/* 0278A330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A334 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A338 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A338 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A33C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A340 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A340 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A344 */ Gambit_fn_02791774(cpu);
|
|
/* 0278A348 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A34C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0278A350 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A350 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A354 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A358 */ cpu->lr = cpu->r[0];
|
|
/* 0278A35C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A360 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A364 */ return;
|
|
}
|
|
|
|
// fn_0278A318 @ 0x278a318
|
|
void Gambit_fn_0278A318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A318: ; // 0x278a318
|
|
/* 0278A318 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A318 */ cpu->r[1] = _t0;
|
|
/* 0278A31C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A31C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A320 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A324 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A328 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A32C */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A330 */ _t4 = cpu->r[12] + 0x00005B30u;
|
|
/* 0278A330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A334 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A338 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A338 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A33C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A340 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A340 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A344 */ Gambit_fn_02791774(cpu);
|
|
/* 0278A348 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A34C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0278A350 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A350 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A354 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A358 */ cpu->lr = cpu->r[0];
|
|
/* 0278A35C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A35C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A360 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A364 */ return;
|
|
}
|
|
|
|
// fn_0278A368 @ 0x278a368
|
|
void Gambit_fn_0278A368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A368: ; // 0x278a368
|
|
/* 0278A368 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A36C */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A370 */ cpu->r[10] = 0x00000006u;
|
|
/* 0278A374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A374 */ cpu->r[1] = _t0;
|
|
/* 0278A378 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A378 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A37C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A380 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A384 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A388 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A38C */ _t4 = cpu->r[12] + 0x00005B38u;
|
|
/* 0278A38C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A390 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A394 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A398 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A39C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A39C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A3A0 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A3A4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A3A8 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 0278A3AC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A3AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A3B0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A3B4 */ cpu->lr = cpu->r[0];
|
|
/* 0278A3B8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A3B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A3BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A3C0 */ return;
|
|
}
|
|
|
|
// fn_0278A374 @ 0x278a374
|
|
void Gambit_fn_0278A374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A374: ; // 0x278a374
|
|
/* 0278A374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A374 */ cpu->r[1] = _t0;
|
|
/* 0278A378 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A378 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A37C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A37C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A380 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A384 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A388 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A38C */ _t4 = cpu->r[12] + 0x00005B38u;
|
|
/* 0278A38C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A390 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A394 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A398 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A39C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A39C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A3A0 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A3A4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A3A8 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 0278A3AC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A3AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A3B0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A3B4 */ cpu->lr = cpu->r[0];
|
|
/* 0278A3B8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A3B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A3BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A3C0 */ return;
|
|
}
|
|
|
|
// fn_0278A3C4 @ 0x278a3c4
|
|
void Gambit_fn_0278A3C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A3C4: ; // 0x278a3c4
|
|
/* 0278A3C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A3C8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A3CC */ cpu->r[10] = 0x00000007u;
|
|
/* 0278A3D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A3D0 */ cpu->r[1] = _t0;
|
|
/* 0278A3D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A3D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A3DC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A3E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A3E4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A3E8 */ _t4 = cpu->r[12] + 0x00005B40u;
|
|
/* 0278A3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A3EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A3F0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A3F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A3F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A3F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A3FC */ Gambit_fn_02791888(cpu);
|
|
/* 0278A400 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A404 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 0278A408 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A408 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A40C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A410 */ cpu->lr = cpu->r[0];
|
|
/* 0278A414 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A41C */ return;
|
|
}
|
|
|
|
// fn_0278A3D0 @ 0x278a3d0
|
|
void Gambit_fn_0278A3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A3D0: ; // 0x278a3d0
|
|
/* 0278A3D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A3D0 */ cpu->r[1] = _t0;
|
|
/* 0278A3D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A3D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A3DC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A3E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A3E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A3E4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A3E8 */ _t4 = cpu->r[12] + 0x00005B40u;
|
|
/* 0278A3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A3EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A3F0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A3F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A3F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A3F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A3FC */ Gambit_fn_02791888(cpu);
|
|
/* 0278A400 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A404 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 0278A408 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A408 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A40C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A40C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A410 */ cpu->lr = cpu->r[0];
|
|
/* 0278A414 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A41C */ return;
|
|
}
|
|
|
|
// fn_0278A420 @ 0x278a420
|
|
void Gambit_fn_0278A420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A420: ; // 0x278a420
|
|
/* 0278A420 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A424 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A428 */ cpu->r[10] = 0x00000008u;
|
|
/* 0278A42C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A42C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A42C */ cpu->r[1] = _t0;
|
|
/* 0278A430 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A430 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A434 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A434 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A438 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A43C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A43C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A440 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A444 */ _t4 = cpu->r[12] + 0x00005B48u;
|
|
/* 0278A444 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A448 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A44C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A44C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A450 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A454 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A454 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A458 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A45C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A45C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A460 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 0278A464 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A464 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A468 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A46C */ cpu->lr = cpu->r[0];
|
|
/* 0278A470 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A470 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A474 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A478 */ return;
|
|
}
|
|
|
|
// fn_0278A42C @ 0x278a42c
|
|
void Gambit_fn_0278A42C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A42C: ; // 0x278a42c
|
|
/* 0278A42C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A42C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A42C */ cpu->r[1] = _t0;
|
|
/* 0278A430 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A430 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A434 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A434 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A438 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A43C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A43C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A440 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A444 */ _t4 = cpu->r[12] + 0x00005B48u;
|
|
/* 0278A444 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A448 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A44C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A44C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A450 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A454 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A454 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A458 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A45C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A45C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A460 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 0278A464 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A464 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A468 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A46C */ cpu->lr = cpu->r[0];
|
|
/* 0278A470 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A470 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A474 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A478 */ return;
|
|
}
|
|
|
|
// fn_0278A47C @ 0x278a47c
|
|
void Gambit_fn_0278A47C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A47C: ; // 0x278a47c
|
|
/* 0278A47C */ cpu->r[0] = cpu->lr;
|
|
/* 0278A480 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A484 */ cpu->r[10] = 0x00000009u;
|
|
/* 0278A488 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A488 */ cpu->r[1] = _t0;
|
|
/* 0278A48C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A48C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A490 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A490 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A494 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A498 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A498 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A49C */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A4A0 */ _t4 = cpu->r[12] + 0x00005B50u;
|
|
/* 0278A4A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A4A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A4A8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A4A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A4AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A4B0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A4B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A4B4 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A4B8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A4BC */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 0278A4C0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A4C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A4C4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A4C8 */ cpu->lr = cpu->r[0];
|
|
/* 0278A4CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A4CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A4D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A4D4 */ return;
|
|
}
|
|
|
|
// fn_0278A488 @ 0x278a488
|
|
void Gambit_fn_0278A488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A488: ; // 0x278a488
|
|
/* 0278A488 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A488 */ cpu->r[1] = _t0;
|
|
/* 0278A48C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A48C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0278A490 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A490 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278A494 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A498 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A498 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A49C */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A4A0 */ _t4 = cpu->r[12] + 0x00005B50u;
|
|
/* 0278A4A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A4A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A4A8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A4A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A4AC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A4B0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A4B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0278A4B4 */ Gambit_fn_02791888(cpu);
|
|
/* 0278A4B8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A4BC */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 0278A4C0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A4C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278A4C4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A4C8 */ cpu->lr = cpu->r[0];
|
|
/* 0278A4CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A4CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A4D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A4D4 */ return;
|
|
}
|
|
|
|
// fn_0278A4D8 @ 0x278a4d8
|
|
void Gambit_fn_0278A4D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A4D8: ; // 0x278a4d8
|
|
/* 0278A4D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A4DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A4DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A4DC */ cpu->r[1] = _t0;
|
|
/* 0278A4E0 */ cpu->r[8] = 0x10100000u;
|
|
/* 0278A4E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A4E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A4E8 */ cpu->r[12] = 0x0000000Bu;
|
|
/* 0278A4EC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A4EC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0278A4F0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A4F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A4F8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A4F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A4FC */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A500 */ _t4 = cpu->r[8] + 0x00005B60u;
|
|
/* 0278A500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A504 */ cpu->r[6] = cpu->r[4];
|
|
/* 0278A508 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A508 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A50C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A510 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A510 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0278A514 */ Gambit_fn_027919C4(cpu);
|
|
/* 0278A518 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A51C */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 0278A520 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A520 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0278A524 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A528 */ cpu->lr = cpu->r[0];
|
|
/* 0278A52C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A52C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A530 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A534 */ return;
|
|
}
|
|
|
|
// fn_0278A4DC @ 0x278a4dc
|
|
void Gambit_fn_0278A4DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278A4DC: ; // 0x278a4dc
|
|
/* 0278A4DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A4DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A4DC */ cpu->r[1] = _t0;
|
|
/* 0278A4E0 */ cpu->r[8] = 0x10100000u;
|
|
/* 0278A4E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A4E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A4E8 */ cpu->r[12] = 0x0000000Bu;
|
|
/* 0278A4EC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A4EC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0278A4F0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A4F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A4F8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A4F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278A4FC */ cpu->r[0] = 0x00000004u;
|
|
/* 0278A500 */ _t4 = cpu->r[8] + 0x00005B60u;
|
|
/* 0278A500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A504 */ cpu->r[6] = cpu->r[4];
|
|
/* 0278A508 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A508 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278A50C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A510 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A510 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0278A514 */ Gambit_fn_027919C4(cpu);
|
|
/* 0278A518 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A518 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A51C */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 0278A520 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0278A520 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0278A524 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A528 */ cpu->lr = cpu->r[0];
|
|
/* 0278A52C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A52C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A530 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A534 */ return;
|
|
}
|
|
|
|
// fn_0278A538 @ 0x278a538
|
|
void Gambit_fn_0278A538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0278A538: ; // 0x278a538
|
|
/* 0278A538 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A53C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A53C */ cpu->r[1] = _t0;
|
|
/* 0278A540 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A544 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A548 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A548 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278A54C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278A54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278A550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0278A554 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A554 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278A554 */ if (_t5) goto L_0278A558; else goto L_0278A574;
|
|
L_0278A558: ; // 0x278a558
|
|
/* 0278A558 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0278A558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278A55C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0278A55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A560 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A56C */ cpu->r[10] = 0x00000002u;
|
|
/* 0278A570 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278A570 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0278A574: ; // 0x278a574
|
|
/* 0278A574 */ cpu->r[0] = 0x00000005u;
|
|
/* 0278A578 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A57C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A57C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0278A580 */ _t10 = cpu->r[12] + 0x00005B70u;
|
|
/* 0278A580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A580 */ cpu->r[12] = _t10;
|
|
/* 0278A584 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0278A584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278A588 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A58C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A58C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0278A590 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A594 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A598 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A598 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0278A59C */ Gambit_fn_02791888(cpu);
|
|
/* 0278A5A0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278A5A4 */ cpu->lr = cpu->r[0];
|
|
/* 0278A5A8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278A5AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A5B0 */ return;
|
|
}
|
|
|
|
// fn_0278A53C @ 0x278a53c
|
|
void Gambit_fn_0278A53C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0278A53C: ; // 0x278a53c
|
|
/* 0278A53C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278A53C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A53C */ cpu->r[1] = _t0;
|
|
/* 0278A540 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A540 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A544 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A548 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A548 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278A54C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278A54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278A550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0278A554 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A554 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278A554 */ if (_t5) goto L_0278A558; else goto L_0278A574;
|
|
L_0278A558: ; // 0x278a558
|
|
/* 0278A558 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0278A558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278A55C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0278A55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A560 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A56C */ cpu->r[10] = 0x00000002u;
|
|
/* 0278A570 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278A570 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0278A574: ; // 0x278a574
|
|
/* 0278A574 */ cpu->r[0] = 0x00000005u;
|
|
/* 0278A578 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278A57C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278A57C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0278A580 */ _t10 = cpu->r[12] + 0x00005B70u;
|
|
/* 0278A580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A580 */ cpu->r[12] = _t10;
|
|
/* 0278A584 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0278A584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278A588 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A58C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A58C */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0278A590 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278A594 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A598 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0278A598 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0278A59C */ Gambit_fn_02791888(cpu);
|
|
/* 0278A5A0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278A5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278A5A4 */ cpu->lr = cpu->r[0];
|
|
/* 0278A5A8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278A5AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278A5B0 */ return;
|
|
}
|
|
|
|
// fn_0278A5B4 @ 0x278a5b4
|
|
void Gambit_fn_0278A5B4(CPUState* cpu) {
|
|
L_0278A5B4: ; // 0x278a5b4
|
|
/* 0278A5B4 */ cpu->r[3] = 0x10100000u;
|
|
/* 0278A5B8 */ cpu->r[3] = cpu->r[3] + 0x00005B78u;
|
|
/* 0278A5BC */ return;
|
|
}
|
|
|
|
// fn_0278A5C0 @ 0x278a5c0
|
|
void Gambit_fn_0278A5C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A5C0: ; // 0x278a5c0
|
|
/* 0278A5C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A5C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278A5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A5C4 */ cpu->r[1] = _t0;
|
|
/* 0278A5C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A5C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A5CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278A5D0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0278A5D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0278A5D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A5D8 */ /* nop */
|
|
/* 0278A5DC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278A5E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A5E4 */ Gambit_fn_0278A934(cpu);
|
|
/* 0278A5E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A5EC */ cpu->lr = cpu->r[0];
|
|
/* 0278A5F0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A5F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278A5F8 */ return;
|
|
}
|
|
|
|
// fn_0278A5C4 @ 0x278a5c4
|
|
void Gambit_fn_0278A5C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278A5C4: ; // 0x278a5c4
|
|
/* 0278A5C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278A5C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A5C4 */ cpu->r[1] = _t0;
|
|
/* 0278A5C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A5C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278A5CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278A5D0 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 0278A5D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0278A5D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278A5D8 */ /* nop */
|
|
/* 0278A5DC */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278A5E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278A5E4 */ Gambit_fn_0278A934(cpu);
|
|
/* 0278A5E8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278A5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278A5EC */ cpu->lr = cpu->r[0];
|
|
/* 0278A5F0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278A5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278A5F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278A5F8 */ return;
|
|
}
|
|
|
|
// fn_0278A5FC @ 0x278a5fc
|
|
void Gambit_fn_0278A5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_0278A5FC: ; // 0x278a5fc
|
|
/* 0278A5FC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0278A5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278A5FC */ cpu->r[1] = _t0;
|
|
/* 0278A600 */ /* nop */
|
|
/* 0278A604 */ cpu->r[0] = cpu->lr;
|
|
/* 0278A608 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0278A608 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278A60C */ cpu->r[29] = cpu->r[6];
|
|
/* 0278A610 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278A614 */ cpu->r[30] = cpu->r[5];
|
|
/* 0278A618 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 0278A618 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278A61C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0278A620 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0278A620 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0278A624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A628 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0278A628 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0278A62C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A62C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278A62C */ if (_t6) goto L_0278A670; else goto L_0278A630;
|
|
L_0278A630: ; // 0x278a630
|
|
/* 0278A630 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0278A630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A634 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278A638 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A638 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278A63C */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0278A63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278A640 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A644 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278A648 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A64C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A654 */ cpu->r[0] = cpu->r[27];
|
|
/* 0278A658 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A658 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278A658 */ if (_t11) goto L_0278A660; else goto L_0278A65C;
|
|
L_0278A65C: ; // 0x278a65c
|
|
/* 0278A65C */ cpu->r[0] = 0x00000001u;
|
|
L_0278A660: ; // 0x278a660
|
|
/* 0278A660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A664 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A664 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278A664 */ if (_t13) goto L_0278A670; else goto L_0278A668;
|
|
L_0278A668: ; // 0x278a668
|
|
/* 0278A668 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0278A668 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 0278A66C */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 0278A66C */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_0278A670: ; // 0x278a670
|
|
/* 0278A670 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 0278A670 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278A674 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278A678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278A67C */ cpu->r[12] = cpu->r[0];
|
|
/* 0278A680 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A680 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278A680 */ if (_t18) goto L_0278A684; else goto L_0278A6A8;
|
|
L_0278A684: ; // 0x278a684
|
|
/* 0278A684 */ cpu->ctr = cpu->r[7];
|
|
/* 0278A688 */ cpu->r[10] = 0x00000000u;
|
|
L_0278A68C: ; // 0x278a68c
|
|
/* 0278A68C */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 0278A68C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278A690 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 0278A690 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 0278A694 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0278A698 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0278A698 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0278A69C */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 0278A6A0 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 0278A6A0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 0278A6A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278A6A4 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278A6A4 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0278A6A4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0278A6A4 */ if (_t25) goto L_0278A68C; else goto L_0278A6A8;
|
|
L_0278A6A8: ; // 0x278a6a8
|
|
/* 0278A6A8 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0278A6A8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0278A6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A6B0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A6B0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278A6B0 */ if (_t28) goto L_0278A6F4; else goto L_0278A6B4;
|
|
L_0278A6B4: ; // 0x278a6b4
|
|
/* 0278A6B4 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0278A6B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278A6B8 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278A6BC */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A6BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278A6C0 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0278A6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278A6C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A6C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278A6CC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A6D8 */ cpu->r[11] = cpu->r[27];
|
|
/* 0278A6DC */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A6DC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278A6DC */ if (_t33) goto L_0278A6E4; else goto L_0278A6E0;
|
|
L_0278A6E0: ; // 0x278a6e0
|
|
/* 0278A6E0 */ cpu->r[11] = 0x00000001u;
|
|
L_0278A6E4: ; // 0x278a6e4
|
|
/* 0278A6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A6E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A6E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0278A6E8 */ if (_t35) goto L_0278A6F4; else goto L_0278A6EC;
|
|
L_0278A6EC: ; // 0x278a6ec
|
|
/* 0278A6EC */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0278A6EC */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0278A6F0 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 0278A6F0 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_0278A6F4: ; // 0x278a6f4
|
|
/* 0278A6F4 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 0278A6F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278A6F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278A6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0278A700 */ cpu->r[12] = cpu->r[0];
|
|
/* 0278A704 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A704 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0278A704 */ if (_t40) goto L_0278A708; else goto L_0278A72C;
|
|
L_0278A708: ; // 0x278a708
|
|
/* 0278A708 */ cpu->ctr = cpu->r[6];
|
|
/* 0278A70C */ cpu->r[9] = 0x00000000u;
|
|
L_0278A710: ; // 0x278a710
|
|
/* 0278A710 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0278A710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278A714 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 0278A714 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 0278A718 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0278A71C */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0278A71C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0278A720 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 0278A724 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 0278A724 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0278A728 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278A728 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278A728 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0278A728 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0278A728 */ if (_t47) goto L_0278A710; else goto L_0278A72C;
|
|
L_0278A72C: ; // 0x278a72c
|
|
/* 0278A72C */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0278A72C */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0278A730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A734 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A734 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0278A734 */ if (_t50) goto L_0278A778; else goto L_0278A738;
|
|
L_0278A738: ; // 0x278a738
|
|
/* 0278A738 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0278A738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0278A73C */ Gambit_fn_02826F20(cpu);
|
|
/* 0278A740 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A740 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0278A744 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 0278A744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0278A748 */ cpu->ctr = cpu->r[0];
|
|
/* 0278A74C */ cpu->r[5] = 0x00000004u;
|
|
/* 0278A750 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A754 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A75C */ cpu->r[10] = cpu->r[27];
|
|
/* 0278A760 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A760 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0278A760 */ if (_t55) goto L_0278A768; else goto L_0278A764;
|
|
L_0278A764: ; // 0x278a764
|
|
/* 0278A764 */ cpu->r[10] = 0x00000001u;
|
|
L_0278A768: ; // 0x278a768
|
|
/* 0278A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278A76C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A76C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0278A76C */ if (_t57) goto L_0278A778; else goto L_0278A770;
|
|
L_0278A770: ; // 0x278a770
|
|
/* 0278A770 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 0278A770 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 0278A774 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 0278A774 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0278A778: ; // 0x278a778
|
|
/* 0278A778 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0278A778 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0278A77C */ cpu->r[0] = 0x00000000u;
|
|
/* 0278A780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278A784 */ cpu->r[5] = cpu->r[0];
|
|
/* 0278A788 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A788 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278A788 */ if (_t62) goto L_0278A78C; else goto L_0278A7B0;
|
|
L_0278A78C: ; // 0x278a78c
|
|
/* 0278A78C */ cpu->ctr = cpu->r[12];
|
|
/* 0278A790 */ cpu->r[8] = 0x00000000u;
|
|
L_0278A794: ; // 0x278a794
|
|
/* 0278A794 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 0278A794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0278A798 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0278A798 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 0278A79C */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 0278A7A0 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 0278A7A0 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 0278A7A4 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0278A7A8 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0278A7A8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 0278A7AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278A7AC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278A7AC */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0278A7AC */ _t69 = _t68 & 0x00000001u;
|
|
/* 0278A7AC */ if (_t69) goto L_0278A794; else goto L_0278A7B0;
|
|
L_0278A7B0: ; // 0x278a7b0
|
|
/* 0278A7B0 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0278A7B0 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0278A7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278A7B8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A7B8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0278A7B8 */ if (_t72) goto L_0278A894; else goto L_0278A7BC;
|
|
L_0278A7BC: ; // 0x278a7bc
|
|
/* 0278A7BC */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 0278A7BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278A7C0 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278A7C4 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A7C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0278A7C8 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0278A7C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0278A7CC */ cpu->ctr = cpu->r[12];
|
|
/* 0278A7D0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278A7D4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0278A7D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278A7DC */ cpu->r[24] = cpu->r[3];
|
|
/* 0278A7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278A7E4 */ cpu->r[30] = cpu->r[25];
|
|
/* 0278A7E8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0278A7EC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278A7EC */ _t77 = _t76 & 0x00000001u;
|
|
/* 0278A7EC */ if (_t77) goto L_0278A7F4; else goto L_0278A7F0;
|
|
L_0278A7F0: ; // 0x278a7f0
|
|
/* 0278A7F0 */ cpu->r[30] = 0x00000001u;
|
|
L_0278A7F4: ; // 0x278a7f4
|
|
/* 0278A7F4 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278A7F8 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0278A7FC */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0278A7FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 0278A800 */ cpu->r[23] = 0x00000018u;
|
|
L_0278A804: ; // 0x278a804
|
|
/* 0278A804 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 0278A804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278A808 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A808 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0278A808 */ if (_t80) goto L_0278A878; else goto L_0278A80C;
|
|
L_0278A80C: ; // 0x278a80c
|
|
/* 0278A80C */ cpu->r[26] = cpu->r[27];
|
|
/* 0278A80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0278A810 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A810 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0278A810 */ if (_t82) goto L_0278A814; else goto L_0278A824;
|
|
L_0278A814: ; // 0x278a814
|
|
/* 0278A814 */ cpu->r[3] = 0x00000024u;
|
|
/* 0278A818 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278A81C */ cpu->r[26] = cpu->r[3];
|
|
/* 0278A81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0278A820 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A820 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0278A820 */ if (_t84) goto L_0278A86C; else goto L_0278A824;
|
|
L_0278A824: ; // 0x278a824
|
|
/* 0278A824 */ cpu->r[11] = cpu->r[26];
|
|
/* 0278A824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278A828 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A828 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0278A828 */ if (_t86) goto L_0278A82C; else goto L_0278A83C;
|
|
L_0278A82C: ; // 0x278a82c
|
|
/* 0278A82C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278A830 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278A834 */ cpu->r[11] = cpu->r[3];
|
|
/* 0278A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278A838 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A838 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0278A838 */ if (_t88) goto L_0278A858; else goto L_0278A83C;
|
|
L_0278A83C: ; // 0x278a83c
|
|
/* 0278A83C */ cpu->r[5] = 0x10100000u;
|
|
/* 0278A840 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 0278A840 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 0278A844 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278A848 */ cpu->r[5] = cpu->r[5] + 0x00005BACu;
|
|
/* 0278A84C */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0278A84C */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0278A850 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 0278A850 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 0278A854 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 0278A854 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_0278A858: ; // 0x278a858
|
|
/* 0278A858 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278A85C */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0278A85C */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0278A860 */ cpu->r[6] = cpu->r[6] + 0x00005BC4u;
|
|
/* 0278A864 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 0278A864 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0278A868 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0278A868 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0278A86C: ; // 0x278a86c
|
|
/* 0278A86C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278A870 */ cpu->r[0] = cpu->r[0] + 0x00005BDCu;
|
|
/* 0278A874 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0278A874 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0278A878: ; // 0x278a878
|
|
/* 0278A878 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0278A878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278A87C */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 0278A880 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A880 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0278A880 */ if (_t98) goto L_0278A884; else goto L_0278A804;
|
|
L_0278A884: ; // 0x278a884
|
|
/* 0278A884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278A888 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A888 */ _t100 = _t99 & 0x00000001u;
|
|
/* 0278A888 */ if (_t100) goto L_0278A894; else goto L_0278A88C;
|
|
L_0278A88C: ; // 0x278a88c
|
|
/* 0278A88C */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 0278A88C */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 0278A890 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 0278A890 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_0278A894: ; // 0x278a894
|
|
/* 0278A894 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 0278A894 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0278A898 */ /* nop */
|
|
/* 0278A89C */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 0278A89C */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0278A8A0 */ cpu->lr = cpu->r[0];
|
|
/* 0278A8A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0278A8A8 */ return;
|
|
}
|
|
|
|
// fn_0278A8AC @ 0x278a8ac
|
|
void Gambit_fn_0278A8AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0278A8AC: ; // 0x278a8ac
|
|
/* 0278A8AC */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 0278A8AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278A8B0 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0278A8B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A8B4 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0278A8B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278A8B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0278A8BC */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 0278A8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278A8C0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A8C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278A8C0 */ if (_t5) goto L_0278A8C4; else goto L_0278A8CC;
|
|
L_0278A8C4: ; // 0x278a8c4
|
|
/* 0278A8C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A8C8 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0278A8CC: ; // 0x278a8cc
|
|
/* 0278A8CC */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0278A8CC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278A8D0 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 0278A8D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278A8D4 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 0278A8D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0278A8D8 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0278A8D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0278A8DC */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0278A8DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278A8E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0278A8E4 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0278A8E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278A8E8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A8E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278A8E8 */ if (_t13) goto L_0278A8EC; else goto L_0278A8F4;
|
|
L_0278A8EC: ; // 0x278a8ec
|
|
/* 0278A8EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A8F0 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_0278A8F4: ; // 0x278a8f4
|
|
/* 0278A8F4 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0278A8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278A8F8 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0278A8F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278A8FC */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0278A8FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278A900 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 0278A900 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 0278A904 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 0278A904 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278A908 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 0278A908 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0278A90C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0278A90C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278A910 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 0278A914 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 0278A914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278A918 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A918 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0278A918 */ if (_t23) goto L_0278A91C; else goto L_0278A924;
|
|
L_0278A91C: ; // 0x278a91c
|
|
/* 0278A91C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A920 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_0278A924: ; // 0x278a924
|
|
/* 0278A924 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 0278A924 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 0278A928 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 0278A928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278A92C */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0278A92C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0278A930 */ return;
|
|
}
|
|
|
|
// fn_0278A934 @ 0x278a934
|
|
void Gambit_fn_0278A934(CPUState* 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_0278A934: ; // 0x278a934
|
|
/* 0278A934 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A934 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278A938 */ /* nop */
|
|
/* 0278A93C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 0278A93C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A940 */ cpu->r[8] = cpu->r[0];
|
|
/* 0278A944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0278A948 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0278A948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278A94C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A94C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278A94C */ if (_t4) goto L_0278A950; else goto L_0278A968;
|
|
L_0278A950: ; // 0x278a950
|
|
/* 0278A950 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A954 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0278A958 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0278A958 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0278A95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278A960 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A960 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278A960 */ if (_t7) goto L_0278A964; else goto L_0278A974;
|
|
L_0278A964: ; // 0x278a964
|
|
/* 0278A964 */ return;
|
|
L_0278A968: ; // 0x278a968
|
|
/* 0278A968 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0278A968 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0278A96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278A970 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A970 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278A970 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A970 */ goto L_0278A974;
|
|
L_0278A974: ; // 0x278a974
|
|
/* 0278A974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0278A978 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0278A978 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278A97C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A97C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278A97C */ if (_t13) goto L_0278A980; else goto L_0278A988;
|
|
L_0278A980: ; // 0x278a980
|
|
/* 0278A980 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A984 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0278A988: ; // 0x278a988
|
|
/* 0278A988 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0278A988 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0278A98C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0278A98C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0278A990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278A994 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0278A994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278A998 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0278A99C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A99C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278A99C */ if (_t18) goto L_0278A9B4; else goto L_0278A9A0;
|
|
L_0278A9A0: ; // 0x278a9a0
|
|
/* 0278A9A0 */ /* nop */
|
|
/* 0278A9A4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0278A9A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278A9A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A9AC */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0278A9B0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0278A9B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0278A9B4: ; // 0x278a9b4
|
|
/* 0278A9B4 */ cpu->ctr = cpu->r[11];
|
|
/* 0278A9B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278A9BC @ 0x278a9bc
|
|
void Gambit_fn_0278A9BC(CPUState* 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_0278A9BC: ; // 0x278a9bc
|
|
/* 0278A9BC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278A9BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278A9C0 */ /* nop */
|
|
/* 0278A9C4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 0278A9C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278A9C8 */ cpu->r[8] = cpu->r[0];
|
|
/* 0278A9CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 0278A9D0 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0278A9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278A9D4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278A9D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278A9D4 */ if (_t4) goto L_0278A9D8; else goto L_0278A9F0;
|
|
L_0278A9D8: ; // 0x278a9d8
|
|
/* 0278A9D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278A9DC */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 0278A9E0 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0278A9E0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0278A9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278A9E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A9E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278A9E8 */ if (_t7) goto L_0278A9EC; else goto L_0278A9FC;
|
|
L_0278A9EC: ; // 0x278a9ec
|
|
/* 0278A9EC */ return;
|
|
L_0278A9F0: ; // 0x278a9f0
|
|
/* 0278A9F0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0278A9F0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0278A9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278A9F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278A9F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278A9F8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278A9F8 */ goto L_0278A9FC;
|
|
L_0278A9FC: ; // 0x278a9fc
|
|
/* 0278A9FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0278AA00 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0278AA00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AA04 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278AA04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278AA04 */ if (_t13) goto L_0278AA08; else goto L_0278AA10;
|
|
L_0278AA08: ; // 0x278aa08
|
|
/* 0278AA08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278AA0C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0278AA10: ; // 0x278aa10
|
|
/* 0278AA10 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0278AA10 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0278AA14 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0278AA14 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0278AA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AA1C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0278AA1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278AA20 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 0278AA24 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278AA24 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278AA24 */ if (_t18) goto L_0278AA3C; else goto L_0278AA28;
|
|
L_0278AA28: ; // 0x278aa28
|
|
/* 0278AA28 */ /* nop */
|
|
/* 0278AA2C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0278AA2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278AA30 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278AA34 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 0278AA38 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0278AA38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0278AA3C: ; // 0x278aa3c
|
|
/* 0278AA3C */ cpu->ctr = cpu->r[11];
|
|
/* 0278AA40 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278AA44 @ 0x278aa44
|
|
void Gambit_fn_0278AA44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0278AA44: ; // 0x278aa44
|
|
/* 0278AA44 */ cpu->r[0] = cpu->lr;
|
|
/* 0278AA48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AA48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AA48 */ cpu->r[1] = _t0;
|
|
/* 0278AA4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AA4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278AA50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278AA54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AA54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278AA58 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278AA58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0278AA5C */ cpu->r[12] = 0x00000000u;
|
|
/* 0278AA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AA64 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0278AA64 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0278AA68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AA68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278AA68 */ if (_t6) goto L_0278AA90; else goto L_0278AA6C;
|
|
L_0278AA6C: ; // 0x278aa6c
|
|
/* 0278AA6C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278AA6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0278AA70 */ /* nop */
|
|
/* 0278AA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0278AA78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AA78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278AA78 */ if (_t9) goto L_0278AA7C; else goto L_0278AA90;
|
|
L_0278AA7C: ; // 0x278aa7c
|
|
/* 0278AA7C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0278AA7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278AA80 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0278AA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AA84 */ cpu->ctr = cpu->r[0];
|
|
/* 0278AA88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278AA90: ; // 0x278aa90
|
|
/* 0278AA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA94 */ Gambit_fn_0278A9BC(cpu);
|
|
/* 0278AA98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA9C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0278AAA0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278AAA4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278AAA8 */ cpu->lr = cpu->r[0];
|
|
/* 0278AAAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AAB0 */ return;
|
|
}
|
|
|
|
// fn_0278AA48 @ 0x278aa48
|
|
void Gambit_fn_0278AA48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0278AA48: ; // 0x278aa48
|
|
/* 0278AA48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AA48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AA48 */ cpu->r[1] = _t0;
|
|
/* 0278AA4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AA4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278AA50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278AA54 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AA54 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278AA58 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278AA58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0278AA5C */ cpu->r[12] = 0x00000000u;
|
|
/* 0278AA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AA64 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0278AA64 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0278AA68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AA68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278AA68 */ if (_t6) goto L_0278AA90; else goto L_0278AA6C;
|
|
L_0278AA6C: ; // 0x278aa6c
|
|
/* 0278AA6C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278AA6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0278AA70 */ /* nop */
|
|
/* 0278AA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0278AA78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AA78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278AA78 */ if (_t9) goto L_0278AA7C; else goto L_0278AA90;
|
|
L_0278AA7C: ; // 0x278aa7c
|
|
/* 0278AA7C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0278AA7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278AA80 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0278AA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AA84 */ cpu->ctr = cpu->r[0];
|
|
/* 0278AA88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278AA90: ; // 0x278aa90
|
|
/* 0278AA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA94 */ Gambit_fn_0278A9BC(cpu);
|
|
/* 0278AA98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AA9C */ Gambit_fn_027FC37C(cpu);
|
|
/* 0278AAA0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278AAA4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AAA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278AAA8 */ cpu->lr = cpu->r[0];
|
|
/* 0278AAAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AAB0 */ return;
|
|
}
|
|
|
|
// fn_0278AAB4 @ 0x278aab4
|
|
void Gambit_fn_0278AAB4(CPUState* 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_0278AAB4: ; // 0x278aab4
|
|
/* 0278AAB4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278AAB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278AAB8 */ /* nop */
|
|
/* 0278AABC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 0278AABC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278AAC0 */ cpu->r[7] = cpu->r[0];
|
|
/* 0278AAC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0278AAC8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 0278AAC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278AACC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278AACC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278AACC */ if (_t4) goto L_0278AAD0; else goto L_0278AAE8;
|
|
L_0278AAD0: ; // 0x278aad0
|
|
/* 0278AAD0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278AAD4 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0278AAD8 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 0278AAD8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 0278AADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278AAE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AAE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278AAE0 */ if (_t7) goto L_0278AAE4; else goto L_0278AAF4;
|
|
L_0278AAE4: ; // 0x278aae4
|
|
/* 0278AAE4 */ return;
|
|
L_0278AAE8: ; // 0x278aae8
|
|
/* 0278AAE8 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 0278AAE8 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 0278AAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278AAF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AAF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278AAF0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278AAF0 */ goto L_0278AAF4;
|
|
L_0278AAF4: ; // 0x278aaf4
|
|
/* 0278AAF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0278AAF8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0278AAF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AAFC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278AAFC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278AAFC */ if (_t13) goto L_0278AB00; else goto L_0278AB08;
|
|
L_0278AB00: ; // 0x278ab00
|
|
/* 0278AB00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278AB04 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_0278AB08: ; // 0x278ab08
|
|
/* 0278AB08 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 0278AB08 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 0278AB0C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0278AB0C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 0278AB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278AB14 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 0278AB14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278AB18 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 0278AB1C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278AB1C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278AB1C */ if (_t18) goto L_0278AB34; else goto L_0278AB20;
|
|
L_0278AB20: ; // 0x278ab20
|
|
/* 0278AB20 */ /* nop */
|
|
/* 0278AB24 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 0278AB24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278AB28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0278AB2C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0278AB30 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0278AB30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_0278AB34: ; // 0x278ab34
|
|
/* 0278AB34 */ cpu->ctr = cpu->r[11];
|
|
/* 0278AB38 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278AB3C @ 0x278ab3c
|
|
void Gambit_fn_0278AB3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278AB3C: ; // 0x278ab3c
|
|
/* 0278AB3C */ cpu->r[0] = cpu->lr;
|
|
/* 0278AB40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AB40 */ cpu->r[1] = _t0;
|
|
/* 0278AB44 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AB44 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278AB48 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AB48 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278AB4C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278AB50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AB50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AB54 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278AB54 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278AB58 */ /* nop */
|
|
/* 0278AB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0278AB60 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278AB64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AB64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278AB64 */ if (_t6) goto L_0278AB68; else goto L_0278AB7C;
|
|
L_0278AB68: ; // 0x278ab68
|
|
/* 0278AB68 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0278AB68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278AB6C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0278AB6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278AB70 */ cpu->ctr = cpu->r[0];
|
|
/* 0278AB74 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278AB7C: ; // 0x278ab7c
|
|
/* 0278AB7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB80 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278AB84 */ Gambit_fn_0278AAB4(cpu);
|
|
/* 0278AB88 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB8C */ /* nop */
|
|
/* 0278AB90 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278AB94 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB98 */ Gambit_fn_0278A934(cpu);
|
|
/* 0278AB9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278ABA0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278ABA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278ABA4 */ cpu->lr = cpu->r[0];
|
|
/* 0278ABA8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ABA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278ABAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278ABB0 */ return;
|
|
}
|
|
|
|
// fn_0278AB40 @ 0x278ab40
|
|
void Gambit_fn_0278AB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278AB40: ; // 0x278ab40
|
|
/* 0278AB40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AB40 */ cpu->r[1] = _t0;
|
|
/* 0278AB44 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AB44 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278AB48 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AB48 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278AB4C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278AB50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AB50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AB54 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278AB54 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278AB58 */ /* nop */
|
|
/* 0278AB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0278AB60 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278AB64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AB64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278AB64 */ if (_t6) goto L_0278AB68; else goto L_0278AB7C;
|
|
L_0278AB68: ; // 0x278ab68
|
|
/* 0278AB68 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0278AB68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278AB6C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 0278AB6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278AB70 */ cpu->ctr = cpu->r[0];
|
|
/* 0278AB74 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278AB7C: ; // 0x278ab7c
|
|
/* 0278AB7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB80 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278AB84 */ Gambit_fn_0278AAB4(cpu);
|
|
/* 0278AB88 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB8C */ /* nop */
|
|
/* 0278AB90 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0278AB94 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AB98 */ Gambit_fn_0278A934(cpu);
|
|
/* 0278AB9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278ABA0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278ABA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278ABA4 */ cpu->lr = cpu->r[0];
|
|
/* 0278ABA8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ABA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278ABAC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278ABB0 */ return;
|
|
}
|
|
|
|
// fn_0278ABB4 @ 0x278abb4
|
|
void Gambit_fn_0278ABB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278ABB4: ; // 0x278abb4
|
|
/* 0278ABB4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0278ABB8 */ goto L_0278ACAC;
|
|
L_0278ACAC: ; // 0x278acac
|
|
/* 0278ACAC */ cpu->r[0] = cpu->lr;
|
|
/* 0278ACB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278ACB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ACB0 */ cpu->r[1] = _t0;
|
|
/* 0278ACB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ACB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ACB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278ACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278ACBC */ cpu->r[30] = cpu->r[3];
|
|
/* 0278ACBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ACC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278ACC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ACC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278ACC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ACC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278ACC8 */ if (_t5) goto L_0278AD0C; else goto L_0278ACCC;
|
|
L_0278ACCC: ; // 0x278accc
|
|
/* 0278ACCC */ cpu->r[0] = 0x10100000u;
|
|
/* 0278ACD0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278ACD4 */ cpu->r[0] = cpu->r[0] + 0x00005F44u;
|
|
/* 0278ACD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ACDC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ACDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278ACE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ACE4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278ACE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ACEC */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ACF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278ACF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278ACF8 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278ACFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AD00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278AD00 */ if (_t8) goto L_0278AD0C; else goto L_0278AD04;
|
|
L_0278AD04: ; // 0x278ad04
|
|
/* 0278AD04 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AD08 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278AD0C: ; // 0x278ad0c
|
|
/* 0278AD0C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278AD10 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AD10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278AD14 */ cpu->lr = cpu->r[0];
|
|
/* 0278AD18 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AD18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AD1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AD20 */ return;
|
|
}
|
|
|
|
// fn_0278ABBC @ 0x278abbc
|
|
void Gambit_fn_0278ABBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278ABBC: ; // 0x278abbc
|
|
/* 0278ABBC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0278ABC0 */ goto L_0278AD24;
|
|
L_0278AD24: ; // 0x278ad24
|
|
/* 0278AD24 */ cpu->r[0] = cpu->lr;
|
|
/* 0278AD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AD28 */ cpu->r[1] = _t0;
|
|
/* 0278AD2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AD2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278AD30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AD30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278AD34 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278AD3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AD3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AD40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278AD40 */ if (_t5) goto L_0278AE2C; else goto L_0278AD44;
|
|
L_0278AD44: ; // 0x278ad44
|
|
/* 0278AD44 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD48 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AD4C */ cpu->r[0] = cpu->r[0] + 0x00006114u;
|
|
/* 0278AD50 */ cpu->r[12] = cpu->r[12] + 0x00006144u;
|
|
/* 0278AD54 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD54 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278AD58 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD5C */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD5C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278AD60 */ cpu->r[0] = cpu->r[0] + 0x00006124u;
|
|
/* 0278AD64 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278AD68 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278AD68 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278AD6C */ cpu->r[9] = cpu->r[9] + 0x00006154u;
|
|
/* 0278AD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD74 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278AD74 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278AD78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278AD78 */ if (_t11) goto L_0278AE1C; else goto L_0278AD7C;
|
|
L_0278AD7C: ; // 0x278ad7c
|
|
/* 0278AD7C */ cpu->r[10] = 0x10020000u;
|
|
/* 0278AD80 */ cpu->r[12] = 0x10020000u;
|
|
/* 0278AD84 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278AD88 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278AD8C */ cpu->r[11] = 0x10020000u;
|
|
/* 0278AD90 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD90 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278AD94 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278AD98 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD98 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278AD9C */ cpu->r[0] = 0x10020000u;
|
|
/* 0278ADA0 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278ADA4 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADAC */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278ADAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278ADB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278ADB0 */ if (_t17) goto L_0278AE1C; else goto L_0278ADB4;
|
|
L_0278ADB4: ; // 0x278adb4
|
|
/* 0278ADB4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278ADB8 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278ADBC */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278ADC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0278ADC4 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278ADC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADD0 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278ADD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADD8 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278ADDC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278ADE8 */ if (_t21) goto L_0278AE1C; else goto L_0278ADEC;
|
|
L_0278ADEC: ; // 0x278adec
|
|
/* 0278ADEC */ cpu->r[10] = 0x10100000u;
|
|
/* 0278ADF0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278ADF4 */ cpu->r[10] = cpu->r[10] + 0x00005F44u;
|
|
/* 0278ADF8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADFC */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADFC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278AE00 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE04 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278AE08 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278AE0C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE10 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE14 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278AE18 */ Gambit_fn_028136EC(cpu);
|
|
L_0278AE1C: ; // 0x278ae1c
|
|
/* 0278AE1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278AE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AE20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AE20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278AE20 */ if (_t24) goto L_0278AE2C; else goto L_0278AE24;
|
|
L_0278AE24: ; // 0x278ae24
|
|
/* 0278AE24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE28 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278AE2C: ; // 0x278ae2c
|
|
/* 0278AE2C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278AE30 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AE30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278AE34 */ cpu->lr = cpu->r[0];
|
|
/* 0278AE38 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AE38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278AE3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AE40 */ return;
|
|
}
|
|
|
|
// fn_0278ABC4 @ 0x278abc4
|
|
void Gambit_fn_0278ABC4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278ABC4: ; // 0x278abc4
|
|
/* 0278ABC4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFEB0u;
|
|
/* 0278ABC8 */ goto L_0278AE44;
|
|
L_0278AE44: ; // 0x278ae44
|
|
/* 0278AE44 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0278AE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278AE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0278AE4C */ /* nop */
|
|
/* 0278AE50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278AE54 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0278AE58 */ return;
|
|
}
|
|
|
|
// fn_0278ABCC @ 0x278abcc
|
|
void Gambit_fn_0278ABCC(CPUState* 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_0278ABCC: ; // 0x278abcc
|
|
/* 0278ABCC */ cpu->r[0] = cpu->lr;
|
|
/* 0278ABD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278ABD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ABD0 */ cpu->r[1] = _t0;
|
|
/* 0278ABD4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ABD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ABD8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278ABD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278ABDC */ cpu->r[30] = cpu->r[5];
|
|
/* 0278ABE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ABE4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ABE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278ABE8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278ABE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278ABEC */ cpu->r[29] = cpu->r[4];
|
|
/* 0278ABF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ABF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278ABF0 */ if (_t6) goto L_0278ABF4; else goto L_0278AC04;
|
|
L_0278ABF4: ; // 0x278abf4
|
|
/* 0278ABF4 */ cpu->r[3] = 0x00000280u;
|
|
/* 0278ABF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278ABFC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ABFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278AC00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AC00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278AC00 */ if (_t8) goto L_0278AC6C; else goto L_0278AC04;
|
|
L_0278AC04: ; // 0x278ac04
|
|
/* 0278AC04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC08 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278AC0C */ cpu->r[5] = cpu->r[30];
|
|
/* 0278AC10 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 0278AC14 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AC18 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AC1C */ cpu->r[12] = cpu->r[12] + 0x00006114u;
|
|
/* 0278AC20 */ cpu->r[0] = cpu->r[0] + 0x00006124u;
|
|
/* 0278AC24 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278AC28 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0278AC28 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0278AC2C */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AC30 */ cpu->r[11] = cpu->r[11] + 0x00005F94u;
|
|
/* 0278AC34 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 0278AC34 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0278AC38 */ cpu->r[12] = cpu->r[12] + 0x00006154u;
|
|
/* 0278AC3C */ _t11 = cpu->r[31] + 0x00000070u;
|
|
/* 0278AC3C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0278AC40 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278AC44 */ _t12 = cpu->r[31] + 0x00000218u;
|
|
/* 0278AC44 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0278AC48 */ cpu->r[11] = cpu->r[11] + 0x00006144u;
|
|
/* 0278AC4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278AC50 */ _t13 = cpu->r[31] + 0x00000214u;
|
|
/* 0278AC50 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0278AC54 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278AC58 */ _t14 = cpu->r[12] + 0xFFFF9010u;
|
|
/* 0278AC58 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0278AC5C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC60 */ _t15 = cpu->r[31] + 0x0000027Cu;
|
|
/* 0278AC60 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278AC64 */ Gambit_fn_0278B068(cpu);
|
|
/* 0278AC68 */ _t16 = cpu->r[31] + 0x00000278u;
|
|
/* 0278AC68 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
L_0278AC6C: ; // 0x278ac6c
|
|
/* 0278AC6C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AC6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278AC70 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278AC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278AC74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC78 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0278AC78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278AC7C */ cpu->lr = cpu->r[0];
|
|
/* 0278AC80 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AC80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278AC84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278AC88 */ return;
|
|
}
|
|
|
|
// fn_0278ABD0 @ 0x278abd0
|
|
void Gambit_fn_0278ABD0(CPUState* 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_0278ABD0: ; // 0x278abd0
|
|
/* 0278ABD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278ABD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ABD0 */ cpu->r[1] = _t0;
|
|
/* 0278ABD4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ABD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ABD8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278ABD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278ABDC */ cpu->r[30] = cpu->r[5];
|
|
/* 0278ABE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ABE4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ABE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278ABE8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278ABE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278ABEC */ cpu->r[29] = cpu->r[4];
|
|
/* 0278ABF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ABF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278ABF0 */ if (_t6) goto L_0278ABF4; else goto L_0278AC04;
|
|
L_0278ABF4: ; // 0x278abf4
|
|
/* 0278ABF4 */ cpu->r[3] = 0x00000280u;
|
|
/* 0278ABF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278ABFC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ABFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278AC00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AC00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278AC00 */ if (_t8) goto L_0278AC6C; else goto L_0278AC04;
|
|
L_0278AC04: ; // 0x278ac04
|
|
/* 0278AC04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC08 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278AC0C */ cpu->r[5] = cpu->r[30];
|
|
/* 0278AC10 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 0278AC14 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AC18 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AC1C */ cpu->r[12] = cpu->r[12] + 0x00006114u;
|
|
/* 0278AC20 */ cpu->r[0] = cpu->r[0] + 0x00006124u;
|
|
/* 0278AC24 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278AC28 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0278AC28 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0278AC2C */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AC30 */ cpu->r[11] = cpu->r[11] + 0x00005F94u;
|
|
/* 0278AC34 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 0278AC34 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0278AC38 */ cpu->r[12] = cpu->r[12] + 0x00006154u;
|
|
/* 0278AC3C */ _t11 = cpu->r[31] + 0x00000070u;
|
|
/* 0278AC3C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0278AC40 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278AC44 */ _t12 = cpu->r[31] + 0x00000218u;
|
|
/* 0278AC44 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0278AC48 */ cpu->r[11] = cpu->r[11] + 0x00006144u;
|
|
/* 0278AC4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278AC50 */ _t13 = cpu->r[31] + 0x00000214u;
|
|
/* 0278AC50 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0278AC54 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278AC58 */ _t14 = cpu->r[12] + 0xFFFF9010u;
|
|
/* 0278AC58 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0278AC5C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC60 */ _t15 = cpu->r[31] + 0x0000027Cu;
|
|
/* 0278AC60 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278AC64 */ Gambit_fn_0278B068(cpu);
|
|
/* 0278AC68 */ _t16 = cpu->r[31] + 0x00000278u;
|
|
/* 0278AC68 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
L_0278AC6C: ; // 0x278ac6c
|
|
/* 0278AC6C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AC6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278AC70 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278AC70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278AC74 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278AC78 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0278AC78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278AC7C */ cpu->lr = cpu->r[0];
|
|
/* 0278AC80 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AC80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278AC84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278AC88 */ return;
|
|
}
|
|
|
|
// fn_0278AC8C @ 0x278ac8c
|
|
void Gambit_fn_0278AC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_02789194: ; // 0x2789194
|
|
/* 02789194 */ _t0 = cpu->r[1] + 0xFFFFFF10u;
|
|
/* 02789194 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02789194 */ cpu->r[1] = _t0;
|
|
/* 02789198 */ /* nop */
|
|
/* 0278919C */ _t1 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278919C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 027891A0 */ /* nop */
|
|
/* 027891A4 */ _t2 = cpu->r[1] + 0x000000E0u;
|
|
/* 027891A4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 027891A8 */ /* nop */
|
|
/* 027891AC */ cpu->r[28] = cpu->r[4];
|
|
/* 027891B0 */ _t3 = cpu->r[1] + 0x000000D8u;
|
|
/* 027891B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 027891B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027891B8 */ _t4 = cpu->r[1] + 0x000000E8u;
|
|
/* 027891B8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027891BC */ cpu->r[4] = 0x10100000u;
|
|
/* 027891C0 */ _t5 = cpu->r[4] + 0x00005CC8u;
|
|
/* 027891C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027891C4 */ _t6 = cpu->r[1] + 0x000000F4u;
|
|
/* 027891C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027891C8 */ cpu->r[27] = cpu->r[3];
|
|
/* 027891CC */ _t7 = cpu->r[27] + 0x0000028Cu;
|
|
/* 027891CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027891D0 */ cpu->r[29] = 0x101F0000u;
|
|
/* 027891D4 */ cpu->r[30] = 0x101F0000u;
|
|
/* 027891D8 */ cpu->r[31] = 0x101F0000u;
|
|
/* 027891DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027891E0 */ cpu->r[29] = cpu->r[29] + 0x00002240u;
|
|
/* 027891E4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027891E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027891E4 */ if (_t9) goto L_027891E8; else goto L_02789304;
|
|
L_027891E8: ; // 0x27891e8
|
|
/* 027891E8 */ cpu->r[4] = cpu->r[28];
|
|
/* 027891EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027891F0 */ Gambit_fn_0280046C(cpu);
|
|
/* 027891F4 */ cpu->f[30] = cpu->f[31];
|
|
/* 027891F8 */ cpu->r[25] = 0x00000000u;
|
|
/* 027891FC */ cpu->r[26] = 0x00000002u;
|
|
L_02789200: ; // 0x2789200
|
|
/* 02789200 */ cpu->r[11] = 0x10100000u;
|
|
/* 02789204 */ cpu->r[0] = cpu->r[25] ^ 0x80000000u;
|
|
/* 02789208 */ _t10 = cpu->r[11] + 0x00005CD0u;
|
|
/* 02789208 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 0278920C */ cpu->r[5] = 0x43300000u;
|
|
/* 02789210 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789210 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02789214 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02789214 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02789218 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02789218 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 0278921C */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 0278921C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[30]);
|
|
/* 02789220 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 02789224 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 02789228 */ /* nop */
|
|
/* 0278922C */ cpu->f[13] = -cpu->f[0];
|
|
/* 02789230 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02789230 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02789234 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02789234 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02789238 */ /* nop */
|
|
/* 0278923C */ _t17 = cpu->r[1] + 0x00000074u;
|
|
/* 0278923C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[30]);
|
|
/* 02789240 */ /* nop */
|
|
/* 02789244 */ /* nop */
|
|
/* 02789248 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02789248 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278924C */ _t19 = cpu->r[1] + 0x00000048u;
|
|
/* 0278924C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02789250 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789250 */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02789254 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02789254 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02789258 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02789258 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0278925C */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 0278925C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02789260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02789264 */ _t24 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789264 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02789268 */ cpu->r[5] = cpu->r[31] + 0x00005BCCu;
|
|
/* 0278926C */ _t25 = cpu->r[1] + 0x00000070u;
|
|
/* 0278926C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02789270 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789270 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02789270 */ if (_t27) goto L_02789274; else goto L_02789278;
|
|
L_02789274: ; // 0x2789274
|
|
/* 02789274 */ cpu->r[5] = cpu->r[30] + 0x00005BECu;
|
|
L_02789278: ; // 0x2789278
|
|
/* 02789278 */ _t28 = cpu->r[5] + 0x00000000u;
|
|
/* 02789278 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278927C */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0278927C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02789280 */ _t30 = cpu->r[5] + 0x00000004u;
|
|
/* 02789280 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02789284 */ _t31 = cpu->r[1] + 0x00000080u;
|
|
/* 02789284 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02789288 */ _t32 = cpu->r[5] + 0x00000008u;
|
|
/* 02789288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278928C */ _t33 = cpu->r[1] + 0x00000084u;
|
|
/* 0278928C */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 02789290 */ _t34 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02789290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02789294 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02789298 */ cpu->r[3] = cpu->r[27] + 0x00000298u;
|
|
/* 0278929C */ _t35 = cpu->r[1] + 0x00000088u;
|
|
/* 0278929C */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 027892A0 */ Gambit_fn_02172BE0(cpu);
|
|
/* 027892A4 */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 027892A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027892A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027892AC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892AC */ _t38 = _t37 & 0x00000001u;
|
|
/* 027892AC */ if (_t38) goto L_027892B0; else goto L_027892D4;
|
|
L_027892B0: ; // 0x27892b0
|
|
/* 027892B0 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892B4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027892B8 */ cpu->r[4] = cpu->r[4] + 0x00005CE8u;
|
|
/* 027892BC */ _t39 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027892BC */ _t40 = _t39 & 0x00000001u;
|
|
/* 027892BC */ if (_t40) goto L_027892C0; // else: addr-0 trap, fall-through
|
|
L_027892C0: ; // 0x27892c0
|
|
/* 027892C0 */ Gambit_fn_028004D8(cpu);
|
|
/* 027892C4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027892C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027892C8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 027892CC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892CC */ _t42 = _t41 & 0x00000001u;
|
|
/* 027892CC */ if (_t42) goto L_027892D0; else goto L_02789200;
|
|
L_027892D0: ; // 0x27892d0
|
|
/* 027892D0 */ goto L_02789304;
|
|
L_027892D4: ; // 0x27892d4
|
|
/* 027892D4 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 027892DC */ cpu->r[4] = cpu->r[4] + 0x00005CD8u;
|
|
/* 027892E0 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027892E0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 027892E0 */ if (_t44) goto L_027892E4; else goto L_027892EC;
|
|
L_027892E4: ; // 0x27892e4
|
|
/* 027892E4 */ cpu->r[4] = 0x10100000u;
|
|
/* 027892E8 */ cpu->r[4] = cpu->r[4] + 0x00005CFCu;
|
|
L_027892EC: ; // 0x27892ec
|
|
/* 027892EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027892F0 */ _t45 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027892F0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 027892F0 */ if (_t46) goto L_027892F4; // else: addr-0 trap, fall-through
|
|
L_027892F4: ; // 0x27892f4
|
|
/* 027892F4 */ Gambit_fn_028004D8(cpu);
|
|
/* 027892F8 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 027892F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027892FC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02789300 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789300 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02789300 */ if (_t48) goto L_02789304; else goto L_02789200;
|
|
L_02789304: ; // 0x2789304
|
|
/* 02789304 */ _t49 = cpu->r[27] + 0x00000290u;
|
|
/* 02789304 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02789308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278930C */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278930C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278930C */ if (_t51) goto L_02789310; else goto L_027893E0;
|
|
L_02789310: ; // 0x2789310
|
|
/* 02789310 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02789314 */ cpu->r[4] = cpu->r[28];
|
|
/* 02789318 */ Gambit_fn_0280046C(cpu);
|
|
/* 0278931C */ cpu->f[30] = cpu->f[31];
|
|
/* 02789320 */ cpu->r[25] = 0x10100000u;
|
|
/* 02789324 */ cpu->r[24] = 0x00000002u;
|
|
/* 02789328 */ cpu->r[26] = 0x00000000u;
|
|
L_0278932C: ; // 0x278932c
|
|
/* 0278932C */ cpu->r[8] = 0x10100000u;
|
|
/* 02789330 */ cpu->r[4] = cpu->r[26] ^ 0x80000000u;
|
|
/* 02789334 */ _t52 = cpu->r[8] + 0x00005CD0u;
|
|
/* 02789334 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02789338 */ cpu->r[0] = 0x43300000u;
|
|
/* 0278933C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278933C */ rbrew_write32(cpu->mem, _t53, cpu->r[4]);
|
|
/* 02789340 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02789340 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02789344 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02789344 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02789348 */ _t56 = cpu->r[1] + 0x00000078u;
|
|
/* 02789348 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[30]);
|
|
/* 0278934C */ cpu->f[9] = cpu->f[8] - cpu->f[9];
|
|
/* 02789350 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 02789354 */ /* nop */
|
|
/* 02789358 */ cpu->f[10] = -cpu->f[7];
|
|
/* 0278935C */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278935C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[7]);
|
|
/* 02789360 */ _t58 = cpu->r[1] + 0x00000018u;
|
|
/* 02789360 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[10]);
|
|
/* 02789364 */ /* nop */
|
|
/* 02789368 */ _t59 = cpu->r[1] + 0x00000074u;
|
|
/* 02789368 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[30]);
|
|
/* 0278936C */ /* nop */
|
|
/* 02789370 */ /* nop */
|
|
/* 02789374 */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02789374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02789378 */ _t61 = cpu->r[1] + 0x00000050u;
|
|
/* 02789378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0278937C */ _t62 = cpu->r[1] + 0x00000034u;
|
|
/* 0278937C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
/* 02789380 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02789380 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02789384 */ _t64 = cpu->r[1] + 0x00000038u;
|
|
/* 02789384 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02789388 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 02789388 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0278938C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02789390 */ _t66 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789390 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 02789394 */ cpu->r[5] = cpu->r[31] + 0x00005BCCu;
|
|
/* 02789398 */ _t67 = cpu->r[1] + 0x00000070u;
|
|
/* 02789398 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[11]);
|
|
/* 0278939C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278939C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0278939C */ if (_t69) goto L_027893A0; else goto L_027893A4;
|
|
L_027893A0: ; // 0x27893a0
|
|
/* 027893A0 */ cpu->r[5] = cpu->r[30] + 0x00005BECu;
|
|
L_027893A4: ; // 0x27893a4
|
|
/* 027893A4 */ _t70 = cpu->r[5] + 0x00000000u;
|
|
/* 027893A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 027893A8 */ _t71 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027893A8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 027893AC */ _t72 = cpu->r[5] + 0x00000004u;
|
|
/* 027893AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t72);
|
|
/* 027893B0 */ _t73 = cpu->r[1] + 0x00000080u;
|
|
/* 027893B0 */ rbrew_write32(cpu->mem, _t73, cpu->r[6]);
|
|
/* 027893B4 */ _t74 = cpu->r[5] + 0x00000008u;
|
|
/* 027893B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027893B8 */ _t75 = cpu->r[1] + 0x00000084u;
|
|
/* 027893B8 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 027893BC */ _t76 = cpu->r[5] + 0x0000000Cu;
|
|
/* 027893BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 027893C0 */ cpu->r[4] = cpu->r[25] + 0x00005D10u;
|
|
/* 027893C4 */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027893C8 */ _t77 = cpu->r[1] + 0x00000088u;
|
|
/* 027893C8 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]);
|
|
/* 027893CC */ _t78 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027893CC */ _t79 = _t78 & 0x00000001u;
|
|
/* 027893CC */ if (_t79) goto L_027893D0; // else: addr-0 trap, fall-through
|
|
L_027893D0: ; // 0x27893d0
|
|
/* 027893D0 */ Gambit_fn_028004D8(cpu);
|
|
/* 027893D4 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 027893D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027893D8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 027893DC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027893DC */ _t81 = _t80 & 0x00000001u;
|
|
/* 027893DC */ if (_t81) goto L_027893E0; else goto L_0278932C;
|
|
L_027893E0: ; // 0x27893e0
|
|
/* 027893E0 */ _t82 = cpu->r[27] + 0x00000294u;
|
|
/* 027893E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027893E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027893E8 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027893E8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 027893E8 */ if (_t84) goto L_027893EC; else goto L_027894B8;
|
|
L_027893EC: ; // 0x27893ec
|
|
/* 027893EC */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027893F0 */ cpu->r[4] = cpu->r[28];
|
|
/* 027893F4 */ Gambit_fn_0280046C(cpu);
|
|
/* 027893F8 */ cpu->r[26] = 0x10100000u;
|
|
/* 027893FC */ cpu->r[27] = 0x00000002u;
|
|
/* 02789400 */ cpu->r[28] = 0x00000000u;
|
|
L_02789404: ; // 0x2789404
|
|
/* 02789404 */ cpu->r[5] = 0x10100000u;
|
|
/* 02789408 */ cpu->r[4] = cpu->r[28] ^ 0x80000000u;
|
|
/* 0278940C */ _t85 = cpu->r[5] + 0x00005CD0u;
|
|
/* 0278940C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02789410 */ cpu->r[0] = 0x43300000u;
|
|
/* 02789414 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02789414 */ rbrew_write32(cpu->mem, _t86, cpu->r[4]);
|
|
/* 02789418 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 02789418 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 0278941C */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0278941C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02789420 */ _t89 = cpu->r[1] + 0x00000078u;
|
|
/* 02789420 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 02789424 */ cpu->f[0] = cpu->f[13] - cpu->f[8];
|
|
/* 02789428 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 0278942C */ /* nop */
|
|
/* 02789430 */ cpu->f[6] = -cpu->f[9];
|
|
/* 02789434 */ _t90 = cpu->r[1] + 0x00000024u;
|
|
/* 02789434 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]);
|
|
/* 02789438 */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02789438 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[6]);
|
|
/* 0278943C */ /* nop */
|
|
/* 02789440 */ _t92 = cpu->r[1] + 0x00000074u;
|
|
/* 02789440 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 02789444 */ /* nop */
|
|
/* 02789448 */ /* nop */
|
|
/* 0278944C */ _t93 = cpu->r[1] + 0x00000054u;
|
|
/* 0278944C */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02789450 */ _t94 = cpu->r[1] + 0x00000058u;
|
|
/* 02789450 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02789454 */ _t95 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789454 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 02789458 */ _t96 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02789458 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0278945C */ _t97 = cpu->r[1] + 0x00000040u;
|
|
/* 0278945C */ rbrew_write32(cpu->mem, _t97, cpu->r[4]);
|
|
/* 02789460 */ _t98 = cpu->r[1] + 0x00000040u;
|
|
/* 02789460 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02789464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02789468 */ _t99 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02789468 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[11]);
|
|
/* 0278946C */ cpu->r[9] = cpu->r[31] + 0x00005BCCu;
|
|
/* 02789470 */ _t100 = cpu->r[1] + 0x00000070u;
|
|
/* 02789470 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[12]);
|
|
/* 02789474 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02789474 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02789474 */ if (_t102) goto L_02789478; else goto L_0278947C;
|
|
L_02789478: ; // 0x2789478
|
|
/* 02789478 */ cpu->r[9] = cpu->r[30] + 0x00005BECu;
|
|
L_0278947C: ; // 0x278947c
|
|
/* 0278947C */ _t103 = cpu->r[9] + 0x00000000u;
|
|
/* 0278947C */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02789480 */ _t104 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02789480 */ rbrew_write32(cpu->mem, _t104, cpu->r[5]);
|
|
/* 02789484 */ _t105 = cpu->r[9] + 0x00000004u;
|
|
/* 02789484 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02789488 */ _t106 = cpu->r[1] + 0x00000080u;
|
|
/* 02789488 */ rbrew_write32(cpu->mem, _t106, cpu->r[7]);
|
|
/* 0278948C */ _t107 = cpu->r[9] + 0x00000008u;
|
|
/* 0278948C */ cpu->r[8] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02789490 */ _t108 = cpu->r[1] + 0x00000084u;
|
|
/* 02789490 */ rbrew_write32(cpu->mem, _t108, cpu->r[8]);
|
|
/* 02789494 */ _t109 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02789494 */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02789498 */ cpu->r[4] = cpu->r[26] + 0x00005D28u;
|
|
/* 0278949C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 027894A0 */ _t110 = cpu->r[1] + 0x00000088u;
|
|
/* 027894A0 */ rbrew_write32(cpu->mem, _t110, cpu->r[10]);
|
|
/* 027894A4 */ _t111 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027894A4 */ _t112 = _t111 & 0x00000001u;
|
|
/* 027894A4 */ if (_t112) goto L_027894A8; // else: addr-0 trap, fall-through
|
|
L_027894A8: ; // 0x27894a8
|
|
/* 027894A8 */ Gambit_fn_028004D8(cpu);
|
|
/* 027894AC */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 027894AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027894B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 027894B4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027894B4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 027894B4 */ if (_t114) goto L_027894B8; else goto L_02789404;
|
|
L_027894B8: ; // 0x27894b8
|
|
/* 027894B8 */ /* nop */
|
|
/* 027894BC */ _t115 = cpu->r[1] + 0x000000D8u;
|
|
/* 027894BC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 027894C0 */ _t116 = cpu->r[1] + 0x000000E8u;
|
|
/* 027894C0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 027894C4 */ _t117 = cpu->r[1] + 0x000000D0u;
|
|
/* 027894C4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t117);
|
|
/* 027894C8 */ _t118 = cpu->r[1] + 0x000000E0u;
|
|
/* 027894C8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 027894CC */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027894CC */ _t120 = _t119 & 0x00000001u;
|
|
/* 027894CC */ if (_t120) goto L_027894D0; // else: addr-0 trap, fall-through
|
|
L_027894D0: ; // 0x27894d0
|
|
/* 027894D0 */ _t121 = cpu->r[1] + 0x000000F4u;
|
|
/* 027894D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 027894D4 */ cpu->lr = cpu->r[0];
|
|
/* 027894D8 */ cpu->r[1] = cpu->r[1] + 0x000000F0u;
|
|
/* 027894DC */ return;
|
|
L_0278AC8C: ; // 0x278ac8c
|
|
/* 0278AC8C */ _t122 = cpu->r[4] + 0x00000014u;
|
|
/* 0278AC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0278AC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000012u);
|
|
/* 0278AC94 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AC94 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0278AC94 */ _t125 = _t124 ^ 0x00000001u;
|
|
/* 0278AC94 */ if (_t125) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278AC94 */ goto L_0278AC98;
|
|
L_0278AC98: ; // 0x278ac98
|
|
/* 0278AC98 */ _t126 = cpu->r[4] + 0x00000000u;
|
|
/* 0278AC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0278AC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 0278ACA0 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ACA0 */ _t128 = _t127 & 0x00000001u;
|
|
/* 0278ACA0 */ _t129 = _t128 ^ 0x00000001u;
|
|
/* 0278ACA0 */ if (_t129) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ACA0 */ goto L_0278ACA4;
|
|
L_0278ACA4: ; // 0x278aca4
|
|
/* 0278ACA4 */ _t130 = cpu->r[3] + 0x00000278u;
|
|
/* 0278ACA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0278ACA8 */ goto L_02789194;
|
|
}
|
|
|
|
// fn_0278ACB0 @ 0x278acb0
|
|
void Gambit_fn_0278ACB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278ACB0: ; // 0x278acb0
|
|
/* 0278ACB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278ACB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ACB0 */ cpu->r[1] = _t0;
|
|
/* 0278ACB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ACB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ACB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278ACB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278ACBC */ cpu->r[30] = cpu->r[3];
|
|
/* 0278ACBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ACC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278ACC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ACC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278ACC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ACC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278ACC8 */ if (_t5) goto L_0278AD0C; else goto L_0278ACCC;
|
|
L_0278ACCC: ; // 0x278accc
|
|
/* 0278ACCC */ cpu->r[0] = 0x10100000u;
|
|
/* 0278ACD0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278ACD4 */ cpu->r[0] = cpu->r[0] + 0x00005F44u;
|
|
/* 0278ACD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ACDC */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ACDC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278ACE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ACE4 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278ACE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ACEC */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ACF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278ACF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278ACF8 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278ACFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AD00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278AD00 */ if (_t8) goto L_0278AD0C; else goto L_0278AD04;
|
|
L_0278AD04: ; // 0x278ad04
|
|
/* 0278AD04 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AD08 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278AD0C: ; // 0x278ad0c
|
|
/* 0278AD0C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278AD10 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AD10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278AD14 */ cpu->lr = cpu->r[0];
|
|
/* 0278AD18 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AD18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278AD1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AD20 */ return;
|
|
}
|
|
|
|
// fn_0278AD24 @ 0x278ad24
|
|
void Gambit_fn_0278AD24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278AD24: ; // 0x278ad24
|
|
/* 0278AD24 */ cpu->r[0] = cpu->lr;
|
|
/* 0278AD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AD28 */ cpu->r[1] = _t0;
|
|
/* 0278AD2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AD2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278AD30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AD30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278AD34 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278AD3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AD3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AD40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278AD40 */ if (_t5) goto L_0278AE2C; else goto L_0278AD44;
|
|
L_0278AD44: ; // 0x278ad44
|
|
/* 0278AD44 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD48 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AD4C */ cpu->r[0] = cpu->r[0] + 0x00006114u;
|
|
/* 0278AD50 */ cpu->r[12] = cpu->r[12] + 0x00006144u;
|
|
/* 0278AD54 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD54 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278AD58 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD5C */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD5C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278AD60 */ cpu->r[0] = cpu->r[0] + 0x00006124u;
|
|
/* 0278AD64 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278AD68 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278AD68 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278AD6C */ cpu->r[9] = cpu->r[9] + 0x00006154u;
|
|
/* 0278AD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD74 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278AD74 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278AD78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278AD78 */ if (_t11) goto L_0278AE1C; else goto L_0278AD7C;
|
|
L_0278AD7C: ; // 0x278ad7c
|
|
/* 0278AD7C */ cpu->r[10] = 0x10020000u;
|
|
/* 0278AD80 */ cpu->r[12] = 0x10020000u;
|
|
/* 0278AD84 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278AD88 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278AD8C */ cpu->r[11] = 0x10020000u;
|
|
/* 0278AD90 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD90 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278AD94 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278AD98 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD98 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278AD9C */ cpu->r[0] = 0x10020000u;
|
|
/* 0278ADA0 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278ADA4 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADAC */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278ADAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278ADB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278ADB0 */ if (_t17) goto L_0278AE1C; else goto L_0278ADB4;
|
|
L_0278ADB4: ; // 0x278adb4
|
|
/* 0278ADB4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278ADB8 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278ADBC */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278ADC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0278ADC4 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278ADC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADD0 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278ADD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADD8 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278ADDC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278ADE8 */ if (_t21) goto L_0278AE1C; else goto L_0278ADEC;
|
|
L_0278ADEC: ; // 0x278adec
|
|
/* 0278ADEC */ cpu->r[10] = 0x10100000u;
|
|
/* 0278ADF0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278ADF4 */ cpu->r[10] = cpu->r[10] + 0x00005F44u;
|
|
/* 0278ADF8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADFC */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADFC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278AE00 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE04 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278AE08 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278AE0C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE10 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE14 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278AE18 */ Gambit_fn_028136EC(cpu);
|
|
L_0278AE1C: ; // 0x278ae1c
|
|
/* 0278AE1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278AE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AE20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AE20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278AE20 */ if (_t24) goto L_0278AE2C; else goto L_0278AE24;
|
|
L_0278AE24: ; // 0x278ae24
|
|
/* 0278AE24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE28 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278AE2C: ; // 0x278ae2c
|
|
/* 0278AE2C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278AE30 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AE30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278AE34 */ cpu->lr = cpu->r[0];
|
|
/* 0278AE38 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AE38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278AE3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AE40 */ return;
|
|
}
|
|
|
|
// fn_0278AD28 @ 0x278ad28
|
|
void Gambit_fn_0278AD28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278AD28: ; // 0x278ad28
|
|
/* 0278AD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278AD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278AD28 */ cpu->r[1] = _t0;
|
|
/* 0278AD2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AD2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278AD30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AD30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278AD34 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD38 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278AD3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AD3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AD40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278AD40 */ if (_t5) goto L_0278AE2C; else goto L_0278AD44;
|
|
L_0278AD44: ; // 0x278ad44
|
|
/* 0278AD44 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD48 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278AD4C */ cpu->r[0] = cpu->r[0] + 0x00006114u;
|
|
/* 0278AD50 */ cpu->r[12] = cpu->r[12] + 0x00006144u;
|
|
/* 0278AD54 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD54 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278AD58 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AD5C */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD5C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278AD60 */ cpu->r[0] = cpu->r[0] + 0x00006124u;
|
|
/* 0278AD64 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278AD68 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278AD68 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278AD6C */ cpu->r[9] = cpu->r[9] + 0x00006154u;
|
|
/* 0278AD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278AD74 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278AD74 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278AD78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AD78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278AD78 */ if (_t11) goto L_0278AE1C; else goto L_0278AD7C;
|
|
L_0278AD7C: ; // 0x278ad7c
|
|
/* 0278AD7C */ cpu->r[10] = 0x10020000u;
|
|
/* 0278AD80 */ cpu->r[12] = 0x10020000u;
|
|
/* 0278AD84 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278AD88 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278AD8C */ cpu->r[11] = 0x10020000u;
|
|
/* 0278AD90 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278AD90 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278AD94 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278AD98 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278AD98 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278AD9C */ cpu->r[0] = 0x10020000u;
|
|
/* 0278ADA0 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278ADA4 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADAC */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278ADAC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278ADB0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADB0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278ADB0 */ if (_t17) goto L_0278AE1C; else goto L_0278ADB4;
|
|
L_0278ADB4: ; // 0x278adb4
|
|
/* 0278ADB4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278ADB8 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278ADBC */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278ADC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0278ADC4 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278ADC8 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADD0 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278ADD0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278ADD4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADD8 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278ADDC */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADE0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278ADE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278ADE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ADE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278ADE8 */ if (_t21) goto L_0278AE1C; else goto L_0278ADEC;
|
|
L_0278ADEC: ; // 0x278adec
|
|
/* 0278ADEC */ cpu->r[10] = 0x10100000u;
|
|
/* 0278ADF0 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278ADF4 */ cpu->r[10] = cpu->r[10] + 0x00005F44u;
|
|
/* 0278ADF8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278ADFC */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278ADFC */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278AE00 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE04 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278AE08 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278AE0C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278AE10 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE14 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278AE18 */ Gambit_fn_028136EC(cpu);
|
|
L_0278AE1C: ; // 0x278ae1c
|
|
/* 0278AE1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278AE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278AE20 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AE20 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278AE20 */ if (_t24) goto L_0278AE2C; else goto L_0278AE24;
|
|
L_0278AE24: ; // 0x278ae24
|
|
/* 0278AE24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278AE28 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278AE2C: ; // 0x278ae2c
|
|
/* 0278AE2C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278AE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278AE30 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278AE30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278AE34 */ cpu->lr = cpu->r[0];
|
|
/* 0278AE38 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278AE38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278AE3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278AE40 */ return;
|
|
}
|
|
|
|
// fn_0278AE44 @ 0x278ae44
|
|
void Gambit_fn_0278AE44(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278AE44: ; // 0x278ae44
|
|
/* 0278AE44 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0278AE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278AE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0278AE4C */ /* nop */
|
|
/* 0278AE50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278AE54 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0278AE58 */ return;
|
|
}
|
|
|
|
// fn_0278AE64 @ 0x278ae64
|
|
void Gambit_fn_0278AE64(CPUState* cpu) {
|
|
L_0278AE64: ; // 0x278ae64
|
|
/* 0278AE64 */ return;
|
|
}
|
|
|
|
// fn_0278AE68 @ 0x278ae68
|
|
void Gambit_fn_0278AE68(CPUState* cpu) {
|
|
L_0278AE68: ; // 0x278ae68
|
|
/* 0278AE68 */ return;
|
|
}
|
|
|
|
// fn_0278AE6C @ 0x278ae6c
|
|
void Gambit_fn_0278AE6C(CPUState* cpu) {
|
|
L_0278AE6C: ; // 0x278ae6c
|
|
/* 0278AE6C */ return;
|
|
}
|
|
|
|
// fn_0278AE70 @ 0x278ae70
|
|
void Gambit_fn_0278AE70(CPUState* cpu) {
|
|
L_0278AE70: ; // 0x278ae70
|
|
/* 0278AE70 */ return;
|
|
}
|
|
|
|
// fn_0278AE74 @ 0x278ae74
|
|
void Gambit_fn_0278AE74(CPUState* cpu) {
|
|
L_0278AE74: ; // 0x278ae74
|
|
/* 0278AE74 */ return;
|
|
}
|
|
|
|
// fn_0278AE78 @ 0x278ae78
|
|
void Gambit_fn_0278AE78(CPUState* cpu) {
|
|
L_0278AE78: ; // 0x278ae78
|
|
/* 0278AE78 */ return;
|
|
}
|
|
|
|
// fn_0278AE7C @ 0x278ae7c
|
|
void Gambit_fn_0278AE7C(CPUState* cpu) {
|
|
L_0278AE7C: ; // 0x278ae7c
|
|
/* 0278AE7C */ return;
|
|
}
|
|
|
|
// fn_0278AE80 @ 0x278ae80
|
|
void Gambit_fn_0278AE80(CPUState* cpu) {
|
|
L_0278AE80: ; // 0x278ae80
|
|
/* 0278AE80 */ return;
|
|
}
|
|
|
|
// fn_0278AE84 @ 0x278ae84
|
|
void Gambit_fn_0278AE84(CPUState* cpu) {
|
|
L_0278AE84: ; // 0x278ae84
|
|
/* 0278AE84 */ return;
|
|
}
|
|
|
|
// fn_0278AE88 @ 0x278ae88
|
|
void Gambit_fn_0278AE88(CPUState* cpu) {
|
|
L_0278AE88: ; // 0x278ae88
|
|
/* 0278AE88 */ return;
|
|
}
|
|
|
|
// fn_0278AE8C @ 0x278ae8c
|
|
void Gambit_fn_0278AE8C(CPUState* 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_0217ADCC: ; // 0x217adcc
|
|
/* 0217ADCC */ cpu->r[0] = cpu->lr;
|
|
/* 0217ADD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0217ADD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0217ADD0 */ cpu->r[1] = _t0;
|
|
/* 0217ADD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217ADD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0217ADD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0217ADDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0217ADE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0217ADE4 */ _t3 = cpu->r[3] + 0xFFFF92F4u;
|
|
/* 0217ADE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0217ADE8 */ Gambit_fn_027AD360(cpu);
|
|
/* 0217ADEC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADF0 */ _t4 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 0217ADF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0217ADF4 */ Gambit_fn_0278FB4C(cpu);
|
|
/* 0217ADF8 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 0217ADF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0217ADFC */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 0217ADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0217AE00 */ _t7 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0217AE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0217AE04 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE0C */ _t8 = cpu->r[31] + 0x00000250u;
|
|
/* 0217AE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0217AE10 */ Gambit_fn_020B2A10(cpu);
|
|
/* 0217AE14 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0217AE18 */ _t10 = cpu->r[12] + 0x0000013Cu;
|
|
/* 0217AE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0217AE1C */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE28 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0217AE2C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0217AE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0217AE30 */ _t13 = cpu->r[12] + 0x000000ECu;
|
|
/* 0217AE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0217AE34 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE3C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0217AE40 */ _t14 = cpu->r[3] + 0x000042A4u;
|
|
/* 0217AE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0217AE44 */ Gambit_fn_0215862C(cpu);
|
|
/* 0217AE48 */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0217AE4C */ _t16 = cpu->r[12] + 0x00000144u;
|
|
/* 0217AE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0217AE50 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE54 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE5C */ cpu->r[0] = 0x00000002u;
|
|
/* 0217AE60 */ _t17 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0217AE64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0217AE6C */ Gambit_fn_02791670(cpu);
|
|
/* 0217AE70 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0217AE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0217AE74 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217AE74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0217AE78 */ cpu->lr = cpu->r[0];
|
|
/* 0217AE7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0217AE80 */ return;
|
|
L_0278AE8C: ; // 0x278ae8c
|
|
/* 0278AE8C */ goto L_0217ADCC;
|
|
}
|
|
|
|
// fn_0278AE90 @ 0x278ae90
|
|
void Gambit_fn_0278AE90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0278AE90: ; // 0x278ae90
|
|
/* 0278AE90 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278AE94 */ _t0 = cpu->r[8] + 0xFFFFFAECu;
|
|
/* 0278AE94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278AE98 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278AE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0278AEA0 */ cpu->r[6] = cpu->r[6] + 0x000013D4u;
|
|
/* 0278AEA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AEA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278AEA4 */ if (_t2) goto L_0278AEA8; else goto L_0278AEC0;
|
|
L_0278AEA8: ; // 0x278aea8
|
|
/* 0278AEA8 */ cpu->r[5] = 0x10100000u;
|
|
/* 0278AEAC */ cpu->r[0] = 0x00000001u;
|
|
/* 0278AEB0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278AEB4 */ cpu->r[5] = cpu->r[5] + 0x00005F84u;
|
|
/* 0278AEB8 */ _t3 = cpu->r[8] + 0xFFFFFAECu;
|
|
/* 0278AEB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278AEBC */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0278AEBC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0278AEC0: ; // 0x278aec0
|
|
/* 0278AEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0278AEC4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AEC4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278AEC4 */ if (_t6) goto L_0278AEC8; else goto L_0278AED0;
|
|
L_0278AEC8: ; // 0x278aec8
|
|
/* 0278AEC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278AECC */ return;
|
|
L_0278AED0: ; // 0x278aed0
|
|
/* 0278AED0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278AED4 */ _t7 = cpu->r[10] + 0xFFFFDE0Cu;
|
|
/* 0278AED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278AED8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278AEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278AEE0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF664u;
|
|
/* 0278AEE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AEE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278AEE4 */ if (_t9) goto L_0278AEE8; else goto L_0278AF00;
|
|
L_0278AEE8: ; // 0x278aee8
|
|
/* 0278AEE8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AEEC */ cpu->r[7] = 0x00000001u;
|
|
/* 0278AEF0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278AEF4 */ cpu->r[0] = cpu->r[0] + 0x00005F74u;
|
|
/* 0278AEF8 */ _t10 = cpu->r[6] + 0xFFFFDE0Cu;
|
|
/* 0278AEF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0278AEFC */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0278AEFC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0278AF00: ; // 0x278af00
|
|
/* 0278AF00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0278AF04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AF04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278AF04 */ if (_t13) goto L_0278AF08; else goto L_0278AF10;
|
|
L_0278AF08: ; // 0x278af08
|
|
/* 0278AF08 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278AF0C */ goto L_0278B008;
|
|
L_0278AF10: ; // 0x278af10
|
|
/* 0278AF10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278AF14 */ _t14 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0278AF14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278AF18 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278AF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278AF20 */ cpu->r[10] = cpu->r[10] + 0xFFFFF660u;
|
|
/* 0278AF24 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AF24 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278AF24 */ if (_t16) goto L_0278AF28; else goto L_0278AF40;
|
|
L_0278AF28: ; // 0x278af28
|
|
/* 0278AF28 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278AF2C */ cpu->r[5] = 0x00000001u;
|
|
/* 0278AF30 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278AF34 */ cpu->r[7] = cpu->r[7] + 0x00005F64u;
|
|
/* 0278AF38 */ _t17 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0278AF38 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0278AF3C */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0278AF3C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0278AF40: ; // 0x278af40
|
|
/* 0278AF40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0278AF44 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AF44 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278AF44 */ if (_t20) goto L_0278AF48; else goto L_0278AF50;
|
|
L_0278AF48: ; // 0x278af48
|
|
/* 0278AF48 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278AF4C */ goto L_0278B008;
|
|
L_0278AF50: ; // 0x278af50
|
|
/* 0278AF50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0278AF54 */ _t21 = cpu->r[11] + 0xFFFFDAE4u;
|
|
/* 0278AF54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278AF58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278AF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278AF60 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 0278AF64 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AF64 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0278AF64 */ if (_t23) goto L_0278AF68; else goto L_0278AF80;
|
|
L_0278AF68: ; // 0x278af68
|
|
/* 0278AF68 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278AF6C */ cpu->r[9] = 0x00000001u;
|
|
/* 0278AF70 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278AF74 */ cpu->r[10] = cpu->r[10] + 0x00005F54u;
|
|
/* 0278AF78 */ _t24 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 0278AF78 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0278AF7C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0278AF7C */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0278AF80: ; // 0x278af80
|
|
/* 0278AF80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278AF84 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AF84 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278AF84 */ if (_t27) goto L_0278AF88; else goto L_0278AF90;
|
|
L_0278AF88: ; // 0x278af88
|
|
/* 0278AF88 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278AF8C */ goto L_0278B004;
|
|
L_0278AF90: ; // 0x278af90
|
|
/* 0278AF90 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278AF94 */ _t28 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 0278AF94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278AF94 */ cpu->r[10] = _t28;
|
|
/* 0278AF98 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0278AF9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278AFA0 */ cpu->r[7] = cpu->r[7] + 0xFFFFDD70u;
|
|
/* 0278AFA4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AFA4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0278AFA4 */ if (_t30) goto L_0278AFA8; else goto L_0278AFBC;
|
|
L_0278AFA8: ; // 0x278afa8
|
|
/* 0278AFA8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278AFAC */ cpu->r[12] = 0x00000001u;
|
|
/* 0278AFB0 */ cpu->r[0] = cpu->r[0] + 0x00005F34u;
|
|
/* 0278AFB4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0278AFB4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0278AFB8 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0278AFB8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0278AFBC: ; // 0x278afbc
|
|
/* 0278AFBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0278AFC0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AFC0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278AFC0 */ if (_t34) goto L_0278AFC4; else goto L_0278AFCC;
|
|
L_0278AFC4: ; // 0x278afc4
|
|
/* 0278AFC4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278AFC8 */ goto L_0278B004;
|
|
L_0278AFCC: ; // 0x278afcc
|
|
/* 0278AFCC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278AFD0 */ _t35 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 0278AFD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278AFD0 */ cpu->r[8] = _t35;
|
|
/* 0278AFD4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278AFD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0278AFDC */ cpu->r[6] = cpu->r[6] + 0xFFFFDD6Cu;
|
|
/* 0278AFE0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278AFE0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278AFE0 */ if (_t37) goto L_0278AFE4; else goto L_0278AFF8;
|
|
L_0278AFE4: ; // 0x278afe4
|
|
/* 0278AFE4 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278AFE8 */ cpu->r[7] = 0x00000001u;
|
|
/* 0278AFEC */ cpu->r[9] = cpu->r[9] + 0x00005F24u;
|
|
/* 0278AFF0 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0278AFF0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0278AFF4 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0278AFF4 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0278AFF8: ; // 0x278aff8
|
|
/* 0278AFF8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0278AFFC */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0278B000 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0278B004: ; // 0x278b004
|
|
/* 0278B004 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0278B008: ; // 0x278b008
|
|
/* 0278B008 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0278B00C */ return;
|
|
}
|
|
|
|
// fn_0278B010 @ 0x278b010
|
|
void Gambit_fn_0278B010(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278B010: ; // 0x278b010
|
|
/* 0278B010 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B014 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278B018 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278B01C */ cpu->r[6] = 0x02790000u;
|
|
/* 0278B020 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278B024 */ cpu->r[7] = cpu->r[7] + 0xFFFFAE5Cu;
|
|
/* 0278B028 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE5Cu;
|
|
/* 0278B02C */ cpu->r[10] = cpu->r[10] + 0xFFFF9004u;
|
|
/* 0278B030 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278B030 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278B034 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278B038 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B038 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278B038 */ cpu->r[1] = _t1;
|
|
/* 0278B03C */ cpu->r[0] = cpu->r[0] + 0xFFFF9000u;
|
|
/* 0278B040 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278B040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278B044 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278B048 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B048 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B04C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B050 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B050 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278B054 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278B058 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278B05C */ cpu->lr = cpu->r[0];
|
|
/* 0278B060 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B064 */ return;
|
|
}
|
|
|
|
// fn_0278B038 @ 0x278b038
|
|
void Gambit_fn_0278B038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278B038: ; // 0x278b038
|
|
/* 0278B038 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B038 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B038 */ cpu->r[1] = _t0;
|
|
/* 0278B03C */ cpu->r[0] = cpu->r[0] + 0xFFFF9000u;
|
|
/* 0278B040 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278B040 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278B044 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278B048 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B048 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278B04C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B050 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B050 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278B054 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278B058 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278B05C */ cpu->lr = cpu->r[0];
|
|
/* 0278B060 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B064 */ return;
|
|
}
|
|
|
|
// fn_0278B068 @ 0x278b068
|
|
void Gambit_fn_0278B068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278B068: ; // 0x278b068
|
|
/* 0278B068 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B06C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B06C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B06C */ cpu->r[1] = _t0;
|
|
/* 0278B070 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B070 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B074 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278B078 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278B07C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B07C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278B080 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278B080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278B084 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278B088 */ Gambit_fn_0278B010(cpu);
|
|
/* 0278B08C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278B090 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278B090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278B094 */ _t5 = cpu->r[12] + 0xFFFF9000u;
|
|
/* 0278B094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278B098 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278B09C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278B09C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278B0A0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278B0A4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278B0A8 */ cpu->lr = cpu->r[0];
|
|
/* 0278B0AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B0AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278B0B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B0B4 */ return;
|
|
}
|
|
|
|
// fn_0278B06C @ 0x278b06c
|
|
void Gambit_fn_0278B06C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278B06C: ; // 0x278b06c
|
|
/* 0278B06C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B06C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B06C */ cpu->r[1] = _t0;
|
|
/* 0278B070 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B070 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B074 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278B078 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278B07C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B07C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278B080 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278B080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278B084 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278B088 */ Gambit_fn_0278B010(cpu);
|
|
/* 0278B08C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278B090 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278B090 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278B094 */ _t5 = cpu->r[12] + 0xFFFF9000u;
|
|
/* 0278B094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278B098 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278B09C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278B09C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278B0A0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278B0A4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278B0A8 */ cpu->lr = cpu->r[0];
|
|
/* 0278B0AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B0AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278B0B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B0B4 */ return;
|
|
}
|
|
|
|
// fn_0278B0B8 @ 0x278b0b8
|
|
void Gambit_fn_0278B0B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278B0B8: ; // 0x278b0b8
|
|
/* 0278B0B8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0278B0BC */ goto L_0278B948;
|
|
L_0278B948: ; // 0x278b948
|
|
/* 0278B948 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B94C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B94C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B94C */ cpu->r[1] = _t0;
|
|
/* 0278B950 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B950 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B954 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B954 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278B958 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278B958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278B95C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278B960 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B960 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B964 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B964 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B964 */ if (_t5) goto L_0278B9A8; else goto L_0278B968;
|
|
L_0278B968: ; // 0x278b968
|
|
/* 0278B968 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B96C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278B970 */ cpu->r[0] = cpu->r[0] + 0x0000619Cu;
|
|
/* 0278B974 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278B978 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278B978 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B97C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278B980 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278B984 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278B988 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278B98C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278B990 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278B994 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278B998 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278B998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278B99C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B99C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278B99C */ if (_t8) goto L_0278B9A8; else goto L_0278B9A0;
|
|
L_0278B9A0: ; // 0x278b9a0
|
|
/* 0278B9A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278B9A4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278B9A8: ; // 0x278b9a8
|
|
/* 0278B9A8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278B9AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B9AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278B9B0 */ cpu->lr = cpu->r[0];
|
|
/* 0278B9B4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278B9B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B9BC */ return;
|
|
}
|
|
|
|
// fn_0278B0C0 @ 0x278b0c0
|
|
void Gambit_fn_0278B0C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278B0C0: ; // 0x278b0c0
|
|
/* 0278B0C0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0278B0C4 */ goto L_0278B9C0;
|
|
L_0278B9C0: ; // 0x278b9c0
|
|
/* 0278B9C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B9C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B9C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B9C4 */ cpu->r[1] = _t0;
|
|
/* 0278B9C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B9C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B9CC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B9CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278B9D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278B9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278B9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278B9D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B9DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B9DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B9DC */ if (_t5) goto L_0278BAC8; else goto L_0278B9E0;
|
|
L_0278B9E0: ; // 0x278b9e0
|
|
/* 0278B9E0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9E4 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278B9E8 */ cpu->r[0] = cpu->r[0] + 0x000063E0u;
|
|
/* 0278B9EC */ cpu->r[12] = cpu->r[12] + 0x00006410u;
|
|
/* 0278B9F0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278B9F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B9F4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9F8 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278B9F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278B9FC */ cpu->r[0] = cpu->r[0] + 0x000063F0u;
|
|
/* 0278BA00 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278BA04 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278BA08 */ cpu->r[9] = cpu->r[9] + 0x00006420u;
|
|
/* 0278BA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA10 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA10 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278BA14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278BA14 */ if (_t11) goto L_0278BAB8; else goto L_0278BA18;
|
|
L_0278BA18: ; // 0x278ba18
|
|
/* 0278BA18 */ cpu->r[10] = 0x10020000u;
|
|
/* 0278BA1C */ cpu->r[12] = 0x10020000u;
|
|
/* 0278BA20 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278BA24 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278BA28 */ cpu->r[11] = 0x10020000u;
|
|
/* 0278BA2C */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA2C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278BA30 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278BA34 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278BA34 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278BA38 */ cpu->r[0] = 0x10020000u;
|
|
/* 0278BA3C */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA3C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278BA40 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278BA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA48 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA48 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278BA4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA4C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278BA4C */ if (_t17) goto L_0278BAB8; else goto L_0278BA50;
|
|
L_0278BA50: ; // 0x278ba50
|
|
/* 0278BA50 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278BA54 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278BA58 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278BA5C */ cpu->r[0] = 0x10110000u;
|
|
/* 0278BA60 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA60 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278BA64 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278BA68 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA6C */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA6C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278BA70 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA74 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278BA78 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA7C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA84 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA84 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278BA84 */ if (_t21) goto L_0278BAB8; else goto L_0278BA88;
|
|
L_0278BA88: ; // 0x278ba88
|
|
/* 0278BA88 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278BA8C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278BA90 */ cpu->r[10] = cpu->r[10] + 0x0000619Cu;
|
|
/* 0278BA94 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA98 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA98 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278BA9C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAA0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278BAA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BAA8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278BAB4 */ Gambit_fn_028136EC(cpu);
|
|
L_0278BAB8: ; // 0x278bab8
|
|
/* 0278BAB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278BAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278BABC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BABC */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278BABC */ if (_t24) goto L_0278BAC8; else goto L_0278BAC0;
|
|
L_0278BAC0: ; // 0x278bac0
|
|
/* 0278BAC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAC4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278BAC8: ; // 0x278bac8
|
|
/* 0278BAC8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BAC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278BACC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BACC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278BAD0 */ cpu->lr = cpu->r[0];
|
|
/* 0278BAD4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BAD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278BAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BADC */ return;
|
|
}
|
|
|
|
// fn_0278B0C8 @ 0x278b0c8
|
|
void Gambit_fn_0278B0C8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278B0C8: ; // 0x278b0c8
|
|
/* 0278B0C8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFEB0u;
|
|
/* 0278B0CC */ goto L_0278BAE0;
|
|
L_0278BAE0: ; // 0x278bae0
|
|
/* 0278BAE0 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0278BAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278BAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0278BAE8 */ /* nop */
|
|
/* 0278BAEC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278BAF0 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0278BAF4 */ return;
|
|
}
|
|
|
|
// fn_0278B0D0 @ 0x278b0d0
|
|
void Gambit_fn_0278B0D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300;
|
|
|
|
L_0278B0D0: ; // 0x278b0d0
|
|
/* 0278B0D0 */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 0278B0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B0D0 */ cpu->r[1] = _t0;
|
|
/* 0278B0D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B0D8 */ /* nop */
|
|
/* 0278B0DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278B0DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278B0E0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0278B0E4 */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 0278B0E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278B0E8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0278B0EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B0EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278B0EC */ if (_t3) goto L_0278B0F0; else goto L_0278B100;
|
|
L_0278B0F0: ; // 0x278b0f0
|
|
/* 0278B0F0 */ cpu->r[3] = 0x00000278u;
|
|
/* 0278B0F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278B0F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278B0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278B0FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B0FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B0FC */ if (_t5) goto L_0278B88C; else goto L_0278B100;
|
|
L_0278B100: ; // 0x278b100
|
|
/* 0278B100 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B104 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278B108 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278B10C */ Gambit_fn_0217A6E0(cpu);
|
|
/* 0278B110 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B114 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278B118 */ cpu->r[8] = 0x10100000u;
|
|
/* 0278B11C */ cpu->r[6] = cpu->r[6] + 0x00006260u;
|
|
/* 0278B120 */ cpu->r[7] = cpu->r[7] + 0x000063E0u;
|
|
/* 0278B124 */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 0278B124 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 0278B128 */ cpu->r[8] = cpu->r[8] + 0x000063F0u;
|
|
/* 0278B12C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B130 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 0278B130 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0278B134 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278B138 */ cpu->r[0] = cpu->r[0] + 0x00006410u;
|
|
/* 0278B13C */ _t8 = cpu->r[31] + 0x00000158u;
|
|
/* 0278B13C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0278B140 */ cpu->r[10] = cpu->r[10] + 0x00006420u;
|
|
/* 0278B144 */ _t9 = cpu->r[31] + 0x00000214u;
|
|
/* 0278B144 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0278B148 */ _t10 = cpu->r[31] + 0x00000218u;
|
|
/* 0278B148 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0278B14C */ Gambit_fn_027FABFC(cpu);
|
|
/* 0278B150 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B154 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0278B154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278B158 */ cpu->r[0] = cpu->r[0] + 0x000061ECu;
|
|
/* 0278B15C */ cpu->r[28] = 0x10100000u;
|
|
/* 0278B160 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B160 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0278B164 */ cpu->r[28] = cpu->r[28] + 0x00006174u;
|
|
/* 0278B168 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0278B168 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0278B16C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B16C */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0278B170 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B174 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B174 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0278B178 */ Gambit_fn_0278BAF8(cpu);
|
|
/* 0278B17C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B17C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278B180 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B180 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278B184 */ cpu->ctr = cpu->r[4];
|
|
/* 0278B188 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B18C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B190 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B190 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278B194 */ _t19 = cpu->r[6] + 0x00000014u;
|
|
/* 0278B194 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278B198 */ cpu->ctr = cpu->r[7];
|
|
/* 0278B19C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B19C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278B1A0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B1A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B1A8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0278B1A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278B1AC */ cpu->r[29] = 0x00080000u;
|
|
/* 0278B1B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 0278B1B4 */ cpu->r[30] = 0x10110000u;
|
|
/* 0278B1B8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278B1BC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B1BC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0278B1BC */ if (_t23) goto L_0278B1C0; else goto L_0278B1D4;
|
|
L_0278B1C0: ; // 0x278b1c0
|
|
/* 0278B1C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B1C4 */ Gambit_fn_0278C0C8(cpu);
|
|
/* 0278B1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B1CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B1CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0278B1CC */ if (_t25) goto L_0278B88C; else goto L_0278B1D0;
|
|
L_0278B1D0: ; // 0x278b1d0
|
|
/* 0278B1D0 */ goto L_0278B888;
|
|
L_0278B1D4: ; // 0x278b1d4
|
|
/* 0278B1D4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B1D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278B1D8 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0278B1D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278B1DC */ cpu->ctr = cpu->r[29];
|
|
/* 0278B1E0 */ _t28 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B1E0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0278B1E4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0278B1E8: ; // 0x278b1e8
|
|
/* 0278B1E8 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 0278B1E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0278B1EC */ _t30 = cpu->r[12] + 0x00000001u;
|
|
/* 0278B1EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278B1EC */ cpu->r[12] = _t30;
|
|
/* 0278B1F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 0278B1F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B1F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0278B1F4 */ if (_t32) goto L_0278B1F8; else goto L_0278B208;
|
|
L_0278B1F8: ; // 0x278b1f8
|
|
/* 0278B1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0278B1FC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B1FC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278B1FC */ if (_t34) goto L_0278B1C0; else goto L_0278B200;
|
|
L_0278B200: ; // 0x278b200
|
|
/* 0278B200 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278B204 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B204 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B204 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0278B204 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278B204 */ if (_t37) goto L_0278B1E8; else goto L_0278B208;
|
|
L_0278B208: ; // 0x278b208
|
|
/* 0278B208 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B20C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278B20C */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 0278B210 */ cpu->r[0] = cpu->r[0] + 0x000061F4u;
|
|
/* 0278B214 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B214 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278B218 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 0278B218 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0278B21C */ _t41 = cpu->r[4] + 0x00000014u;
|
|
/* 0278B21C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278B220 */ cpu->ctr = cpu->r[5];
|
|
/* 0278B224 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B228 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B22C */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B22C */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0278B230 */ _t43 = cpu->r[6] + 0x00000014u;
|
|
/* 0278B230 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278B234 */ cpu->ctr = cpu->r[7];
|
|
/* 0278B238 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B23C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B240 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278B240 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278B244 */ _t45 = cpu->r[8] + 0x00000014u;
|
|
/* 0278B244 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0278B248 */ cpu->ctr = cpu->r[9];
|
|
/* 0278B24C */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B24C */ cpu->r[27] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0278B250 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0278B254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B258 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 0278B258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0278B25C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[10]);
|
|
/* 0278B260 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B260 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278B260 */ if (_t49) goto L_0278B264; else goto L_0278B278;
|
|
L_0278B264: ; // 0x278b264
|
|
/* 0278B264 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B268 */ Gambit_fn_0278C118(cpu);
|
|
/* 0278B26C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B270 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B270 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278B270 */ if (_t51) goto L_0278B88C; else goto L_0278B274;
|
|
L_0278B274: ; // 0x278b274
|
|
/* 0278B274 */ goto L_0278B888;
|
|
L_0278B278: ; // 0x278b278
|
|
/* 0278B278 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B278 */ cpu->r[7] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0278B27C */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 0278B27C */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0278B280 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B284 */ _t54 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0278B288 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0278B28C: ; // 0x278b28c
|
|
/* 0278B28C */ _t55 = cpu->r[7] + 0x00000000u;
|
|
/* 0278B28C */ cpu->r[4] = rbrew_read8(cpu->mem, _t55);
|
|
/* 0278B290 */ _t56 = cpu->r[9] + 0x00000001u;
|
|
/* 0278B290 */ cpu->r[12] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0278B290 */ cpu->r[9] = _t56;
|
|
/* 0278B294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278B298 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B298 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0278B298 */ if (_t58) goto L_0278B29C; else goto L_0278B2AC;
|
|
L_0278B29C: ; // 0x278b29c
|
|
/* 0278B29C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0278B2A0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B2A0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0278B2A0 */ if (_t60) goto L_0278B264; else goto L_0278B2A4;
|
|
L_0278B2A4: ; // 0x278b2a4
|
|
/* 0278B2A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0278B2A8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B2A8 */ _t61 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B2A8 */ _t62 = _t61 >> (0x00000002u & 31u);
|
|
/* 0278B2A8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0278B2A8 */ if (_t63) goto L_0278B28C; else goto L_0278B2AC;
|
|
L_0278B2AC: ; // 0x278b2ac
|
|
/* 0278B2AC */ cpu->r[5] = 0x10100000u;
|
|
/* 0278B2B0 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 0278B2B0 */ rbrew_write32(cpu->mem, _t64, cpu->r[28]);
|
|
/* 0278B2B4 */ cpu->r[5] = cpu->r[5] + 0x00006204u;
|
|
/* 0278B2B8 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B2B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0278B2BC */ _t66 = cpu->r[1] + 0x00000020u;
|
|
/* 0278B2BC */ rbrew_write32(cpu->mem, _t66, cpu->r[5]);
|
|
/* 0278B2C0 */ _t67 = cpu->r[6] + 0x00000014u;
|
|
/* 0278B2C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0278B2C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B2C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B2CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B2D0 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B2D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278B2D4 */ _t69 = cpu->r[8] + 0x00000014u;
|
|
/* 0278B2D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0278B2D8 */ cpu->ctr = cpu->r[9];
|
|
/* 0278B2DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B2E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B2E4 */ _t70 = cpu->r[1] + 0x00000024u;
|
|
/* 0278B2E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0278B2E8 */ _t71 = cpu->r[10] + 0x00000014u;
|
|
/* 0278B2E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278B2EC */ cpu->ctr = cpu->r[11];
|
|
/* 0278B2F0 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B2F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278B2F4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278B2F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B2FC */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 0278B2FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278B300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 0278B304 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B304 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0278B304 */ if (_t75) goto L_0278B308; else goto L_0278B31C;
|
|
L_0278B308: ; // 0x278b308
|
|
/* 0278B308 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B30C */ Gambit_fn_0278C168(cpu);
|
|
/* 0278B310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B314 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B314 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0278B314 */ if (_t77) goto L_0278B88C; else goto L_0278B318;
|
|
L_0278B318: ; // 0x278b318
|
|
/* 0278B318 */ goto L_0278B888;
|
|
L_0278B31C: ; // 0x278b31c
|
|
/* 0278B31C */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B31C */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0278B320 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 0278B320 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0278B324 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B328 */ _t80 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B328 */ cpu->r[4] = rbrew_read8(cpu->mem, _t80);
|
|
/* 0278B32C */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0278B330: ; // 0x278b330
|
|
/* 0278B330 */ _t81 = cpu->r[12] + 0x00000000u;
|
|
/* 0278B330 */ cpu->r[5] = rbrew_read8(cpu->mem, _t81);
|
|
/* 0278B334 */ _t82 = cpu->r[6] + 0x00000001u;
|
|
/* 0278B334 */ cpu->r[0] = rbrew_read8(cpu->mem, _t82);
|
|
/* 0278B334 */ cpu->r[6] = _t82;
|
|
/* 0278B338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0278B33C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B33C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0278B33C */ if (_t84) goto L_0278B340; else goto L_0278B350;
|
|
L_0278B340: ; // 0x278b340
|
|
/* 0278B340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[4]);
|
|
/* 0278B344 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B344 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0278B344 */ if (_t86) goto L_0278B308; else goto L_0278B348;
|
|
L_0278B348: ; // 0x278b348
|
|
/* 0278B348 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278B34C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B34C */ _t87 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B34C */ _t88 = _t87 >> (0x00000002u & 31u);
|
|
/* 0278B34C */ _t89 = _t88 & 0x00000001u;
|
|
/* 0278B34C */ if (_t89) goto L_0278B330; else goto L_0278B350;
|
|
L_0278B350: ; // 0x278b350
|
|
/* 0278B350 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B354 */ _t90 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278B354 */ rbrew_write32(cpu->mem, _t90, cpu->r[28]);
|
|
/* 0278B358 */ cpu->r[6] = cpu->r[6] + 0x000061FCu;
|
|
/* 0278B35C */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B35C */ cpu->r[8] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0278B360 */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 0278B360 */ rbrew_write32(cpu->mem, _t92, cpu->r[6]);
|
|
/* 0278B364 */ _t93 = cpu->r[8] + 0x00000014u;
|
|
/* 0278B364 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0278B368 */ cpu->ctr = cpu->r[9];
|
|
/* 0278B36C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B370 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B374 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B374 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0278B378 */ _t95 = cpu->r[10] + 0x00000014u;
|
|
/* 0278B378 */ cpu->r[11] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0278B37C */ cpu->ctr = cpu->r[11];
|
|
/* 0278B380 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B384 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B388 */ _t96 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278B388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0278B38C */ _t97 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B38C */ cpu->r[0] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0278B390 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B394 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B394 */ cpu->r[27] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0278B398 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0278B39C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B3A0 */ _t99 = cpu->r[1] + 0x00000028u;
|
|
/* 0278B3A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0278B3A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[4]);
|
|
/* 0278B3A8 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B3A8 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0278B3A8 */ if (_t101) goto L_0278B3AC; else goto L_0278B3C0;
|
|
L_0278B3AC: ; // 0x278b3ac
|
|
/* 0278B3AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B3B0 */ Gambit_fn_0278C1B8(cpu);
|
|
/* 0278B3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B3B8 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B3B8 */ _t103 = _t102 & 0x00000001u;
|
|
/* 0278B3B8 */ if (_t103) goto L_0278B88C; else goto L_0278B3BC;
|
|
L_0278B3BC: ; // 0x278b3bc
|
|
/* 0278B3BC */ goto L_0278B888;
|
|
L_0278B3C0: ; // 0x278b3c0
|
|
/* 0278B3C0 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B3C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0278B3C4 */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 0278B3C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0278B3C8 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B3CC */ _t106 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B3CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0278B3D0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0278B3D4: ; // 0x278b3d4
|
|
/* 0278B3D4 */ _t107 = cpu->r[9] + 0x00000000u;
|
|
/* 0278B3D4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t107);
|
|
/* 0278B3D8 */ _t108 = cpu->r[11] + 0x00000001u;
|
|
/* 0278B3D8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t108);
|
|
/* 0278B3D8 */ cpu->r[11] = _t108;
|
|
/* 0278B3DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 0278B3E0 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B3E0 */ _t110 = _t109 & 0x00000001u;
|
|
/* 0278B3E0 */ if (_t110) goto L_0278B3E4; else goto L_0278B3F4;
|
|
L_0278B3E4: ; // 0x278b3e4
|
|
/* 0278B3E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 0278B3E8 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B3E8 */ _t112 = _t111 & 0x00000001u;
|
|
/* 0278B3E8 */ if (_t112) goto L_0278B3AC; else goto L_0278B3EC;
|
|
L_0278B3EC: ; // 0x278b3ec
|
|
/* 0278B3EC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278B3F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B3F0 */ _t113 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B3F0 */ _t114 = _t113 >> (0x00000002u & 31u);
|
|
/* 0278B3F0 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0278B3F0 */ if (_t115) goto L_0278B3D4; else goto L_0278B3F4;
|
|
L_0278B3F4: ; // 0x278b3f4
|
|
/* 0278B3F4 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B3F8 */ _t116 = cpu->r[1] + 0x00000034u;
|
|
/* 0278B3F8 */ rbrew_write32(cpu->mem, _t116, cpu->r[28]);
|
|
/* 0278B3FC */ cpu->r[6] = cpu->r[6] + 0x0000623Cu;
|
|
/* 0278B400 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B400 */ cpu->r[7] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0278B404 */ _t118 = cpu->r[1] + 0x00000030u;
|
|
/* 0278B404 */ rbrew_write32(cpu->mem, _t118, cpu->r[6]);
|
|
/* 0278B408 */ _t119 = cpu->r[7] + 0x00000014u;
|
|
/* 0278B408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0278B40C */ cpu->ctr = cpu->r[8];
|
|
/* 0278B410 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B414 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B418 */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0278B41C */ _t121 = cpu->r[9] + 0x00000014u;
|
|
/* 0278B41C */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0278B420 */ cpu->ctr = cpu->r[11];
|
|
/* 0278B424 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B428 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B42C */ _t122 = cpu->r[1] + 0x00000034u;
|
|
/* 0278B42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0278B430 */ _t123 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0278B434 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B438 */ _t124 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B438 */ cpu->r[27] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0278B43C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0278B440 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B444 */ _t125 = cpu->r[1] + 0x00000030u;
|
|
/* 0278B444 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0278B448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[4]);
|
|
/* 0278B44C */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B44C */ _t127 = _t126 & 0x00000001u;
|
|
/* 0278B44C */ if (_t127) goto L_0278B450; else goto L_0278B464;
|
|
L_0278B450: ; // 0x278b450
|
|
/* 0278B450 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B454 */ Gambit_fn_0278C208(cpu);
|
|
/* 0278B458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B45C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B45C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0278B45C */ if (_t129) goto L_0278B88C; else goto L_0278B460;
|
|
L_0278B460: ; // 0x278b460
|
|
/* 0278B460 */ goto L_0278B888;
|
|
L_0278B464: ; // 0x278b464
|
|
/* 0278B464 */ _t130 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0278B468 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 0278B468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0278B46C */ cpu->ctr = cpu->r[29];
|
|
/* 0278B470 */ _t132 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B470 */ cpu->r[6] = rbrew_read8(cpu->mem, _t132);
|
|
/* 0278B474 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278B478: ; // 0x278b478
|
|
/* 0278B478 */ _t133 = cpu->r[5] + 0x00000000u;
|
|
/* 0278B478 */ cpu->r[7] = rbrew_read8(cpu->mem, _t133);
|
|
/* 0278B47C */ _t134 = cpu->r[8] + 0x00000001u;
|
|
/* 0278B47C */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 0278B47C */ cpu->r[8] = _t134;
|
|
/* 0278B480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0278B484 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B484 */ _t136 = _t135 & 0x00000001u;
|
|
/* 0278B484 */ if (_t136) goto L_0278B488; else goto L_0278B498;
|
|
L_0278B488: ; // 0x278b488
|
|
/* 0278B488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 0278B48C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B48C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0278B48C */ if (_t138) goto L_0278B450; else goto L_0278B490;
|
|
L_0278B490: ; // 0x278b490
|
|
/* 0278B490 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278B494 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B494 */ _t139 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B494 */ _t140 = _t139 >> (0x00000002u & 31u);
|
|
/* 0278B494 */ _t141 = _t140 & 0x00000001u;
|
|
/* 0278B494 */ if (_t141) goto L_0278B478; else goto L_0278B498;
|
|
L_0278B498: ; // 0x278b498
|
|
/* 0278B498 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B49C */ _t142 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278B49C */ rbrew_write32(cpu->mem, _t142, cpu->r[28]);
|
|
/* 0278B4A0 */ cpu->r[6] = cpu->r[6] + 0x00006248u;
|
|
/* 0278B4A4 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B4A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0278B4A8 */ _t144 = cpu->r[1] + 0x00000038u;
|
|
/* 0278B4A8 */ rbrew_write32(cpu->mem, _t144, cpu->r[6]);
|
|
/* 0278B4AC */ _t145 = cpu->r[7] + 0x00000014u;
|
|
/* 0278B4AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0278B4B0 */ cpu->ctr = cpu->r[8];
|
|
/* 0278B4B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B4BC */ _t146 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B4BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0278B4C0 */ _t147 = cpu->r[9] + 0x00000014u;
|
|
/* 0278B4C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0278B4C4 */ cpu->ctr = cpu->r[10];
|
|
/* 0278B4C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B4CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B4D0 */ _t148 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278B4D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0278B4D4 */ _t149 = cpu->r[11] + 0x00000014u;
|
|
/* 0278B4D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0278B4D8 */ cpu->ctr = cpu->r[12];
|
|
/* 0278B4DC */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B4DC */ cpu->r[27] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0278B4E0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0278B4E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B4E8 */ _t151 = cpu->r[1] + 0x00000038u;
|
|
/* 0278B4E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0278B4EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[4]);
|
|
/* 0278B4F0 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B4F0 */ _t153 = _t152 & 0x00000001u;
|
|
/* 0278B4F0 */ if (_t153) goto L_0278B4F4; else goto L_0278B508;
|
|
L_0278B4F4: ; // 0x278b4f4
|
|
/* 0278B4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B4F8 */ Gambit_fn_0278C258(cpu);
|
|
/* 0278B4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B500 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B500 */ _t155 = _t154 & 0x00000001u;
|
|
/* 0278B500 */ if (_t155) goto L_0278B88C; else goto L_0278B504;
|
|
L_0278B504: ; // 0x278b504
|
|
/* 0278B504 */ goto L_0278B888;
|
|
L_0278B508: ; // 0x278b508
|
|
/* 0278B508 */ _t156 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B508 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0278B50C */ _t157 = cpu->r[1] + 0x00000038u;
|
|
/* 0278B50C */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0278B510 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B514 */ _t158 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t158);
|
|
/* 0278B518 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0278B51C: ; // 0x278b51c
|
|
/* 0278B51C */ _t159 = cpu->r[12] + 0x00000000u;
|
|
/* 0278B51C */ cpu->r[8] = rbrew_read8(cpu->mem, _t159);
|
|
/* 0278B520 */ _t160 = cpu->r[4] + 0x00000001u;
|
|
/* 0278B520 */ cpu->r[5] = rbrew_read8(cpu->mem, _t160);
|
|
/* 0278B520 */ cpu->r[4] = _t160;
|
|
/* 0278B524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 0278B528 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B528 */ _t162 = _t161 & 0x00000001u;
|
|
/* 0278B528 */ if (_t162) goto L_0278B52C; else goto L_0278B53C;
|
|
L_0278B52C: ; // 0x278b52c
|
|
/* 0278B52C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0278B530 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B530 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0278B530 */ if (_t164) goto L_0278B4F4; else goto L_0278B534;
|
|
L_0278B534: ; // 0x278b534
|
|
/* 0278B534 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278B538 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B538 */ _t165 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B538 */ _t166 = _t165 >> (0x00000002u & 31u);
|
|
/* 0278B538 */ _t167 = _t166 & 0x00000001u;
|
|
/* 0278B538 */ if (_t167) goto L_0278B51C; else goto L_0278B53C;
|
|
L_0278B53C: ; // 0x278b53c
|
|
/* 0278B53C */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B540 */ _t168 = cpu->r[1] + 0x00000044u;
|
|
/* 0278B540 */ rbrew_write32(cpu->mem, _t168, cpu->r[28]);
|
|
/* 0278B544 */ cpu->r[6] = cpu->r[6] + 0x0000620Cu;
|
|
/* 0278B548 */ _t169 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B548 */ cpu->r[7] = rbrew_read32(cpu->mem, _t169);
|
|
/* 0278B54C */ _t170 = cpu->r[1] + 0x00000040u;
|
|
/* 0278B54C */ rbrew_write32(cpu->mem, _t170, cpu->r[6]);
|
|
/* 0278B550 */ _t171 = cpu->r[7] + 0x00000014u;
|
|
/* 0278B550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0278B554 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B558 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B55C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B560 */ _t172 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B560 */ cpu->r[9] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0278B564 */ _t173 = cpu->r[9] + 0x00000014u;
|
|
/* 0278B564 */ cpu->r[10] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0278B568 */ cpu->ctr = cpu->r[10];
|
|
/* 0278B56C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B574 */ _t174 = cpu->r[1] + 0x00000044u;
|
|
/* 0278B574 */ cpu->r[11] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0278B578 */ _t175 = cpu->r[11] + 0x00000014u;
|
|
/* 0278B578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t175);
|
|
/* 0278B57C */ cpu->ctr = cpu->r[12];
|
|
/* 0278B580 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B580 */ cpu->r[27] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0278B584 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 0278B588 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B58C */ _t177 = cpu->r[1] + 0x00000040u;
|
|
/* 0278B58C */ cpu->r[0] = rbrew_read32(cpu->mem, _t177);
|
|
/* 0278B590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0278B594 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B594 */ _t179 = _t178 & 0x00000001u;
|
|
/* 0278B594 */ if (_t179) goto L_0278B598; else goto L_0278B5AC;
|
|
L_0278B598: ; // 0x278b598
|
|
/* 0278B598 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B59C */ Gambit_fn_0278C2A8(cpu);
|
|
/* 0278B5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B5A4 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B5A4 */ _t181 = _t180 & 0x00000001u;
|
|
/* 0278B5A4 */ if (_t181) goto L_0278B88C; else goto L_0278B5A8;
|
|
L_0278B5A8: ; // 0x278b5a8
|
|
/* 0278B5A8 */ goto L_0278B888;
|
|
L_0278B5AC: ; // 0x278b5ac
|
|
/* 0278B5AC */ _t182 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B5AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0278B5B0 */ _t183 = cpu->r[1] + 0x00000040u;
|
|
/* 0278B5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0278B5B4 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B5B8 */ _t184 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B5B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t184);
|
|
/* 0278B5BC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0278B5C0: ; // 0x278b5c0
|
|
/* 0278B5C0 */ _t185 = cpu->r[8] + 0x00000000u;
|
|
/* 0278B5C0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t185);
|
|
/* 0278B5C4 */ _t186 = cpu->r[11] + 0x00000001u;
|
|
/* 0278B5C4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t186);
|
|
/* 0278B5C4 */ cpu->r[11] = _t186;
|
|
/* 0278B5C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[4]);
|
|
/* 0278B5CC */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B5CC */ _t188 = _t187 & 0x00000001u;
|
|
/* 0278B5CC */ if (_t188) goto L_0278B5D0; else goto L_0278B5E0;
|
|
L_0278B5D0: ; // 0x278b5d0
|
|
/* 0278B5D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 0278B5D4 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B5D4 */ _t190 = _t189 & 0x00000001u;
|
|
/* 0278B5D4 */ if (_t190) goto L_0278B598; else goto L_0278B5D8;
|
|
L_0278B5D8: ; // 0x278b5d8
|
|
/* 0278B5D8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278B5DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B5DC */ _t191 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B5DC */ _t192 = _t191 >> (0x00000002u & 31u);
|
|
/* 0278B5DC */ _t193 = _t192 & 0x00000001u;
|
|
/* 0278B5DC */ if (_t193) goto L_0278B5C0; else goto L_0278B5E0;
|
|
L_0278B5E0: ; // 0x278b5e0
|
|
/* 0278B5E0 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B5E4 */ _t194 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278B5E4 */ rbrew_write32(cpu->mem, _t194, cpu->r[28]);
|
|
/* 0278B5E8 */ cpu->r[6] = cpu->r[6] + 0x00006220u;
|
|
/* 0278B5EC */ _t195 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B5EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t195);
|
|
/* 0278B5F0 */ _t196 = cpu->r[1] + 0x00000048u;
|
|
/* 0278B5F0 */ rbrew_write32(cpu->mem, _t196, cpu->r[6]);
|
|
/* 0278B5F4 */ _t197 = cpu->r[7] + 0x00000014u;
|
|
/* 0278B5F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t197);
|
|
/* 0278B5F8 */ cpu->ctr = cpu->r[8];
|
|
/* 0278B5FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B600 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B604 */ _t198 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t198);
|
|
/* 0278B608 */ _t199 = cpu->r[9] + 0x00000014u;
|
|
/* 0278B608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 0278B60C */ cpu->ctr = cpu->r[0];
|
|
/* 0278B610 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B618 */ _t200 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278B618 */ cpu->r[11] = rbrew_read32(cpu->mem, _t200);
|
|
/* 0278B61C */ _t201 = cpu->r[11] + 0x00000014u;
|
|
/* 0278B61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t201);
|
|
/* 0278B620 */ cpu->ctr = cpu->r[12];
|
|
/* 0278B624 */ _t202 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B624 */ cpu->r[27] = rbrew_read32(cpu->mem, _t202);
|
|
/* 0278B628 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0278B62C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B630 */ _t203 = cpu->r[1] + 0x00000048u;
|
|
/* 0278B630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t203);
|
|
/* 0278B634 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0278B638 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B638 */ _t205 = _t204 & 0x00000001u;
|
|
/* 0278B638 */ if (_t205) goto L_0278B63C; else goto L_0278B650;
|
|
L_0278B63C: ; // 0x278b63c
|
|
/* 0278B63C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B640 */ Gambit_fn_0278C2F8(cpu);
|
|
/* 0278B644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B648 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B648 */ _t207 = _t206 & 0x00000001u;
|
|
/* 0278B648 */ if (_t207) goto L_0278B88C; else goto L_0278B64C;
|
|
L_0278B64C: ; // 0x278b64c
|
|
/* 0278B64C */ goto L_0278B888;
|
|
L_0278B650: ; // 0x278b650
|
|
/* 0278B650 */ _t208 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B650 */ cpu->r[5] = rbrew_read32(cpu->mem, _t208);
|
|
/* 0278B654 */ _t209 = cpu->r[1] + 0x00000048u;
|
|
/* 0278B654 */ cpu->r[7] = rbrew_read32(cpu->mem, _t209);
|
|
/* 0278B658 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B65C */ _t210 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B65C */ cpu->r[6] = rbrew_read8(cpu->mem, _t210);
|
|
/* 0278B660 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0278B664: ; // 0x278b664
|
|
/* 0278B664 */ _t211 = cpu->r[5] + 0x00000000u;
|
|
/* 0278B664 */ cpu->r[10] = rbrew_read8(cpu->mem, _t211);
|
|
/* 0278B668 */ _t212 = cpu->r[7] + 0x00000001u;
|
|
/* 0278B668 */ cpu->r[4] = rbrew_read8(cpu->mem, _t212);
|
|
/* 0278B668 */ cpu->r[7] = _t212;
|
|
/* 0278B66C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[4]);
|
|
/* 0278B670 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B670 */ _t214 = _t213 & 0x00000001u;
|
|
/* 0278B670 */ if (_t214) goto L_0278B674; else goto L_0278B684;
|
|
L_0278B674: ; // 0x278b674
|
|
/* 0278B674 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 0278B678 */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B678 */ _t216 = _t215 & 0x00000001u;
|
|
/* 0278B678 */ if (_t216) goto L_0278B63C; else goto L_0278B67C;
|
|
L_0278B67C: ; // 0x278b67c
|
|
/* 0278B67C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278B680 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B680 */ _t217 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B680 */ _t218 = _t217 >> (0x00000002u & 31u);
|
|
/* 0278B680 */ _t219 = _t218 & 0x00000001u;
|
|
/* 0278B680 */ if (_t219) goto L_0278B664; else goto L_0278B684;
|
|
L_0278B684: ; // 0x278b684
|
|
/* 0278B684 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278B688 */ _t220 = cpu->r[1] + 0x00000054u;
|
|
/* 0278B688 */ rbrew_write32(cpu->mem, _t220, cpu->r[28]);
|
|
/* 0278B68C */ cpu->r[6] = cpu->r[6] + 0x00006214u;
|
|
/* 0278B690 */ _t221 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B690 */ cpu->r[7] = rbrew_read32(cpu->mem, _t221);
|
|
/* 0278B694 */ _t222 = cpu->r[1] + 0x00000050u;
|
|
/* 0278B694 */ rbrew_write32(cpu->mem, _t222, cpu->r[6]);
|
|
/* 0278B698 */ _t223 = cpu->r[7] + 0x00000014u;
|
|
/* 0278B698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0278B69C */ cpu->ctr = cpu->r[8];
|
|
/* 0278B6A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B6A8 */ _t224 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t224);
|
|
/* 0278B6AC */ _t225 = cpu->r[10] + 0x00000014u;
|
|
/* 0278B6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t225);
|
|
/* 0278B6B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B6B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B6B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B6BC */ _t226 = cpu->r[1] + 0x00000054u;
|
|
/* 0278B6BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t226);
|
|
/* 0278B6C0 */ _t227 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B6C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t227);
|
|
/* 0278B6C4 */ cpu->ctr = cpu->r[4];
|
|
/* 0278B6C8 */ _t228 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B6C8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t228);
|
|
/* 0278B6CC */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0278B6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B6D4 */ _t229 = cpu->r[1] + 0x00000050u;
|
|
/* 0278B6D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t229);
|
|
/* 0278B6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0278B6DC */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B6DC */ _t231 = _t230 & 0x00000001u;
|
|
/* 0278B6DC */ if (_t231) goto L_0278B6E0; else goto L_0278B6F4;
|
|
L_0278B6E0: ; // 0x278b6e0
|
|
/* 0278B6E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B6E4 */ Gambit_fn_0278C348(cpu);
|
|
/* 0278B6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B6EC */ _t232 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B6EC */ _t233 = _t232 & 0x00000001u;
|
|
/* 0278B6EC */ if (_t233) goto L_0278B88C; else goto L_0278B6F0;
|
|
L_0278B6F0: ; // 0x278b6f0
|
|
/* 0278B6F0 */ goto L_0278B888;
|
|
L_0278B6F4: ; // 0x278b6f4
|
|
/* 0278B6F4 */ _t234 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B6F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t234);
|
|
/* 0278B6F8 */ _t235 = cpu->r[1] + 0x00000050u;
|
|
/* 0278B6F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t235);
|
|
/* 0278B6FC */ cpu->ctr = cpu->r[29];
|
|
/* 0278B700 */ _t236 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B700 */ cpu->r[0] = rbrew_read8(cpu->mem, _t236);
|
|
/* 0278B704 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0278B708: ; // 0x278b708
|
|
/* 0278B708 */ _t237 = cpu->r[12] + 0x00000000u;
|
|
/* 0278B708 */ cpu->r[11] = rbrew_read8(cpu->mem, _t237);
|
|
/* 0278B70C */ _t238 = cpu->r[4] + 0x00000001u;
|
|
/* 0278B70C */ cpu->r[6] = rbrew_read8(cpu->mem, _t238);
|
|
/* 0278B70C */ cpu->r[4] = _t238;
|
|
/* 0278B710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 0278B714 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B714 */ _t240 = _t239 & 0x00000001u;
|
|
/* 0278B714 */ if (_t240) goto L_0278B718; else goto L_0278B728;
|
|
L_0278B718: ; // 0x278b718
|
|
/* 0278B718 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0278B71C */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B71C */ _t242 = _t241 & 0x00000001u;
|
|
/* 0278B71C */ if (_t242) goto L_0278B6E0; else goto L_0278B720;
|
|
L_0278B720: ; // 0x278b720
|
|
/* 0278B720 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278B724 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B724 */ _t243 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B724 */ _t244 = _t243 >> (0x00000002u & 31u);
|
|
/* 0278B724 */ _t245 = _t244 & 0x00000001u;
|
|
/* 0278B724 */ if (_t245) goto L_0278B708; else goto L_0278B728;
|
|
L_0278B728: ; // 0x278b728
|
|
/* 0278B728 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278B72C */ _t246 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0278B72C */ rbrew_write32(cpu->mem, _t246, cpu->r[28]);
|
|
/* 0278B730 */ cpu->r[7] = cpu->r[7] + 0x00006230u;
|
|
/* 0278B734 */ _t247 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0278B738 */ _t248 = cpu->r[1] + 0x00000058u;
|
|
/* 0278B738 */ rbrew_write32(cpu->mem, _t248, cpu->r[7]);
|
|
/* 0278B73C */ _t249 = cpu->r[8] + 0x00000014u;
|
|
/* 0278B73C */ cpu->r[9] = rbrew_read32(cpu->mem, _t249);
|
|
/* 0278B740 */ cpu->ctr = cpu->r[9];
|
|
/* 0278B744 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B748 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B74C */ _t250 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B74C */ cpu->r[10] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0278B750 */ _t251 = cpu->r[10] + 0x00000014u;
|
|
/* 0278B750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0278B754 */ cpu->ctr = cpu->r[11];
|
|
/* 0278B758 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B75C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B760 */ _t252 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0278B760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t252);
|
|
/* 0278B764 */ _t253 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B764 */ cpu->r[4] = rbrew_read32(cpu->mem, _t253);
|
|
/* 0278B768 */ cpu->ctr = cpu->r[4];
|
|
/* 0278B76C */ _t254 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B76C */ cpu->r[27] = rbrew_read32(cpu->mem, _t254);
|
|
/* 0278B770 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 0278B774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B778 */ _t255 = cpu->r[1] + 0x00000058u;
|
|
/* 0278B778 */ cpu->r[5] = rbrew_read32(cpu->mem, _t255);
|
|
/* 0278B77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[5]);
|
|
/* 0278B780 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B780 */ _t257 = _t256 & 0x00000001u;
|
|
/* 0278B780 */ if (_t257) goto L_0278B784; else goto L_0278B798;
|
|
L_0278B784: ; // 0x278b784
|
|
/* 0278B784 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B788 */ Gambit_fn_0278C398(cpu);
|
|
/* 0278B78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B790 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B790 */ _t259 = _t258 & 0x00000001u;
|
|
/* 0278B790 */ if (_t259) goto L_0278B88C; else goto L_0278B794;
|
|
L_0278B794: ; // 0x278b794
|
|
/* 0278B794 */ goto L_0278B888;
|
|
L_0278B798: ; // 0x278b798
|
|
/* 0278B798 */ _t260 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t260);
|
|
/* 0278B79C */ _t261 = cpu->r[1] + 0x00000058u;
|
|
/* 0278B79C */ cpu->r[11] = rbrew_read32(cpu->mem, _t261);
|
|
/* 0278B7A0 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B7A4 */ _t262 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B7A4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t262);
|
|
/* 0278B7A8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0278B7AC: ; // 0x278b7ac
|
|
/* 0278B7AC */ _t263 = cpu->r[9] + 0x00000000u;
|
|
/* 0278B7AC */ cpu->r[12] = rbrew_read8(cpu->mem, _t263);
|
|
/* 0278B7B0 */ _t264 = cpu->r[11] + 0x00000001u;
|
|
/* 0278B7B0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t264);
|
|
/* 0278B7B0 */ cpu->r[11] = _t264;
|
|
/* 0278B7B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 0278B7B8 */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B7B8 */ _t266 = _t265 & 0x00000001u;
|
|
/* 0278B7B8 */ if (_t266) goto L_0278B7BC; else goto L_0278B7CC;
|
|
L_0278B7BC: ; // 0x278b7bc
|
|
/* 0278B7BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0278B7C0 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B7C0 */ _t268 = _t267 & 0x00000001u;
|
|
/* 0278B7C0 */ if (_t268) goto L_0278B784; else goto L_0278B7C4;
|
|
L_0278B7C4: ; // 0x278b7c4
|
|
/* 0278B7C4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278B7C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B7C8 */ _t269 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B7C8 */ _t270 = _t269 >> (0x00000002u & 31u);
|
|
/* 0278B7C8 */ _t271 = _t270 & 0x00000001u;
|
|
/* 0278B7C8 */ if (_t271) goto L_0278B7AC; else goto L_0278B7CC;
|
|
L_0278B7CC: ; // 0x278b7cc
|
|
/* 0278B7CC */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B7D0 */ _t272 = cpu->r[1] + 0x00000064u;
|
|
/* 0278B7D0 */ rbrew_write32(cpu->mem, _t272, cpu->r[28]);
|
|
/* 0278B7D4 */ cpu->r[0] = cpu->r[0] + 0x00006254u;
|
|
/* 0278B7D8 */ _t273 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B7D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t273);
|
|
/* 0278B7DC */ _t274 = cpu->r[1] + 0x00000060u;
|
|
/* 0278B7DC */ rbrew_write32(cpu->mem, _t274, cpu->r[0]);
|
|
/* 0278B7E0 */ _t275 = cpu->r[8] + 0x00000014u;
|
|
/* 0278B7E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t275);
|
|
/* 0278B7E4 */ cpu->ctr = cpu->r[9];
|
|
/* 0278B7E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B7EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B7F0 */ _t276 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B7F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t276);
|
|
/* 0278B7F4 */ _t277 = cpu->r[10] + 0x00000014u;
|
|
/* 0278B7F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t277);
|
|
/* 0278B7F8 */ cpu->ctr = cpu->r[11];
|
|
/* 0278B7FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278B800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B804 */ _t278 = cpu->r[1] + 0x00000064u;
|
|
/* 0278B804 */ cpu->r[12] = rbrew_read32(cpu->mem, _t278);
|
|
/* 0278B808 */ _t279 = cpu->r[12] + 0x00000014u;
|
|
/* 0278B808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t279);
|
|
/* 0278B80C */ cpu->ctr = cpu->r[0];
|
|
/* 0278B810 */ _t280 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B810 */ cpu->r[28] = rbrew_read32(cpu->mem, _t280);
|
|
/* 0278B814 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 0278B818 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278B81C */ _t281 = cpu->r[1] + 0x00000060u;
|
|
/* 0278B81C */ cpu->r[4] = rbrew_read32(cpu->mem, _t281);
|
|
/* 0278B820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[4]);
|
|
/* 0278B824 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B824 */ _t283 = _t282 & 0x00000001u;
|
|
/* 0278B824 */ if (_t283) goto L_0278B828; else goto L_0278B83C;
|
|
L_0278B828: ; // 0x278b828
|
|
/* 0278B828 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B82C */ Gambit_fn_0278C3E8(cpu);
|
|
/* 0278B830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B834 */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B834 */ _t285 = _t284 & 0x00000001u;
|
|
/* 0278B834 */ if (_t285) goto L_0278B88C; else goto L_0278B838;
|
|
L_0278B838: ; // 0x278b838
|
|
/* 0278B838 */ goto L_0278B888;
|
|
L_0278B83C: ; // 0x278b83c
|
|
/* 0278B83C */ _t286 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B83C */ cpu->r[6] = rbrew_read32(cpu->mem, _t286);
|
|
/* 0278B840 */ _t287 = cpu->r[1] + 0x00000060u;
|
|
/* 0278B840 */ cpu->r[8] = rbrew_read32(cpu->mem, _t287);
|
|
/* 0278B844 */ cpu->ctr = cpu->r[29];
|
|
/* 0278B848 */ _t288 = cpu->r[30] + 0x00007399u;
|
|
/* 0278B848 */ cpu->r[7] = rbrew_read8(cpu->mem, _t288);
|
|
/* 0278B84C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278B850: ; // 0x278b850
|
|
/* 0278B850 */ _t289 = cpu->r[6] + 0x00000000u;
|
|
/* 0278B850 */ cpu->r[0] = rbrew_read8(cpu->mem, _t289);
|
|
/* 0278B854 */ _t290 = cpu->r[8] + 0x00000001u;
|
|
/* 0278B854 */ cpu->r[5] = rbrew_read8(cpu->mem, _t290);
|
|
/* 0278B854 */ cpu->r[8] = _t290;
|
|
/* 0278B858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0278B85C */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B85C */ _t292 = _t291 & 0x00000001u;
|
|
/* 0278B85C */ if (_t292) goto L_0278B860; else goto L_0278B870;
|
|
L_0278B860: ; // 0x278b860
|
|
/* 0278B860 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0278B864 */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B864 */ _t294 = _t293 & 0x00000001u;
|
|
/* 0278B864 */ if (_t294) goto L_0278B828; else goto L_0278B868;
|
|
L_0278B868: ; // 0x278b868
|
|
/* 0278B868 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278B86C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278B86C */ _t295 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278B86C */ _t296 = _t295 >> (0x00000002u & 31u);
|
|
/* 0278B86C */ _t297 = _t296 & 0x00000001u;
|
|
/* 0278B86C */ if (_t297) goto L_0278B850; else goto L_0278B870;
|
|
L_0278B870: ; // 0x278b870
|
|
/* 0278B870 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B874 */ /* nop */
|
|
/* 0278B878 */ _t298 = cpu->r[1] + 0x00000084u;
|
|
/* 0278B878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t298);
|
|
/* 0278B87C */ cpu->lr = cpu->r[0];
|
|
/* 0278B880 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0278B884 */ return;
|
|
L_0278B888: ; // 0x278b888
|
|
/* 0278B888 */ _t299 = cpu->r[3] + 0x00000250u;
|
|
/* 0278B888 */ rbrew_write32(cpu->mem, _t299, cpu->r[31]);
|
|
L_0278B88C: ; // 0x278b88c
|
|
/* 0278B88C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278B890 */ /* nop */
|
|
/* 0278B894 */ _t300 = cpu->r[1] + 0x00000084u;
|
|
/* 0278B894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t300);
|
|
/* 0278B898 */ cpu->lr = cpu->r[0];
|
|
/* 0278B89C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 0278B8A0 */ return;
|
|
}
|
|
|
|
// fn_0278B8A4 @ 0x278b8a4
|
|
void Gambit_fn_0278B8A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278B8A4: ; // 0x278b8a4
|
|
/* 0278B8A4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278B8A8 */ _t0 = cpu->r[12] + 0x00006000u;
|
|
/* 0278B8A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278B8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278B8B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B8B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278B8B0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278B8B0 */ goto L_0278B8B4;
|
|
L_0278B8B4: ; // 0x278b8b4
|
|
/* 0278B8B4 */ _t3 = cpu->r[12] + 0x000002A4u;
|
|
/* 0278B8B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278B8B8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0278B8B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278B8BC */ _t5 = cpu->r[12] + 0x00000124u;
|
|
/* 0278B8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278B8C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0278B8C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278B8C8 @ 0x278b8c8
|
|
void Gambit_fn_0278B8C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0278B8C8: ; // 0x278b8c8
|
|
/* 0278B8C8 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0278B8CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278B8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B8CC */ cpu->r[1] = _t0;
|
|
/* 0278B8D0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0278B8D4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0278B8D8 */ _t1 = cpu->r[10] + 0x0000235Cu;
|
|
/* 0278B8D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0278B8D8 */ cpu->r[10] = _t1;
|
|
/* 0278B8DC */ cpu->r[7] = 0x101F0000u;
|
|
/* 0278B8E0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0278B8E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0278B8E4 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0278B8E8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0278B8EC */ _t3 = cpu->r[7] + 0x0000236Cu;
|
|
/* 0278B8EC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0278B8EC */ cpu->r[7] = _t3;
|
|
/* 0278B8F0 */ _t4 = cpu->r[8] + 0x00002364u;
|
|
/* 0278B8F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0278B8F0 */ cpu->r[8] = _t4;
|
|
/* 0278B8F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0278B8F8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0278B8F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0278B8FC */ cpu->r[8] = 0x101F0000u;
|
|
/* 0278B900 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B900 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B904 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0278B908 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0278B908 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0278B90C */ _t8 = cpu->r[8] + 0x0000237Cu;
|
|
/* 0278B90C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0278B90C */ cpu->r[8] = _t8;
|
|
/* 0278B910 */ _t9 = cpu->r[12] + 0x00002374u;
|
|
/* 0278B910 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0278B910 */ cpu->r[12] = _t9;
|
|
/* 0278B914 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0278B914 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0278B918 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278B91C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0278B91C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0278B920 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0278B924 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B924 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278B928 */ _t13 = cpu->r[11] + 0x00002384u;
|
|
/* 0278B928 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0278B92C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278B930 */ return;
|
|
}
|
|
|
|
// fn_0278B8CC @ 0x278b8cc
|
|
void Gambit_fn_0278B8CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0278B8CC: ; // 0x278b8cc
|
|
/* 0278B8CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278B8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B8CC */ cpu->r[1] = _t0;
|
|
/* 0278B8D0 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0278B8D4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0278B8D8 */ _t1 = cpu->r[10] + 0x0000235Cu;
|
|
/* 0278B8D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0278B8D8 */ cpu->r[10] = _t1;
|
|
/* 0278B8DC */ cpu->r[7] = 0x101F0000u;
|
|
/* 0278B8E0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0278B8E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0278B8E4 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0278B8E8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0278B8EC */ _t3 = cpu->r[7] + 0x0000236Cu;
|
|
/* 0278B8EC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0278B8EC */ cpu->r[7] = _t3;
|
|
/* 0278B8F0 */ _t4 = cpu->r[8] + 0x00002364u;
|
|
/* 0278B8F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0278B8F0 */ cpu->r[8] = _t4;
|
|
/* 0278B8F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0278B8F8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0278B8F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0278B8FC */ cpu->r[8] = 0x101F0000u;
|
|
/* 0278B900 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B900 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B904 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0278B908 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0278B908 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0278B90C */ _t8 = cpu->r[8] + 0x0000237Cu;
|
|
/* 0278B90C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0278B90C */ cpu->r[8] = _t8;
|
|
/* 0278B910 */ _t9 = cpu->r[12] + 0x00002374u;
|
|
/* 0278B910 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0278B910 */ cpu->r[12] = _t9;
|
|
/* 0278B914 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0278B914 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0278B918 */ cpu->r[0] = 0x00000004u;
|
|
/* 0278B91C */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0278B91C */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0278B920 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0278B924 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B924 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278B928 */ _t13 = cpu->r[11] + 0x00002384u;
|
|
/* 0278B928 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0278B92C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278B930 */ return;
|
|
}
|
|
|
|
// fn_0278B934 @ 0x278b934
|
|
void Gambit_fn_0278B934(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_0278B934: ; // 0x278b934
|
|
/* 0278B934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278B938 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B938 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278B938 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278B938 */ goto L_0278B93C;
|
|
L_0278B93C: ; // 0x278b93c
|
|
/* 0278B93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278B93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278B940 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B940 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278B940 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278B940 */ goto L_0278B944;
|
|
L_0278B944: ; // 0x278b944
|
|
/* 0278B944 */ 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_0278B94C @ 0x278b94c
|
|
void Gambit_fn_0278B94C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278B94C: ; // 0x278b94c
|
|
/* 0278B94C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B94C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B94C */ cpu->r[1] = _t0;
|
|
/* 0278B950 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B950 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B954 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B954 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278B958 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278B958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278B95C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278B960 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B960 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B964 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B964 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B964 */ if (_t5) goto L_0278B9A8; else goto L_0278B968;
|
|
L_0278B968: ; // 0x278b968
|
|
/* 0278B968 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B96C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278B970 */ cpu->r[0] = cpu->r[0] + 0x0000619Cu;
|
|
/* 0278B974 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278B978 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278B978 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B97C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278B980 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278B984 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278B988 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278B98C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278B990 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278B994 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278B998 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278B998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278B99C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B99C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278B99C */ if (_t8) goto L_0278B9A8; else goto L_0278B9A0;
|
|
L_0278B9A0: ; // 0x278b9a0
|
|
/* 0278B9A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278B9A4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278B9A8: ; // 0x278b9a8
|
|
/* 0278B9A8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278B9AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B9AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278B9B0 */ cpu->lr = cpu->r[0];
|
|
/* 0278B9B4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278B9B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278B9BC */ return;
|
|
}
|
|
|
|
// fn_0278B9C0 @ 0x278b9c0
|
|
void Gambit_fn_0278B9C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278B9C0: ; // 0x278b9c0
|
|
/* 0278B9C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278B9C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B9C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B9C4 */ cpu->r[1] = _t0;
|
|
/* 0278B9C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B9C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B9CC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B9CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278B9D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278B9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278B9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278B9D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B9DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B9DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B9DC */ if (_t5) goto L_0278BAC8; else goto L_0278B9E0;
|
|
L_0278B9E0: ; // 0x278b9e0
|
|
/* 0278B9E0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9E4 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278B9E8 */ cpu->r[0] = cpu->r[0] + 0x000063E0u;
|
|
/* 0278B9EC */ cpu->r[12] = cpu->r[12] + 0x00006410u;
|
|
/* 0278B9F0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278B9F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B9F4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9F8 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278B9F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278B9FC */ cpu->r[0] = cpu->r[0] + 0x000063F0u;
|
|
/* 0278BA00 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278BA04 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278BA08 */ cpu->r[9] = cpu->r[9] + 0x00006420u;
|
|
/* 0278BA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA10 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA10 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278BA14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278BA14 */ if (_t11) goto L_0278BAB8; else goto L_0278BA18;
|
|
L_0278BA18: ; // 0x278ba18
|
|
/* 0278BA18 */ cpu->r[10] = 0x10020000u;
|
|
/* 0278BA1C */ cpu->r[12] = 0x10020000u;
|
|
/* 0278BA20 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278BA24 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278BA28 */ cpu->r[11] = 0x10020000u;
|
|
/* 0278BA2C */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA2C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278BA30 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278BA34 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278BA34 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278BA38 */ cpu->r[0] = 0x10020000u;
|
|
/* 0278BA3C */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA3C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278BA40 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278BA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA48 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA48 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278BA4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA4C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278BA4C */ if (_t17) goto L_0278BAB8; else goto L_0278BA50;
|
|
L_0278BA50: ; // 0x278ba50
|
|
/* 0278BA50 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278BA54 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278BA58 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278BA5C */ cpu->r[0] = 0x10110000u;
|
|
/* 0278BA60 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA60 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278BA64 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278BA68 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA6C */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA6C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278BA70 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA74 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278BA78 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA7C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA84 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA84 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278BA84 */ if (_t21) goto L_0278BAB8; else goto L_0278BA88;
|
|
L_0278BA88: ; // 0x278ba88
|
|
/* 0278BA88 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278BA8C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278BA90 */ cpu->r[10] = cpu->r[10] + 0x0000619Cu;
|
|
/* 0278BA94 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA98 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA98 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278BA9C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAA0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278BAA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BAA8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278BAB4 */ Gambit_fn_028136EC(cpu);
|
|
L_0278BAB8: ; // 0x278bab8
|
|
/* 0278BAB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278BAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278BABC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BABC */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278BABC */ if (_t24) goto L_0278BAC8; else goto L_0278BAC0;
|
|
L_0278BAC0: ; // 0x278bac0
|
|
/* 0278BAC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAC4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278BAC8: ; // 0x278bac8
|
|
/* 0278BAC8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BAC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278BACC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BACC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278BAD0 */ cpu->lr = cpu->r[0];
|
|
/* 0278BAD4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BAD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278BAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BADC */ return;
|
|
}
|
|
|
|
// fn_0278B9C4 @ 0x278b9c4
|
|
void Gambit_fn_0278B9C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278B9C4: ; // 0x278b9c4
|
|
/* 0278B9C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278B9C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278B9C4 */ cpu->r[1] = _t0;
|
|
/* 0278B9C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278B9C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278B9CC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278B9CC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278B9D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278B9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278B9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278B9D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278B9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278B9DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278B9DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278B9DC */ if (_t5) goto L_0278BAC8; else goto L_0278B9E0;
|
|
L_0278B9E0: ; // 0x278b9e0
|
|
/* 0278B9E0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9E4 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278B9E8 */ cpu->r[0] = cpu->r[0] + 0x000063E0u;
|
|
/* 0278B9EC */ cpu->r[12] = cpu->r[12] + 0x00006410u;
|
|
/* 0278B9F0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278B9F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278B9F4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278B9F8 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0278B9F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278B9FC */ cpu->r[0] = cpu->r[0] + 0x000063F0u;
|
|
/* 0278BA00 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278BA04 */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278BA08 */ cpu->r[9] = cpu->r[9] + 0x00006420u;
|
|
/* 0278BA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA10 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA10 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0278BA14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278BA14 */ if (_t11) goto L_0278BAB8; else goto L_0278BA18;
|
|
L_0278BA18: ; // 0x278ba18
|
|
/* 0278BA18 */ cpu->r[10] = 0x10020000u;
|
|
/* 0278BA1C */ cpu->r[12] = 0x10020000u;
|
|
/* 0278BA20 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0278BA24 */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0278BA28 */ cpu->r[11] = 0x10020000u;
|
|
/* 0278BA2C */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA2C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0278BA30 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0278BA34 */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0278BA34 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0278BA38 */ cpu->r[0] = 0x10020000u;
|
|
/* 0278BA3C */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA3C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0278BA40 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0278BA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA48 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0278BA48 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278BA4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA4C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278BA4C */ if (_t17) goto L_0278BAB8; else goto L_0278BA50;
|
|
L_0278BA50: ; // 0x278ba50
|
|
/* 0278BA50 */ cpu->r[9] = 0x10110000u;
|
|
/* 0278BA54 */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0278BA58 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0278BA5C */ cpu->r[0] = 0x10110000u;
|
|
/* 0278BA60 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA60 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278BA64 */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0278BA68 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA6C */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0278BA6C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0278BA70 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA74 */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0278BA78 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA7C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278BA84 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BA84 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278BA84 */ if (_t21) goto L_0278BAB8; else goto L_0278BA88;
|
|
L_0278BA88: ; // 0x278ba88
|
|
/* 0278BA88 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278BA8C */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278BA90 */ cpu->r[10] = cpu->r[10] + 0x0000619Cu;
|
|
/* 0278BA94 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BA98 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0278BA98 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0278BA9C */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAA0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278BAA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278BAA8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278BAAC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278BAB4 */ Gambit_fn_028136EC(cpu);
|
|
L_0278BAB8: ; // 0x278bab8
|
|
/* 0278BAB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278BAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278BABC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BABC */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278BABC */ if (_t24) goto L_0278BAC8; else goto L_0278BAC0;
|
|
L_0278BAC0: ; // 0x278bac0
|
|
/* 0278BAC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278BAC4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278BAC8: ; // 0x278bac8
|
|
/* 0278BAC8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BAC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278BACC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BACC */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278BAD0 */ cpu->lr = cpu->r[0];
|
|
/* 0278BAD4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BAD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278BAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BADC */ return;
|
|
}
|
|
|
|
// fn_0278BAE0 @ 0x278bae0
|
|
void Gambit_fn_0278BAE0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278BAE0: ; // 0x278bae0
|
|
/* 0278BAE0 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0278BAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278BAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0278BAE8 */ /* nop */
|
|
/* 0278BAEC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278BAF0 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0278BAF4 */ return;
|
|
}
|
|
|
|
// fn_0278BAF8 @ 0x278baf8
|
|
void Gambit_fn_0278BAF8(CPUState* cpu) {
|
|
L_0278BAF8: ; // 0x278baf8
|
|
/* 0278BAF8 */ return;
|
|
}
|
|
|
|
// fn_0278BAFC @ 0x278bafc
|
|
void Gambit_fn_0278BAFC(CPUState* cpu) {
|
|
L_0278BAFC: ; // 0x278bafc
|
|
/* 0278BAFC */ return;
|
|
}
|
|
|
|
// fn_0278BB00 @ 0x278bb00
|
|
void Gambit_fn_0278BB00(CPUState* cpu) {
|
|
L_0278BB00: ; // 0x278bb00
|
|
/* 0278BB00 */ return;
|
|
}
|
|
|
|
// fn_0278BB5C @ 0x278bb5c
|
|
void Gambit_fn_0278BB5C(CPUState* cpu) {
|
|
L_0278BB5C: ; // 0x278bb5c
|
|
/* 0278BB5C */ return;
|
|
}
|
|
|
|
// fn_0278BB60 @ 0x278bb60
|
|
void Gambit_fn_0278BB60(CPUState* cpu) {
|
|
L_0278BB60: ; // 0x278bb60
|
|
/* 0278BB60 */ return;
|
|
}
|
|
|
|
// fn_0278BB64 @ 0x278bb64
|
|
void Gambit_fn_0278BB64(CPUState* cpu) {
|
|
L_0278BB64: ; // 0x278bb64
|
|
/* 0278BB64 */ return;
|
|
}
|
|
|
|
// fn_0278BB68 @ 0x278bb68
|
|
void Gambit_fn_0278BB68(CPUState* cpu) {
|
|
L_0278BB68: ; // 0x278bb68
|
|
/* 0278BB68 */ return;
|
|
}
|
|
|
|
// fn_0278BB6C @ 0x278bb6c
|
|
void Gambit_fn_0278BB6C(CPUState* cpu) {
|
|
L_0278BB6C: ; // 0x278bb6c
|
|
/* 0278BB6C */ return;
|
|
}
|
|
|
|
// fn_0278BB70 @ 0x278bb70
|
|
void Gambit_fn_0278BB70(CPUState* cpu) {
|
|
L_0278BB70: ; // 0x278bb70
|
|
/* 0278BB70 */ return;
|
|
}
|
|
|
|
// fn_0278BB74 @ 0x278bb74
|
|
void Gambit_fn_0278BB74(CPUState* cpu) {
|
|
L_0278BB74: ; // 0x278bb74
|
|
/* 0278BB74 */ return;
|
|
}
|
|
|
|
// fn_0278BB78 @ 0x278bb78
|
|
void Gambit_fn_0278BB78(CPUState* cpu) {
|
|
L_0278BB78: ; // 0x278bb78
|
|
/* 0278BB78 */ return;
|
|
}
|
|
|
|
// fn_0278BB7C @ 0x278bb7c
|
|
void Gambit_fn_0278BB7C(CPUState* 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_0217ADCC: ; // 0x217adcc
|
|
/* 0217ADCC */ cpu->r[0] = cpu->lr;
|
|
/* 0217ADD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0217ADD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0217ADD0 */ cpu->r[1] = _t0;
|
|
/* 0217ADD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217ADD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0217ADD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0217ADDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0217ADE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0217ADE4 */ _t3 = cpu->r[3] + 0xFFFF92F4u;
|
|
/* 0217ADE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0217ADE8 */ Gambit_fn_027AD360(cpu);
|
|
/* 0217ADEC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADF0 */ _t4 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 0217ADF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0217ADF4 */ Gambit_fn_0278FB4C(cpu);
|
|
/* 0217ADF8 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 0217ADF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0217ADFC */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 0217ADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0217AE00 */ _t7 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0217AE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0217AE04 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE0C */ _t8 = cpu->r[31] + 0x00000250u;
|
|
/* 0217AE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0217AE10 */ Gambit_fn_020B2A10(cpu);
|
|
/* 0217AE14 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0217AE18 */ _t10 = cpu->r[12] + 0x0000013Cu;
|
|
/* 0217AE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0217AE1C */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE28 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0217AE2C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0217AE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0217AE30 */ _t13 = cpu->r[12] + 0x000000ECu;
|
|
/* 0217AE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0217AE34 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE3C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0217AE40 */ _t14 = cpu->r[3] + 0x000042A4u;
|
|
/* 0217AE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0217AE44 */ Gambit_fn_0215862C(cpu);
|
|
/* 0217AE48 */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0217AE4C */ _t16 = cpu->r[12] + 0x00000144u;
|
|
/* 0217AE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0217AE50 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE54 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE5C */ cpu->r[0] = 0x00000002u;
|
|
/* 0217AE60 */ _t17 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0217AE64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0217AE6C */ Gambit_fn_02791670(cpu);
|
|
/* 0217AE70 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0217AE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0217AE74 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217AE74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0217AE78 */ cpu->lr = cpu->r[0];
|
|
/* 0217AE7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0217AE80 */ return;
|
|
L_0278BB7C: ; // 0x278bb7c
|
|
/* 0278BB7C */ goto L_0217ADCC;
|
|
}
|
|
|
|
// fn_0278BB80 @ 0x278bb80
|
|
void Gambit_fn_0278BB80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0278BB80: ; // 0x278bb80
|
|
/* 0278BB80 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278BB84 */ _t0 = cpu->r[8] + 0xFFFFFA0Cu;
|
|
/* 0278BB84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278BB88 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278BB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0278BB90 */ cpu->r[6] = cpu->r[6] + 0xFFFFFA10u;
|
|
/* 0278BB94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BB94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278BB94 */ if (_t2) goto L_0278BB98; else goto L_0278BBB0;
|
|
L_0278BB98: ; // 0x278bb98
|
|
/* 0278BB98 */ cpu->r[5] = 0x10100000u;
|
|
/* 0278BB9C */ cpu->r[0] = 0x00000001u;
|
|
/* 0278BBA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278BBA4 */ cpu->r[5] = cpu->r[5] + 0x000061DCu;
|
|
/* 0278BBA8 */ _t3 = cpu->r[8] + 0xFFFFFA0Cu;
|
|
/* 0278BBA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BBAC */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0278BBAC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0278BBB0: ; // 0x278bbb0
|
|
/* 0278BBB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0278BBB4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BBB4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278BBB4 */ if (_t6) goto L_0278BBB8; else goto L_0278BBC0;
|
|
L_0278BBB8: ; // 0x278bbb8
|
|
/* 0278BBB8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278BBBC */ return;
|
|
L_0278BBC0: ; // 0x278bbc0
|
|
/* 0278BBC0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BBC4 */ _t7 = cpu->r[10] + 0xFFFFDE0Cu;
|
|
/* 0278BBC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278BBC8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278BBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278BBD0 */ cpu->r[8] = cpu->r[8] + 0xFFFFF664u;
|
|
/* 0278BBD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BBD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278BBD4 */ if (_t9) goto L_0278BBD8; else goto L_0278BBF0;
|
|
L_0278BBD8: ; // 0x278bbd8
|
|
/* 0278BBD8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278BBDC */ cpu->r[7] = 0x00000001u;
|
|
/* 0278BBE0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278BBE4 */ cpu->r[0] = cpu->r[0] + 0x000061CCu;
|
|
/* 0278BBE8 */ _t10 = cpu->r[6] + 0xFFFFDE0Cu;
|
|
/* 0278BBE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0278BBEC */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0278BBEC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0278BBF0: ; // 0x278bbf0
|
|
/* 0278BBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0278BBF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BBF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278BBF4 */ if (_t13) goto L_0278BBF8; else goto L_0278BC00;
|
|
L_0278BBF8: ; // 0x278bbf8
|
|
/* 0278BBF8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278BBFC */ goto L_0278BCF8;
|
|
L_0278BC00: ; // 0x278bc00
|
|
/* 0278BC00 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BC04 */ _t14 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0278BC04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278BC08 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278BC10 */ cpu->r[10] = cpu->r[10] + 0xFFFFF660u;
|
|
/* 0278BC14 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BC14 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278BC14 */ if (_t16) goto L_0278BC18; else goto L_0278BC30;
|
|
L_0278BC18: ; // 0x278bc18
|
|
/* 0278BC18 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278BC1C */ cpu->r[5] = 0x00000001u;
|
|
/* 0278BC20 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BC24 */ cpu->r[7] = cpu->r[7] + 0x000061BCu;
|
|
/* 0278BC28 */ _t17 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0278BC28 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0278BC2C */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0278BC2C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0278BC30: ; // 0x278bc30
|
|
/* 0278BC30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0278BC34 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BC34 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278BC34 */ if (_t20) goto L_0278BC38; else goto L_0278BC40;
|
|
L_0278BC38: ; // 0x278bc38
|
|
/* 0278BC38 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278BC3C */ goto L_0278BCF8;
|
|
L_0278BC40: ; // 0x278bc40
|
|
/* 0278BC40 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0278BC44 */ _t21 = cpu->r[11] + 0xFFFFDAE4u;
|
|
/* 0278BC44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278BC48 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278BC50 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 0278BC54 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BC54 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0278BC54 */ if (_t23) goto L_0278BC58; else goto L_0278BC70;
|
|
L_0278BC58: ; // 0x278bc58
|
|
/* 0278BC58 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278BC5C */ cpu->r[9] = 0x00000001u;
|
|
/* 0278BC60 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278BC64 */ cpu->r[10] = cpu->r[10] + 0x000061ACu;
|
|
/* 0278BC68 */ _t24 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 0278BC68 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0278BC6C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0278BC6C */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0278BC70: ; // 0x278bc70
|
|
/* 0278BC70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278BC74 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BC74 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278BC74 */ if (_t27) goto L_0278BC78; else goto L_0278BC80;
|
|
L_0278BC78: ; // 0x278bc78
|
|
/* 0278BC78 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278BC7C */ goto L_0278BCF4;
|
|
L_0278BC80: ; // 0x278bc80
|
|
/* 0278BC80 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BC84 */ _t28 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 0278BC84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278BC84 */ cpu->r[10] = _t28;
|
|
/* 0278BC88 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0278BC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278BC90 */ cpu->r[7] = cpu->r[7] + 0xFFFFDD70u;
|
|
/* 0278BC94 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BC94 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0278BC94 */ if (_t30) goto L_0278BC98; else goto L_0278BCAC;
|
|
L_0278BC98: ; // 0x278bc98
|
|
/* 0278BC98 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278BC9C */ cpu->r[12] = 0x00000001u;
|
|
/* 0278BCA0 */ cpu->r[0] = cpu->r[0] + 0x0000618Cu;
|
|
/* 0278BCA4 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0278BCA4 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0278BCA8 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0278BCA8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0278BCAC: ; // 0x278bcac
|
|
/* 0278BCAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0278BCB0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BCB0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278BCB0 */ if (_t34) goto L_0278BCB4; else goto L_0278BCBC;
|
|
L_0278BCB4: ; // 0x278bcb4
|
|
/* 0278BCB4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0278BCB8 */ goto L_0278BCF4;
|
|
L_0278BCBC: ; // 0x278bcbc
|
|
/* 0278BCBC */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278BCC0 */ _t35 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 0278BCC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278BCC0 */ cpu->r[8] = _t35;
|
|
/* 0278BCC4 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0278BCC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0278BCCC */ cpu->r[6] = cpu->r[6] + 0xFFFFDD6Cu;
|
|
/* 0278BCD0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278BCD0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278BCD0 */ if (_t37) goto L_0278BCD4; else goto L_0278BCE8;
|
|
L_0278BCD4: ; // 0x278bcd4
|
|
/* 0278BCD4 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278BCD8 */ cpu->r[7] = 0x00000001u;
|
|
/* 0278BCDC */ cpu->r[9] = cpu->r[9] + 0x00006164u;
|
|
/* 0278BCE0 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0278BCE0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0278BCE4 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0278BCE4 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0278BCE8: ; // 0x278bce8
|
|
/* 0278BCE8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0278BCEC */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0278BCF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0278BCF4: ; // 0x278bcf4
|
|
/* 0278BCF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0278BCF8: ; // 0x278bcf8
|
|
/* 0278BCF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0278BCFC */ return;
|
|
}
|
|
|
|
// fn_0278BD00 @ 0x278bd00
|
|
void Gambit_fn_0278BD00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BD00: ; // 0x278bd00
|
|
/* 0278BD00 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BD04 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BD08 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BD0C */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BD10 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0278BD14 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB04u;
|
|
/* 0278BD18 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB04u;
|
|
/* 0278BD1C */ cpu->r[10] = cpu->r[10] + 0x00006BCCu;
|
|
/* 0278BD20 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BD20 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BD24 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0278BD28 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BD28 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BD28 */ cpu->r[1] = _t1;
|
|
/* 0278BD2C */ cpu->r[0] = cpu->r[0] + 0x00006BC8u;
|
|
/* 0278BD30 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BD30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BD34 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BD38 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BD38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BD3C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD40 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD40 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BD44 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BD48 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BD4C */ cpu->lr = cpu->r[0];
|
|
/* 0278BD50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BD54 */ return;
|
|
}
|
|
|
|
// fn_0278BD28 @ 0x278bd28
|
|
void Gambit_fn_0278BD28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BD28: ; // 0x278bd28
|
|
/* 0278BD28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BD28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BD28 */ cpu->r[1] = _t0;
|
|
/* 0278BD2C */ cpu->r[0] = cpu->r[0] + 0x00006BC8u;
|
|
/* 0278BD30 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BD30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BD34 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BD38 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BD38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BD3C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD40 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD40 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BD44 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BD48 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BD4C */ cpu->lr = cpu->r[0];
|
|
/* 0278BD50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BD54 */ return;
|
|
}
|
|
|
|
// fn_0278BD58 @ 0x278bd58
|
|
void Gambit_fn_0278BD58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BD58: ; // 0x278bd58
|
|
/* 0278BD58 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BD5C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BD60 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BD64 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BD68 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BD6C */ cpu->r[7] = cpu->r[7] + 0xFFFFBB0Cu;
|
|
/* 0278BD70 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB0Cu;
|
|
/* 0278BD74 */ cpu->r[10] = cpu->r[10] + 0xFFFF85A4u;
|
|
/* 0278BD78 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BD78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BD7C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278BD80 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BD80 */ cpu->r[1] = _t1;
|
|
/* 0278BD84 */ cpu->r[0] = cpu->r[0] + 0xFFFF85A0u;
|
|
/* 0278BD88 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BD8C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BD90 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BD90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BD94 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD98 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD98 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BD9C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BDA0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BDA4 */ cpu->lr = cpu->r[0];
|
|
/* 0278BDA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BDAC */ return;
|
|
}
|
|
|
|
// fn_0278BD80 @ 0x278bd80
|
|
void Gambit_fn_0278BD80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BD80: ; // 0x278bd80
|
|
/* 0278BD80 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BD80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BD80 */ cpu->r[1] = _t0;
|
|
/* 0278BD84 */ cpu->r[0] = cpu->r[0] + 0xFFFF85A0u;
|
|
/* 0278BD88 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BD8C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BD90 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BD90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BD94 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD98 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BD98 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BD9C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BDA0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BDA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BDA4 */ cpu->lr = cpu->r[0];
|
|
/* 0278BDA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BDAC */ return;
|
|
}
|
|
|
|
// fn_0278BDB0 @ 0x278bdb0
|
|
void Gambit_fn_0278BDB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BDB0: ; // 0x278bdb0
|
|
/* 0278BDB0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BDB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BDB8 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BDBC */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BDC0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BDC4 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB14u;
|
|
/* 0278BDC8 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB14u;
|
|
/* 0278BDCC */ cpu->r[10] = cpu->r[10] + 0xFFFF80F0u;
|
|
/* 0278BDD0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BDD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BDD4 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278BDD8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BDD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BDD8 */ cpu->r[1] = _t1;
|
|
/* 0278BDDC */ cpu->r[0] = cpu->r[0] + 0xFFFF80ECu;
|
|
/* 0278BDE0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BDE4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BDE8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BDE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BDEC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BDF0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BDF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BDF4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BDF8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BDFC */ cpu->lr = cpu->r[0];
|
|
/* 0278BE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BE04 */ return;
|
|
}
|
|
|
|
// fn_0278BDD8 @ 0x278bdd8
|
|
void Gambit_fn_0278BDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BDD8: ; // 0x278bdd8
|
|
/* 0278BDD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BDD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BDD8 */ cpu->r[1] = _t0;
|
|
/* 0278BDDC */ cpu->r[0] = cpu->r[0] + 0xFFFF80ECu;
|
|
/* 0278BDE0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BDE4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BDE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BDE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BDEC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BDF0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BDF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BDF4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BDF8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BDFC */ cpu->lr = cpu->r[0];
|
|
/* 0278BE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BE04 */ return;
|
|
}
|
|
|
|
// fn_0278BE08 @ 0x278be08
|
|
void Gambit_fn_0278BE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BE08: ; // 0x278be08
|
|
/* 0278BE08 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BE0C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BE10 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BE14 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BE18 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0278BE1C */ cpu->r[7] = cpu->r[7] + 0xFFFFBB1Cu;
|
|
/* 0278BE20 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB1Cu;
|
|
/* 0278BE24 */ cpu->r[10] = cpu->r[10] + 0x00007B9Cu;
|
|
/* 0278BE28 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BE28 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BE2C */ cpu->r[0] = 0x101C0000u;
|
|
/* 0278BE30 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BE30 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BE30 */ cpu->r[1] = _t1;
|
|
/* 0278BE34 */ cpu->r[0] = cpu->r[0] + 0x00007B98u;
|
|
/* 0278BE38 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BE3C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BE40 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BE40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BE44 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BE48 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BE48 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BE4C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BE50 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BE54 */ cpu->lr = cpu->r[0];
|
|
/* 0278BE58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BE5C */ return;
|
|
}
|
|
|
|
// fn_0278BE30 @ 0x278be30
|
|
void Gambit_fn_0278BE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BE30: ; // 0x278be30
|
|
/* 0278BE30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BE30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BE30 */ cpu->r[1] = _t0;
|
|
/* 0278BE34 */ cpu->r[0] = cpu->r[0] + 0x00007B98u;
|
|
/* 0278BE38 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BE38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BE3C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BE40 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BE40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BE44 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BE48 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BE48 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BE4C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BE50 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BE54 */ cpu->lr = cpu->r[0];
|
|
/* 0278BE58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BE5C */ return;
|
|
}
|
|
|
|
// fn_0278BE60 @ 0x278be60
|
|
void Gambit_fn_0278BE60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BE60: ; // 0x278be60
|
|
/* 0278BE60 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BE64 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BE68 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BE6C */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BE70 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0278BE74 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB24u;
|
|
/* 0278BE78 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB24u;
|
|
/* 0278BE7C */ cpu->r[10] = cpu->r[10] + 0x00005B5Cu;
|
|
/* 0278BE80 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BE80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BE84 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0278BE88 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BE88 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BE88 */ cpu->r[1] = _t1;
|
|
/* 0278BE8C */ cpu->r[0] = cpu->r[0] + 0x00005B58u;
|
|
/* 0278BE90 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BE90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BE94 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BE98 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BE98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BE9C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEA0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BEA4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BEA8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BEAC */ cpu->lr = cpu->r[0];
|
|
/* 0278BEB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BEB4 */ return;
|
|
}
|
|
|
|
// fn_0278BE88 @ 0x278be88
|
|
void Gambit_fn_0278BE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BE88: ; // 0x278be88
|
|
/* 0278BE88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BE88 */ cpu->r[1] = _t0;
|
|
/* 0278BE8C */ cpu->r[0] = cpu->r[0] + 0x00005B58u;
|
|
/* 0278BE90 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BE90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BE94 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BE98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BE98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BE9C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BEA4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BEA8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BEA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BEAC */ cpu->lr = cpu->r[0];
|
|
/* 0278BEB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BEB4 */ return;
|
|
}
|
|
|
|
// fn_0278BEB8 @ 0x278beb8
|
|
void Gambit_fn_0278BEB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BEB8: ; // 0x278beb8
|
|
/* 0278BEB8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BEBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BEC0 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BEC4 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BEC8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BECC */ cpu->r[7] = cpu->r[7] + 0xFFFFBB2Cu;
|
|
/* 0278BED0 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB2Cu;
|
|
/* 0278BED4 */ cpu->r[10] = cpu->r[10] + 0xFFFF808Cu;
|
|
/* 0278BED8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BED8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BEDC */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278BEE0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BEE0 */ cpu->r[1] = _t1;
|
|
/* 0278BEE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8088u;
|
|
/* 0278BEE8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BEE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BEEC */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BEF0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BEF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BEF4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEF8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BEFC */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BF00 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BF04 */ cpu->lr = cpu->r[0];
|
|
/* 0278BF08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BF0C */ return;
|
|
}
|
|
|
|
// fn_0278BEE0 @ 0x278bee0
|
|
void Gambit_fn_0278BEE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BEE0: ; // 0x278bee0
|
|
/* 0278BEE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BEE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BEE0 */ cpu->r[1] = _t0;
|
|
/* 0278BEE4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8088u;
|
|
/* 0278BEE8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BEE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BEEC */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BEF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BEF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BEF4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEF8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BEF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BEFC */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BF00 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BF04 */ cpu->lr = cpu->r[0];
|
|
/* 0278BF08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BF0C */ return;
|
|
}
|
|
|
|
// fn_0278BF10 @ 0x278bf10
|
|
void Gambit_fn_0278BF10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BF10: ; // 0x278bf10
|
|
/* 0278BF10 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BF14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BF18 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BF1C */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BF20 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0278BF24 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB34u;
|
|
/* 0278BF28 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB34u;
|
|
/* 0278BF2C */ cpu->r[10] = cpu->r[10] + 0x00005588u;
|
|
/* 0278BF30 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BF34 */ cpu->r[0] = 0x101C0000u;
|
|
/* 0278BF38 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BF38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BF38 */ cpu->r[1] = _t1;
|
|
/* 0278BF3C */ cpu->r[0] = cpu->r[0] + 0x00005584u;
|
|
/* 0278BF40 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BF40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BF44 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BF48 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BF48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BF4C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BF50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BF50 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BF54 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BF58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BF5C */ cpu->lr = cpu->r[0];
|
|
/* 0278BF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BF64 */ return;
|
|
}
|
|
|
|
// fn_0278BF38 @ 0x278bf38
|
|
void Gambit_fn_0278BF38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BF38: ; // 0x278bf38
|
|
/* 0278BF38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BF38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BF38 */ cpu->r[1] = _t0;
|
|
/* 0278BF3C */ cpu->r[0] = cpu->r[0] + 0x00005584u;
|
|
/* 0278BF40 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BF40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BF44 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BF48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BF48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BF4C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BF50 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BF50 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BF54 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BF58 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BF5C */ cpu->lr = cpu->r[0];
|
|
/* 0278BF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BF64 */ return;
|
|
}
|
|
|
|
// fn_0278BF68 @ 0x278bf68
|
|
void Gambit_fn_0278BF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BF68: ; // 0x278bf68
|
|
/* 0278BF68 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BF6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BF70 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BF74 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BF78 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BF7C */ cpu->r[7] = cpu->r[7] + 0xFFFFBB3Cu;
|
|
/* 0278BF80 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB3Cu;
|
|
/* 0278BF84 */ cpu->r[10] = cpu->r[10] + 0xFFFF8054u;
|
|
/* 0278BF88 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BF88 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BF8C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278BF90 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BF90 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BF90 */ cpu->r[1] = _t1;
|
|
/* 0278BF94 */ cpu->r[0] = cpu->r[0] + 0xFFFF8050u;
|
|
/* 0278BF98 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BF9C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BFA0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BFA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BFA4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BFA8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BFA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278BFAC */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BFB0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278BFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0278BFB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BFBC */ return;
|
|
}
|
|
|
|
// fn_0278BF90 @ 0x278bf90
|
|
void Gambit_fn_0278BF90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BF90: ; // 0x278bf90
|
|
/* 0278BF90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BF90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BF90 */ cpu->r[1] = _t0;
|
|
/* 0278BF94 */ cpu->r[0] = cpu->r[0] + 0xFFFF8050u;
|
|
/* 0278BF98 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BF9C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BFA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BFA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BFA4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BFA8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278BFA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278BFAC */ Gambit_fn_02791B10(cpu);
|
|
/* 0278BFB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278BFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278BFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0278BFB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278BFBC */ return;
|
|
}
|
|
|
|
// fn_0278BFC0 @ 0x278bfc0
|
|
void Gambit_fn_0278BFC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278BFC0: ; // 0x278bfc0
|
|
/* 0278BFC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278BFC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278BFC8 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278BFCC */ cpu->r[6] = 0x02790000u;
|
|
/* 0278BFD0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278BFD4 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB44u;
|
|
/* 0278BFD8 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB44u;
|
|
/* 0278BFDC */ cpu->r[10] = cpu->r[10] + 0xFFFF812Cu;
|
|
/* 0278BFE0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278BFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278BFE4 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278BFE8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BFE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278BFE8 */ cpu->r[1] = _t1;
|
|
/* 0278BFEC */ cpu->r[0] = cpu->r[0] + 0xFFFF8128u;
|
|
/* 0278BFF0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278BFF4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BFF8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BFF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278BFFC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C000 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C000 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278C004 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C008 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C00C */ cpu->lr = cpu->r[0];
|
|
/* 0278C010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C014 */ return;
|
|
}
|
|
|
|
// fn_0278BFE8 @ 0x278bfe8
|
|
void Gambit_fn_0278BFE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278BFE8: ; // 0x278bfe8
|
|
/* 0278BFE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278BFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278BFE8 */ cpu->r[1] = _t0;
|
|
/* 0278BFEC */ cpu->r[0] = cpu->r[0] + 0xFFFF8128u;
|
|
/* 0278BFF0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278BFF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278BFF4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278BFF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278BFF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278BFFC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C000 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C000 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278C004 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C008 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C00C */ cpu->lr = cpu->r[0];
|
|
/* 0278C010 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C014 */ return;
|
|
}
|
|
|
|
// fn_0278C018 @ 0x278c018
|
|
void Gambit_fn_0278C018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278C018: ; // 0x278c018
|
|
/* 0278C018 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C01C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C020 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278C024 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278C028 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278C02C */ cpu->r[7] = cpu->r[7] + 0xFFFFBB4Cu;
|
|
/* 0278C030 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB4Cu;
|
|
/* 0278C034 */ cpu->r[10] = cpu->r[10] + 0xFFFF8068u;
|
|
/* 0278C038 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278C038 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278C03C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278C040 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C040 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278C040 */ cpu->r[1] = _t1;
|
|
/* 0278C044 */ cpu->r[0] = cpu->r[0] + 0xFFFF8064u;
|
|
/* 0278C048 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278C048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278C04C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278C050 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C050 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C054 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C058 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C058 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278C05C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C060 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C064 */ cpu->lr = cpu->r[0];
|
|
/* 0278C068 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C06C */ return;
|
|
}
|
|
|
|
// fn_0278C040 @ 0x278c040
|
|
void Gambit_fn_0278C040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278C040: ; // 0x278c040
|
|
/* 0278C040 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C040 */ cpu->r[1] = _t0;
|
|
/* 0278C044 */ cpu->r[0] = cpu->r[0] + 0xFFFF8064u;
|
|
/* 0278C048 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278C048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278C04C */ cpu->r[8] = 0x00000000u;
|
|
/* 0278C050 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C050 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C054 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C058 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C058 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278C05C */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C060 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C064 */ cpu->lr = cpu->r[0];
|
|
/* 0278C068 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C06C */ return;
|
|
}
|
|
|
|
// fn_0278C070 @ 0x278c070
|
|
void Gambit_fn_0278C070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0278C070: ; // 0x278c070
|
|
/* 0278C070 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C074 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C078 */ cpu->r[7] = 0x02790000u;
|
|
/* 0278C07C */ cpu->r[6] = 0x02790000u;
|
|
/* 0278C080 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278C084 */ cpu->r[7] = cpu->r[7] + 0xFFFFBB54u;
|
|
/* 0278C088 */ cpu->r[6] = cpu->r[6] + 0xFFFFBB54u;
|
|
/* 0278C08C */ cpu->r[10] = cpu->r[10] + 0xFFFF80DCu;
|
|
/* 0278C090 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278C090 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278C094 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0278C098 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C098 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278C098 */ cpu->r[1] = _t1;
|
|
/* 0278C09C */ cpu->r[0] = cpu->r[0] + 0xFFFF80D8u;
|
|
/* 0278C0A0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278C0A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278C0A4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278C0A8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C0AC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0B0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278C0B4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C0B8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C0BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C0C4 */ return;
|
|
}
|
|
|
|
// fn_0278C098 @ 0x278c098
|
|
void Gambit_fn_0278C098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0278C098: ; // 0x278c098
|
|
/* 0278C098 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C098 */ cpu->r[1] = _t0;
|
|
/* 0278C09C */ cpu->r[0] = cpu->r[0] + 0xFFFF80D8u;
|
|
/* 0278C0A0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0278C0A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278C0A4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0278C0A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C0A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C0AC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0B0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0278C0B4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0278C0B8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C0BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C0C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C0C4 */ return;
|
|
}
|
|
|
|
// fn_0278C0C8 @ 0x278c0c8
|
|
void Gambit_fn_0278C0C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C0C8: ; // 0x278c0c8
|
|
/* 0278C0C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C0CC */ cpu->r[1] = _t0;
|
|
/* 0278C0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C0D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C0DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C0DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C0E0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C0E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C0E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C0E8 */ Gambit_fn_0278BD00(cpu);
|
|
/* 0278C0EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C0F0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C0F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C0F4 */ _t5 = cpu->r[12] + 0x00006BC8u;
|
|
/* 0278C0F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C0F8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C0FC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C0FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C100 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C104 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C108 */ cpu->lr = cpu->r[0];
|
|
/* 0278C10C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C10C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C114 */ return;
|
|
}
|
|
|
|
// fn_0278C0CC @ 0x278c0cc
|
|
void Gambit_fn_0278C0CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C0CC: ; // 0x278c0cc
|
|
/* 0278C0CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C0CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C0CC */ cpu->r[1] = _t0;
|
|
/* 0278C0D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C0D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C0D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C0D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C0DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C0DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C0E0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C0E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C0E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C0E8 */ Gambit_fn_0278BD00(cpu);
|
|
/* 0278C0EC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C0F0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C0F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C0F4 */ _t5 = cpu->r[12] + 0x00006BC8u;
|
|
/* 0278C0F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C0F8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C0FC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C0FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C100 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C104 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C108 */ cpu->lr = cpu->r[0];
|
|
/* 0278C10C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C10C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C114 */ return;
|
|
}
|
|
|
|
// fn_0278C118 @ 0x278c118
|
|
void Gambit_fn_0278C118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C118: ; // 0x278c118
|
|
/* 0278C118 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C11C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C11C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C11C */ cpu->r[1] = _t0;
|
|
/* 0278C120 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C120 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C124 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C128 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C12C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C130 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C134 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C138 */ Gambit_fn_0278BD58(cpu);
|
|
/* 0278C13C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C140 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C144 */ _t5 = cpu->r[12] + 0xFFFF85A0u;
|
|
/* 0278C144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C148 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C14C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C14C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C150 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C154 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C158 */ cpu->lr = cpu->r[0];
|
|
/* 0278C15C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C15C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C160 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C164 */ return;
|
|
}
|
|
|
|
// fn_0278C11C @ 0x278c11c
|
|
void Gambit_fn_0278C11C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C11C: ; // 0x278c11c
|
|
/* 0278C11C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C11C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C11C */ cpu->r[1] = _t0;
|
|
/* 0278C120 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C120 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C124 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C128 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C12C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C130 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C134 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C138 */ Gambit_fn_0278BD58(cpu);
|
|
/* 0278C13C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C140 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C140 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C144 */ _t5 = cpu->r[12] + 0xFFFF85A0u;
|
|
/* 0278C144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C148 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C14C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C14C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C150 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C154 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C158 */ cpu->lr = cpu->r[0];
|
|
/* 0278C15C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C15C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C160 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C164 */ return;
|
|
}
|
|
|
|
// fn_0278C168 @ 0x278c168
|
|
void Gambit_fn_0278C168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C168: ; // 0x278c168
|
|
/* 0278C168 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C16C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C16C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C16C */ cpu->r[1] = _t0;
|
|
/* 0278C170 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C170 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C174 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C178 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C17C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C17C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C180 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C184 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C188 */ Gambit_fn_0278BDB0(cpu);
|
|
/* 0278C18C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C190 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C194 */ _t5 = cpu->r[12] + 0xFFFF80ECu;
|
|
/* 0278C194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C198 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C19C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C19C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C1A0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C1A4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C1A8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C1AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C1B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C1B4 */ return;
|
|
}
|
|
|
|
// fn_0278C16C @ 0x278c16c
|
|
void Gambit_fn_0278C16C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C16C: ; // 0x278c16c
|
|
/* 0278C16C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C16C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C16C */ cpu->r[1] = _t0;
|
|
/* 0278C170 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C170 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C174 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C178 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C17C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C17C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C180 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C184 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C188 */ Gambit_fn_0278BDB0(cpu);
|
|
/* 0278C18C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C190 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C194 */ _t5 = cpu->r[12] + 0xFFFF80ECu;
|
|
/* 0278C194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C198 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C19C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C19C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C1A0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C1A4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C1A8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C1AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C1B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C1B4 */ return;
|
|
}
|
|
|
|
// fn_0278C1B8 @ 0x278c1b8
|
|
void Gambit_fn_0278C1B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C1B8: ; // 0x278c1b8
|
|
/* 0278C1B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C1BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C1BC */ cpu->r[1] = _t0;
|
|
/* 0278C1C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C1C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C1CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C1D0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C1D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C1D8 */ Gambit_fn_0278BE08(cpu);
|
|
/* 0278C1DC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C1E0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C1E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C1E4 */ _t5 = cpu->r[12] + 0x00007B98u;
|
|
/* 0278C1E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C1E8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C1EC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C1EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C1F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C1F4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C1F8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C1FC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C200 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C204 */ return;
|
|
}
|
|
|
|
// fn_0278C1BC @ 0x278c1bc
|
|
void Gambit_fn_0278C1BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C1BC: ; // 0x278c1bc
|
|
/* 0278C1BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C1BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C1BC */ cpu->r[1] = _t0;
|
|
/* 0278C1C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C1C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C1CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C1D0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C1D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C1D8 */ Gambit_fn_0278BE08(cpu);
|
|
/* 0278C1DC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C1E0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C1E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C1E4 */ _t5 = cpu->r[12] + 0x00007B98u;
|
|
/* 0278C1E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C1E8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C1EC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C1EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C1F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C1F4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C1F8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C1FC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C1FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C200 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C204 */ return;
|
|
}
|
|
|
|
// fn_0278C208 @ 0x278c208
|
|
void Gambit_fn_0278C208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C208: ; // 0x278c208
|
|
/* 0278C208 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C20C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C20C */ cpu->r[1] = _t0;
|
|
/* 0278C210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C214 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C218 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C21C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C21C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C220 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C224 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C228 */ Gambit_fn_0278BE60(cpu);
|
|
/* 0278C22C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C230 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C230 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C234 */ _t5 = cpu->r[12] + 0x00005B58u;
|
|
/* 0278C234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C238 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C23C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C23C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C240 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C244 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C248 */ cpu->lr = cpu->r[0];
|
|
/* 0278C24C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C24C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C250 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C254 */ return;
|
|
}
|
|
|
|
// fn_0278C20C @ 0x278c20c
|
|
void Gambit_fn_0278C20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C20C: ; // 0x278c20c
|
|
/* 0278C20C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C20C */ cpu->r[1] = _t0;
|
|
/* 0278C210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C214 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C218 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C21C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C21C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C220 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C224 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C228 */ Gambit_fn_0278BE60(cpu);
|
|
/* 0278C22C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C230 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C230 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C234 */ _t5 = cpu->r[12] + 0x00005B58u;
|
|
/* 0278C234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C238 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C23C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C23C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C240 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C244 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C248 */ cpu->lr = cpu->r[0];
|
|
/* 0278C24C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C24C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C250 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C254 */ return;
|
|
}
|
|
|
|
// fn_0278C258 @ 0x278c258
|
|
void Gambit_fn_0278C258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C258: ; // 0x278c258
|
|
/* 0278C258 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C25C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C25C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C25C */ cpu->r[1] = _t0;
|
|
/* 0278C260 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C260 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C264 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C268 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C26C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C26C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C270 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C270 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C274 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C278 */ Gambit_fn_0278BEB8(cpu);
|
|
/* 0278C27C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C280 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C284 */ _t5 = cpu->r[12] + 0xFFFF8088u;
|
|
/* 0278C284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C288 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C28C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C28C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C290 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C294 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C298 */ cpu->lr = cpu->r[0];
|
|
/* 0278C29C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C2A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C2A4 */ return;
|
|
}
|
|
|
|
// fn_0278C25C @ 0x278c25c
|
|
void Gambit_fn_0278C25C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C25C: ; // 0x278c25c
|
|
/* 0278C25C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C25C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C25C */ cpu->r[1] = _t0;
|
|
/* 0278C260 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C260 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C264 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C268 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C26C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C26C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C270 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C270 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C274 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C278 */ Gambit_fn_0278BEB8(cpu);
|
|
/* 0278C27C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C280 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C284 */ _t5 = cpu->r[12] + 0xFFFF8088u;
|
|
/* 0278C284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C288 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C28C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C28C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C290 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C294 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C298 */ cpu->lr = cpu->r[0];
|
|
/* 0278C29C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C2A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C2A4 */ return;
|
|
}
|
|
|
|
// fn_0278C2A8 @ 0x278c2a8
|
|
void Gambit_fn_0278C2A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C2A8: ; // 0x278c2a8
|
|
/* 0278C2A8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C2AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C2AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C2AC */ cpu->r[1] = _t0;
|
|
/* 0278C2B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C2B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C2B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C2B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C2BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C2C0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C2C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C2C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C2C8 */ Gambit_fn_0278BF10(cpu);
|
|
/* 0278C2CC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C2D0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C2D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C2D4 */ _t5 = cpu->r[12] + 0x00005584u;
|
|
/* 0278C2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C2D8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C2DC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C2DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C2E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C2E4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C2EC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C2F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C2F4 */ return;
|
|
}
|
|
|
|
// fn_0278C2AC @ 0x278c2ac
|
|
void Gambit_fn_0278C2AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C2AC: ; // 0x278c2ac
|
|
/* 0278C2AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C2AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C2AC */ cpu->r[1] = _t0;
|
|
/* 0278C2B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C2B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C2B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C2B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C2BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C2C0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C2C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C2C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C2C8 */ Gambit_fn_0278BF10(cpu);
|
|
/* 0278C2CC */ cpu->r[12] = 0x101C0000u;
|
|
/* 0278C2D0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C2D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C2D4 */ _t5 = cpu->r[12] + 0x00005584u;
|
|
/* 0278C2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C2D8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C2DC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C2DC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C2E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C2E4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C2EC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C2EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C2F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C2F4 */ return;
|
|
}
|
|
|
|
// fn_0278C2F8 @ 0x278c2f8
|
|
void Gambit_fn_0278C2F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C2F8: ; // 0x278c2f8
|
|
/* 0278C2F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C2FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C2FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C2FC */ cpu->r[1] = _t0;
|
|
/* 0278C300 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C300 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C304 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C308 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C30C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C30C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C310 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C314 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C318 */ Gambit_fn_0278BF68(cpu);
|
|
/* 0278C31C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C320 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C324 */ _t5 = cpu->r[12] + 0xFFFF8050u;
|
|
/* 0278C324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C328 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C32C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C32C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C330 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C334 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C338 */ cpu->lr = cpu->r[0];
|
|
/* 0278C33C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C344 */ return;
|
|
}
|
|
|
|
// fn_0278C2FC @ 0x278c2fc
|
|
void Gambit_fn_0278C2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C2FC: ; // 0x278c2fc
|
|
/* 0278C2FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C2FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C2FC */ cpu->r[1] = _t0;
|
|
/* 0278C300 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C300 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C304 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C308 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C30C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C30C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C310 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C314 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C318 */ Gambit_fn_0278BF68(cpu);
|
|
/* 0278C31C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C320 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C324 */ _t5 = cpu->r[12] + 0xFFFF8050u;
|
|
/* 0278C324 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C328 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C32C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C32C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C330 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C334 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C338 */ cpu->lr = cpu->r[0];
|
|
/* 0278C33C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C344 */ return;
|
|
}
|
|
|
|
// fn_0278C348 @ 0x278c348
|
|
void Gambit_fn_0278C348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C348: ; // 0x278c348
|
|
/* 0278C348 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C34C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C34C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C34C */ cpu->r[1] = _t0;
|
|
/* 0278C350 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C350 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C354 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C358 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C35C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C35C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C360 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C364 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C368 */ Gambit_fn_0278BFC0(cpu);
|
|
/* 0278C36C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C370 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C374 */ _t5 = cpu->r[12] + 0xFFFF8128u;
|
|
/* 0278C374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C378 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C37C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C37C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C380 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C384 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C388 */ cpu->lr = cpu->r[0];
|
|
/* 0278C38C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C394 */ return;
|
|
}
|
|
|
|
// fn_0278C34C @ 0x278c34c
|
|
void Gambit_fn_0278C34C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C34C: ; // 0x278c34c
|
|
/* 0278C34C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C34C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C34C */ cpu->r[1] = _t0;
|
|
/* 0278C350 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C350 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C354 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C358 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C35C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C35C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C360 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C364 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C368 */ Gambit_fn_0278BFC0(cpu);
|
|
/* 0278C36C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C370 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C374 */ _t5 = cpu->r[12] + 0xFFFF8128u;
|
|
/* 0278C374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C378 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C37C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C37C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C380 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C384 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C388 */ cpu->lr = cpu->r[0];
|
|
/* 0278C38C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C394 */ return;
|
|
}
|
|
|
|
// fn_0278C398 @ 0x278c398
|
|
void Gambit_fn_0278C398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C398: ; // 0x278c398
|
|
/* 0278C398 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C39C */ cpu->r[1] = _t0;
|
|
/* 0278C3A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C3A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C3A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C3AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C3B0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C3B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C3B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C3B8 */ Gambit_fn_0278C018(cpu);
|
|
/* 0278C3BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C3C0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C3C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C3C4 */ _t5 = cpu->r[12] + 0xFFFF8064u;
|
|
/* 0278C3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C3C8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C3CC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C3CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C3D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C3D4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C3D8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C3DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C3E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C3E4 */ return;
|
|
}
|
|
|
|
// fn_0278C39C @ 0x278c39c
|
|
void Gambit_fn_0278C39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C39C: ; // 0x278c39c
|
|
/* 0278C39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C39C */ cpu->r[1] = _t0;
|
|
/* 0278C3A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C3A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C3A8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C3AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C3B0 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C3B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C3B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C3B8 */ Gambit_fn_0278C018(cpu);
|
|
/* 0278C3BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C3C0 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C3C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C3C4 */ _t5 = cpu->r[12] + 0xFFFF8064u;
|
|
/* 0278C3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C3C8 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C3CC */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C3CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C3D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C3D4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C3D8 */ cpu->lr = cpu->r[0];
|
|
/* 0278C3DC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C3E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C3E4 */ return;
|
|
}
|
|
|
|
// fn_0278C3E8 @ 0x278c3e8
|
|
void Gambit_fn_0278C3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C3E8: ; // 0x278c3e8
|
|
/* 0278C3E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C3EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C3EC */ cpu->r[1] = _t0;
|
|
/* 0278C3F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C3F8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C3FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C400 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C404 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C408 */ Gambit_fn_0278C070(cpu);
|
|
/* 0278C40C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C410 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C414 */ _t5 = cpu->r[12] + 0xFFFF80D8u;
|
|
/* 0278C414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C418 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C41C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C41C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C420 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C424 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C428 */ cpu->lr = cpu->r[0];
|
|
/* 0278C42C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C42C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C434 */ return;
|
|
}
|
|
|
|
// fn_0278C3EC @ 0x278c3ec
|
|
void Gambit_fn_0278C3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0278C3EC: ; // 0x278c3ec
|
|
/* 0278C3EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C3EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C3EC */ cpu->r[1] = _t0;
|
|
/* 0278C3F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C3F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C3F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C3F8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278C3FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C400 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C404 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C408 */ Gambit_fn_0278C070(cpu);
|
|
/* 0278C40C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278C410 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0278C410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278C414 */ _t5 = cpu->r[12] + 0xFFFF80D8u;
|
|
/* 0278C414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278C418 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0278C41C */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0278C41C */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0278C420 */ Gambit_fn_027910F0(cpu);
|
|
/* 0278C424 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C428 */ cpu->lr = cpu->r[0];
|
|
/* 0278C42C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C42C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C430 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C434 */ return;
|
|
}
|
|
|
|
// fn_0278C438 @ 0x278c438
|
|
void Gambit_fn_0278C438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278C438: ; // 0x278c438
|
|
/* 0278C438 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0278C43C */ goto L_0278C454;
|
|
L_0278C454: ; // 0x278c454
|
|
/* 0278C454 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C458 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C458 */ cpu->r[1] = _t0;
|
|
/* 0278C45C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C45C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C460 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C460 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278C464 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278C464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278C468 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278C46C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C46C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C470 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C470 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C470 */ if (_t5) goto L_0278C4B4; else goto L_0278C474;
|
|
L_0278C474: ; // 0x278c474
|
|
/* 0278C474 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278C478 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278C47C */ cpu->r[0] = cpu->r[0] + 0x00006488u;
|
|
/* 0278C480 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278C484 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278C484 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278C488 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278C48C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278C490 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278C494 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278C498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C49C */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C4A0 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278C4A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C4A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278C4A8 */ if (_t8) goto L_0278C4B4; else goto L_0278C4AC;
|
|
L_0278C4AC: ; // 0x278c4ac
|
|
/* 0278C4AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C4B0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C4B4: ; // 0x278c4b4
|
|
/* 0278C4B4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C4B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C4B8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C4B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C4BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C4C0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C4C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C4C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C4C8 */ return;
|
|
}
|
|
|
|
// fn_0278C440 @ 0x278c440
|
|
void Gambit_fn_0278C440(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_0278C440: ; // 0x278c440
|
|
/* 0278C440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C444 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C444 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C444 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C444 */ goto L_0278C448;
|
|
L_0278C448: ; // 0x278c448
|
|
/* 0278C448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C44C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C44C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C44C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C44C */ goto L_0278C450;
|
|
L_0278C450: ; // 0x278c450
|
|
/* 0278C450 */ 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_0278C458 @ 0x278c458
|
|
void Gambit_fn_0278C458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278C458: ; // 0x278c458
|
|
/* 0278C458 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C458 */ cpu->r[1] = _t0;
|
|
/* 0278C45C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C45C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C460 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C460 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278C464 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278C464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278C468 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278C46C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C46C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C470 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C470 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C470 */ if (_t5) goto L_0278C4B4; else goto L_0278C474;
|
|
L_0278C474: ; // 0x278c474
|
|
/* 0278C474 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278C478 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0278C47C */ cpu->r[0] = cpu->r[0] + 0x00006488u;
|
|
/* 0278C480 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278C484 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0278C484 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278C488 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278C48C */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0278C490 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278C494 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278C498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C49C */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C4A0 */ Gambit_fn_028136EC(cpu);
|
|
/* 0278C4A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C4A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278C4A8 */ if (_t8) goto L_0278C4B4; else goto L_0278C4AC;
|
|
L_0278C4AC: ; // 0x278c4ac
|
|
/* 0278C4AC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C4B0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C4B4: ; // 0x278c4b4
|
|
/* 0278C4B4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C4B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C4B8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C4B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C4BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C4C0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C4C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C4C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C4C8 */ return;
|
|
}
|
|
|
|
// fn_0278C4CC @ 0x278c4cc
|
|
void Gambit_fn_0278C4CC(CPUState* cpu) {
|
|
L_0278C4CC: ; // 0x278c4cc
|
|
/* 0278C4CC */ return;
|
|
}
|
|
|
|
// fn_0278C4D0 @ 0x278c4d0
|
|
void Gambit_fn_0278C4D0(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_0278C4D0: ; // 0x278c4d0
|
|
/* 0278C4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C4D4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C4D4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C4D4 */ goto L_0278C4D8;
|
|
L_0278C4D8: ; // 0x278c4d8
|
|
/* 0278C4D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C4DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C4DC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C4DC */ goto L_0278C4E0;
|
|
L_0278C4E0: ; // 0x278c4e0
|
|
/* 0278C4E0 */ 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_0278C4E4 @ 0x278c4e4
|
|
void Gambit_fn_0278C4E4(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_0278C4E4: ; // 0x278c4e4
|
|
/* 0278C4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C4E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C4E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C4E8 */ goto L_0278C4EC;
|
|
L_0278C4EC: ; // 0x278c4ec
|
|
/* 0278C4EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C4F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C4F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C4F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C4F0 */ goto L_0278C4F4;
|
|
L_0278C4F4: ; // 0x278c4f4
|
|
/* 0278C4F4 */ 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_0278C4F8 @ 0x278c4f8
|
|
void Gambit_fn_0278C4F8(CPUState* cpu) {
|
|
L_0278C4F8: ; // 0x278c4f8
|
|
/* 0278C4F8 */ return;
|
|
}
|
|
|
|
// fn_0278C4FC @ 0x278c4fc
|
|
void Gambit_fn_0278C4FC(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_0278C4FC: ; // 0x278c4fc
|
|
/* 0278C4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C500 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C500 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C500 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C500 */ goto L_0278C504;
|
|
L_0278C504: ; // 0x278c504
|
|
/* 0278C504 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C508 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C508 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C508 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C508 */ goto L_0278C50C;
|
|
L_0278C50C: ; // 0x278c50c
|
|
/* 0278C50C */ 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_0278C510 @ 0x278c510
|
|
void Gambit_fn_0278C510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0278C510: ; // 0x278c510
|
|
/* 0278C510 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0278C510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278C514 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0278C514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278C518 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0278C51C */ cpu->r[11] = 0x10110000u;
|
|
/* 0278C520 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0278C520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278C524 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278C524 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0278C528 */ return;
|
|
}
|
|
|
|
// fn_0278C52C @ 0x278c52c
|
|
void Gambit_fn_0278C52C(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_0278C52C: ; // 0x278c52c
|
|
/* 0278C52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C530 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C530 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C530 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C530 */ goto L_0278C534;
|
|
L_0278C534: ; // 0x278c534
|
|
/* 0278C534 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C538 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C538 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C538 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C538 */ goto L_0278C53C;
|
|
L_0278C53C: ; // 0x278c53c
|
|
/* 0278C53C */ 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_0278C540 @ 0x278c540
|
|
void Gambit_fn_0278C540(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_0278C540: ; // 0x278c540
|
|
/* 0278C540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C544 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C544 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C544 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C544 */ goto L_0278C548;
|
|
L_0278C548: ; // 0x278c548
|
|
/* 0278C548 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C54C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C54C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C54C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C54C */ goto L_0278C550;
|
|
L_0278C550: ; // 0x278c550
|
|
/* 0278C550 */ 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_0278C554 @ 0x278c554
|
|
void Gambit_fn_0278C554(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_0278C554: ; // 0x278c554
|
|
/* 0278C554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C558 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C558 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278C558 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C558 */ goto L_0278C55C;
|
|
L_0278C55C: ; // 0x278c55c
|
|
/* 0278C55C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C560 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C560 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278C560 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278C560 */ goto L_0278C564;
|
|
L_0278C564: ; // 0x278c564
|
|
/* 0278C564 */ 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_0278C568 @ 0x278c568
|
|
void Gambit_fn_0278C568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0278C568: ; // 0x278c568
|
|
/* 0278C568 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C56C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0278C56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C56C */ cpu->r[1] = _t0;
|
|
/* 0278C570 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C574 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C578 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278C57C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C57C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0278C580 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0278C580 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278C584 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C588 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278C588 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278C58C */ Gambit_fn_0284CDD8(cpu);
|
|
/* 0278C590 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278C594 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C594 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0278C598 */ cpu->r[30] = 0x00050000u;
|
|
/* 0278C59C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C59C */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 0278C5A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFE200u;
|
|
/* 0278C5A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278C5A8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C5A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0278C5AC */ Gambit_fn_0284CF20(cpu);
|
|
/* 0278C5B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278C5B4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0278C5B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0278C5B8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C5BC */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C5C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0278C5C4 */ Gambit_fn_0284CFBC(cpu);
|
|
/* 0278C5C8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C5C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C5CC */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278C5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278C5D0 */ _t13 = cpu->r[1] + 0x00000020u;
|
|
/* 0278C5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278C5D4 */ cpu->lr = cpu->r[0];
|
|
/* 0278C5D8 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278C5DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278C5E0 */ return;
|
|
}
|
|
|
|
// fn_0278C56C @ 0x278c56c
|
|
void Gambit_fn_0278C56C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0278C56C: ; // 0x278c56c
|
|
/* 0278C56C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0278C56C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C56C */ cpu->r[1] = _t0;
|
|
/* 0278C570 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C570 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C574 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C578 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278C57C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C57C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0278C580 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0278C580 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278C584 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C588 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278C588 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278C58C */ Gambit_fn_0284CDD8(cpu);
|
|
/* 0278C590 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278C594 */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C594 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0278C598 */ cpu->r[30] = 0x00050000u;
|
|
/* 0278C59C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C59C */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 0278C5A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFE200u;
|
|
/* 0278C5A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278C5A8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C5A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0278C5AC */ Gambit_fn_0284CF20(cpu);
|
|
/* 0278C5B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278C5B4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0278C5B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0278C5B8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C5BC */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C5C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 0278C5C4 */ Gambit_fn_0284CFBC(cpu);
|
|
/* 0278C5C8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C5C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C5CC */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278C5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278C5D0 */ _t13 = cpu->r[1] + 0x00000020u;
|
|
/* 0278C5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278C5D4 */ cpu->lr = cpu->r[0];
|
|
/* 0278C5D8 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278C5DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278C5E0 */ return;
|
|
}
|
|
|
|
// fn_0278C5E4 @ 0x278c5e4
|
|
void Gambit_fn_0278C5E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278C5E4: ; // 0x278c5e4
|
|
/* 0278C5E4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C5E8 */ cpu->r[1] = _t0;
|
|
/* 0278C5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C5F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C5F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C5F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C5F8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C5F8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C5F8 */ if (_t4) goto L_0278C5FC; else goto L_0278C60C;
|
|
L_0278C5FC: ; // 0x278c5fc
|
|
/* 0278C5FC */ cpu->r[3] = 0x00000034u;
|
|
/* 0278C600 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C604 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C608 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C608 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278C608 */ if (_t6) goto L_0278C630; else goto L_0278C60C;
|
|
L_0278C60C: ; // 0x278c60c
|
|
/* 0278C60C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C610 */ Gambit_fn_0284C0BC(cpu);
|
|
/* 0278C614 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278C618 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278C61C */ cpu->r[12] = cpu->r[12] + 0x0000659Cu;
|
|
/* 0278C620 */ _t7 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C620 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278C624 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C628 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278C628 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0278C62C */ Gambit_fn_0278C568(cpu);
|
|
L_0278C630: ; // 0x278c630
|
|
/* 0278C630 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C634 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C638 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C63C */ cpu->lr = cpu->r[0];
|
|
/* 0278C640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C644 */ return;
|
|
}
|
|
|
|
// fn_0278C5E8 @ 0x278c5e8
|
|
void Gambit_fn_0278C5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278C5E8: ; // 0x278c5e8
|
|
/* 0278C5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C5E8 */ cpu->r[1] = _t0;
|
|
/* 0278C5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C5F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C5F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C5F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C5F8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C5F8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C5F8 */ if (_t4) goto L_0278C5FC; else goto L_0278C60C;
|
|
L_0278C5FC: ; // 0x278c5fc
|
|
/* 0278C5FC */ cpu->r[3] = 0x00000034u;
|
|
/* 0278C600 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C604 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C608 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C608 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278C608 */ if (_t6) goto L_0278C630; else goto L_0278C60C;
|
|
L_0278C60C: ; // 0x278c60c
|
|
/* 0278C60C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C610 */ Gambit_fn_0284C0BC(cpu);
|
|
/* 0278C614 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278C618 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278C61C */ cpu->r[12] = cpu->r[12] + 0x0000659Cu;
|
|
/* 0278C620 */ _t7 = cpu->r[31] + 0x00000030u;
|
|
/* 0278C620 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278C624 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C628 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278C628 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0278C62C */ Gambit_fn_0278C568(cpu);
|
|
L_0278C630: ; // 0x278c630
|
|
/* 0278C630 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C634 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C638 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C63C */ cpu->lr = cpu->r[0];
|
|
/* 0278C640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C644 */ return;
|
|
}
|
|
|
|
// fn_0278C648 @ 0x278c648
|
|
void Gambit_fn_0278C648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0278C648: ; // 0x278c648
|
|
/* 0278C648 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C64C */ cpu->r[1] = _t0;
|
|
/* 0278C650 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C650 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C654 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C654 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278C658 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278C65C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278C660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C664 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C664 */ if (_t5) goto L_0278C6B8; else goto L_0278C668;
|
|
L_0278C668: ; // 0x278c668
|
|
/* 0278C668 */ _t6 = cpu->r[30] + 0x00000030u;
|
|
/* 0278C668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278C66C */ cpu->r[9] = 0x10100000u;
|
|
/* 0278C670 */ cpu->r[9] = cpu->r[9] + 0x0000659Cu;
|
|
/* 0278C674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C678 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0278C678 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0278C67C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C67C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278C67C */ if (_t9) goto L_0278C69C; else goto L_0278C680;
|
|
L_0278C680: ; // 0x278c680
|
|
/* 0278C680 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0278C680 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C684 */ _t11 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0278C684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C688 */ cpu->ctr = cpu->r[0];
|
|
/* 0278C68C */ cpu->r[4] = 0x00000003u;
|
|
/* 0278C690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C694 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278C698 */ _t12 = cpu->r[30] + 0x00000030u;
|
|
/* 0278C698 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_0278C69C: ; // 0x278c69c
|
|
/* 0278C69C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C6A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C6A4 */ Gambit_fn_0284C350(cpu);
|
|
/* 0278C6A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C6AC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C6AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278C6AC */ if (_t14) goto L_0278C6B8; else goto L_0278C6B0;
|
|
L_0278C6B0: ; // 0x278c6b0
|
|
/* 0278C6B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C6B4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C6B8: ; // 0x278c6b8
|
|
/* 0278C6B8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278C6BC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C6BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278C6C0 */ cpu->lr = cpu->r[0];
|
|
/* 0278C6C4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C6C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278C6C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C6CC */ return;
|
|
}
|
|
|
|
// fn_0278C64C @ 0x278c64c
|
|
void Gambit_fn_0278C64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0278C64C: ; // 0x278c64c
|
|
/* 0278C64C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C64C */ cpu->r[1] = _t0;
|
|
/* 0278C650 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C650 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C654 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C654 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278C658 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278C65C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278C660 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C660 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C664 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C664 */ if (_t5) goto L_0278C6B8; else goto L_0278C668;
|
|
L_0278C668: ; // 0x278c668
|
|
/* 0278C668 */ _t6 = cpu->r[30] + 0x00000030u;
|
|
/* 0278C668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278C66C */ cpu->r[9] = 0x10100000u;
|
|
/* 0278C670 */ cpu->r[9] = cpu->r[9] + 0x0000659Cu;
|
|
/* 0278C674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C678 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0278C678 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0278C67C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C67C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278C67C */ if (_t9) goto L_0278C69C; else goto L_0278C680;
|
|
L_0278C680: ; // 0x278c680
|
|
/* 0278C680 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0278C680 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C684 */ _t11 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0278C684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C688 */ cpu->ctr = cpu->r[0];
|
|
/* 0278C68C */ cpu->r[4] = 0x00000003u;
|
|
/* 0278C690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C694 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278C698 */ _t12 = cpu->r[30] + 0x00000030u;
|
|
/* 0278C698 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_0278C69C: ; // 0x278c69c
|
|
/* 0278C69C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C6A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C6A4 */ Gambit_fn_0284C350(cpu);
|
|
/* 0278C6A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C6AC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C6AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278C6AC */ if (_t14) goto L_0278C6B8; else goto L_0278C6B0;
|
|
L_0278C6B0: ; // 0x278c6b0
|
|
/* 0278C6B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C6B4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C6B8: ; // 0x278c6b8
|
|
/* 0278C6B8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278C6BC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C6BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278C6C0 */ cpu->lr = cpu->r[0];
|
|
/* 0278C6C4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C6C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278C6C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C6CC */ return;
|
|
}
|
|
|
|
// fn_0278C6D0 @ 0x278c6d0
|
|
void Gambit_fn_0278C6D0(CPUState* cpu) {
|
|
L_0278C6D0: ; // 0x278c6d0
|
|
/* 0278C6D0 */ return;
|
|
}
|
|
|
|
// fn_0278C6D4 @ 0x278c6d4
|
|
void Gambit_fn_0278C6D4(CPUState* cpu) {
|
|
L_0278C6D4: ; // 0x278c6d4
|
|
/* 0278C6D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C6D8 */ return;
|
|
}
|
|
|
|
// fn_0278C6DC @ 0x278c6dc
|
|
void Gambit_fn_0278C6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278C6DC: ; // 0x278c6dc
|
|
/* 0278C6DC */ cpu->r[0] = cpu->lr;
|
|
/* 0278C6E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C6E0 */ cpu->r[1] = _t0;
|
|
/* 0278C6E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C6E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C6EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C6EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C6F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C6F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C6F0 */ if (_t4) goto L_0278C6F4; else goto L_0278C704;
|
|
L_0278C6F4: ; // 0x278c6f4
|
|
/* 0278C6F4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278C6F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C6FC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C700 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C700 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278C700 */ if (_t6) goto L_0278C728; else goto L_0278C704;
|
|
L_0278C704: ; // 0x278c704
|
|
/* 0278C704 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278C708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C70C */ Gambit_fn_0284ADA0(cpu);
|
|
/* 0278C710 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278C714 */ cpu->r[12] = 0x00000000u;
|
|
/* 0278C718 */ cpu->r[11] = cpu->r[11] + 0x0000664Cu;
|
|
/* 0278C71C */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 0278C71C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278C720 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278C720 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0278C724 */ _t9 = cpu->r[31] + 0x00000024u;
|
|
/* 0278C724 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_0278C728: ; // 0x278c728
|
|
/* 0278C728 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C72C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C730 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C734 */ cpu->lr = cpu->r[0];
|
|
/* 0278C738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C73C */ return;
|
|
}
|
|
|
|
// fn_0278C6E0 @ 0x278c6e0
|
|
void Gambit_fn_0278C6E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278C6E0: ; // 0x278c6e0
|
|
/* 0278C6E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C6E0 */ cpu->r[1] = _t0;
|
|
/* 0278C6E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278C6E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C6EC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C6EC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278C6F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C6F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C6F0 */ if (_t4) goto L_0278C6F4; else goto L_0278C704;
|
|
L_0278C6F4: ; // 0x278c6f4
|
|
/* 0278C6F4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278C6F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C6FC */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C700 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C700 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278C700 */ if (_t6) goto L_0278C728; else goto L_0278C704;
|
|
L_0278C704: ; // 0x278c704
|
|
/* 0278C704 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278C708 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C70C */ Gambit_fn_0284ADA0(cpu);
|
|
/* 0278C710 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278C714 */ cpu->r[12] = 0x00000000u;
|
|
/* 0278C718 */ cpu->r[11] = cpu->r[11] + 0x0000664Cu;
|
|
/* 0278C71C */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 0278C71C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278C720 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278C720 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0278C724 */ _t9 = cpu->r[31] + 0x00000024u;
|
|
/* 0278C724 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
L_0278C728: ; // 0x278c728
|
|
/* 0278C728 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C72C */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C730 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C734 */ cpu->lr = cpu->r[0];
|
|
/* 0278C738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C73C */ return;
|
|
}
|
|
|
|
// fn_0278C740 @ 0x278c740
|
|
void Gambit_fn_0278C740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278C740: ; // 0x278c740
|
|
/* 0278C740 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C744 */ cpu->r[1] = _t0;
|
|
/* 0278C748 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C748 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278C74C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C74C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278C750 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C754 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278C758 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C758 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C75C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C75C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C75C */ if (_t5) goto L_0278C77C; else goto L_0278C760;
|
|
L_0278C760: ; // 0x278c760
|
|
/* 0278C760 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C764 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C768 */ Gambit_fn_0284AF64(cpu);
|
|
/* 0278C76C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C770 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C770 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C770 */ if (_t7) goto L_0278C77C; else goto L_0278C774;
|
|
L_0278C774: ; // 0x278c774
|
|
/* 0278C774 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C778 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C77C: ; // 0x278c77c
|
|
/* 0278C77C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C780 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C784 */ cpu->lr = cpu->r[0];
|
|
/* 0278C788 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C790 */ return;
|
|
}
|
|
|
|
// fn_0278C744 @ 0x278c744
|
|
void Gambit_fn_0278C744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278C744: ; // 0x278c744
|
|
/* 0278C744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278C744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C744 */ cpu->r[1] = _t0;
|
|
/* 0278C748 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C748 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278C74C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C74C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278C750 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C754 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278C758 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C758 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278C75C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C75C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C75C */ if (_t5) goto L_0278C77C; else goto L_0278C760;
|
|
L_0278C760: ; // 0x278c760
|
|
/* 0278C760 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C764 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278C768 */ Gambit_fn_0284AF64(cpu);
|
|
/* 0278C76C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C770 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C770 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C770 */ if (_t7) goto L_0278C77C; else goto L_0278C774;
|
|
L_0278C774: ; // 0x278c774
|
|
/* 0278C774 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278C778 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278C77C: ; // 0x278c77c
|
|
/* 0278C77C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C780 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278C784 */ cpu->lr = cpu->r[0];
|
|
/* 0278C788 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C78C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278C790 */ return;
|
|
}
|
|
|
|
// fn_0278C794 @ 0x278c794
|
|
void Gambit_fn_0278C794(CPUState* cpu) {
|
|
L_0278C794: ; // 0x278c794
|
|
/* 0278C794 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C798 */ return;
|
|
}
|
|
|
|
// fn_0278C79C @ 0x278c79c
|
|
void Gambit_fn_0278C79C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0278C79C: ; // 0x278c79c
|
|
/* 0278C79C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0278C79C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C79C */ cpu->r[1] = _t0;
|
|
/* 0278C7A0 */ /* nop */
|
|
/* 0278C7A4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C7A8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C7A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278C7AC */ cpu->r[29] = cpu->r[5];
|
|
/* 0278C7B0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0278C7B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278C7B4 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278C7B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278C7B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278C7BC */ cpu->r[27] = cpu->r[30] + cpu->r[0];
|
|
/* 0278C7C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
|
|
/* 0278C7C4 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278C7C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C7C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278C7C8 */ if (_t5) goto L_0278C870; else goto L_0278C7CC;
|
|
L_0278C7CC: ; // 0x278c7cc
|
|
/* 0278C7CC */ cpu->r[31] = 0x00000000u;
|
|
/* 0278C7D0 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0278C7D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278C7D4 */ goto L_0278C844;
|
|
L_0278C7D8: ; // 0x278c7d8
|
|
/* 0278C7D8 */ _t7 = cpu->r[12] + 0x00000010u;
|
|
/* 0278C7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278C7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0278C7E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C7E4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C7E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278C7E4 */ if (_t9) goto L_0278C7E8; else goto L_0278C7F4;
|
|
L_0278C7E8: ; // 0x278c7e8
|
|
/* 0278C7E8 */ _t10 = cpu->r[12] + 0x00000018u;
|
|
/* 0278C7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278C7EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278C7F0 */ _t11 = cpu->r[9] + cpu->r[0];
|
|
/* 0278C7F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
L_0278C7F4: ; // 0x278c7f4
|
|
/* 0278C7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C7F8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C7F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278C7F8 */ if (_t13) goto L_0278C840; else goto L_0278C7FC;
|
|
L_0278C7FC: ; // 0x278c7fc
|
|
/* 0278C7FC */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0278C7FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278C800 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0278C800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278C804 */ cpu->ctr = cpu->r[7];
|
|
/* 0278C808 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278C80C */ cpu->r[5] = cpu->r[29];
|
|
/* 0278C810 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278C818 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C818 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278C818 */ if (_t17) goto L_0278C81C; else goto L_0278C828;
|
|
L_0278C81C: ; // 0x278c81c
|
|
/* 0278C81C */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 0278C81C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278C820 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0278C824 */ goto L_0278C844;
|
|
L_0278C828: ; // 0x278c828
|
|
/* 0278C828 */ /* nop */
|
|
/* 0278C82C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C82C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278C830 */ cpu->lr = cpu->r[0];
|
|
/* 0278C834 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0278C838 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278C83C */ return;
|
|
L_0278C840: ; // 0x278c840
|
|
/* 0278C840 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_0278C844: ; // 0x278c844
|
|
/* 0278C844 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0278C844 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0278C848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C84C */ cpu->r[0] = 0x00000000u;
|
|
/* 0278C850 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C850 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278C850 */ if (_t22) goto L_0278C85C; else goto L_0278C854;
|
|
L_0278C854: ; // 0x278c854
|
|
/* 0278C854 */ _t23 = cpu->r[12] + 0x00000008u;
|
|
/* 0278C854 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278C858 */ _t24 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0278C858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
L_0278C85C: ; // 0x278c85c
|
|
/* 0278C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0278C860 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C860 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278C860 */ if (_t26) goto L_0278C7D8; else goto L_0278C864;
|
|
L_0278C864: ; // 0x278c864
|
|
/* 0278C864 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0278C868 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[27]);
|
|
/* 0278C86C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C86C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278C86C */ if (_t28) goto L_0278C870; else goto L_0278C7CC;
|
|
L_0278C870: ; // 0x278c870
|
|
/* 0278C870 */ /* nop */
|
|
/* 0278C874 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 0278C874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278C878 */ cpu->lr = cpu->r[0];
|
|
/* 0278C87C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0278C880 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C884 */ return;
|
|
}
|
|
|
|
// fn_0278C888 @ 0x278c888
|
|
void Gambit_fn_0278C888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_0278C888: ; // 0x278c888
|
|
/* 0278C888 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0278C888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C888 */ cpu->r[1] = _t0;
|
|
/* 0278C88C */ /* nop */
|
|
/* 0278C890 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C894 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C894 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278C898 */ cpu->r[26] = cpu->r[3];
|
|
/* 0278C89C */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 0278C89C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278C8A0 */ cpu->r[25] = 0x00000000u;
|
|
/* 0278C8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C8A8 */ cpu->r[27] = cpu->r[4];
|
|
/* 0278C8AC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C8AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C8AC */ if (_t4) goto L_0278C8B0; else goto L_0278C9B4;
|
|
L_0278C8B0: ; // 0x278c8b0
|
|
/* 0278C8B0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278C8B4 */ cpu->r[29] = 0x00080000u;
|
|
/* 0278C8B8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0278C8BC */ cpu->r[24] = 0x10100000u;
|
|
/* 0278C8C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278C8C4 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0278C8C4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278C8C8 */ cpu->r[24] = cpu->r[24] + 0x000066ECu;
|
|
L_0278C8CC: ; // 0x278c8cc
|
|
/* 0278C8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C8D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278C8D4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C8D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C8D4 */ if (_t7) goto L_0278C8D8; else goto L_0278C8E0;
|
|
L_0278C8D8: ; // 0x278c8d8
|
|
/* 0278C8D8 */ _t8 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278C8D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C8DC */ _t9 = cpu->r[7] + cpu->r[28];
|
|
/* 0278C8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
L_0278C8E0: ; // 0x278c8e0
|
|
/* 0278C8E0 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0278C8E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278C8E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278C8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C8EC */ _t11 = cpu->r[27] + 0x00000004u;
|
|
/* 0278C8EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C8F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C8F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278C8F0 */ if (_t13) goto L_0278C904; else goto L_0278C8F4;
|
|
L_0278C8F4: ; // 0x278c8f4
|
|
/* 0278C8F4 */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 0278C8F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278C8F8 */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278C8F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278C8FC */ _t16 = cpu->r[10] + 0x00000008u;
|
|
/* 0278C8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278C900 */ cpu->r[6] = cpu->r[9] + cpu->r[0];
|
|
L_0278C904: ; // 0x278c904
|
|
/* 0278C904 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C904 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 0278C908 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C908 */ rbrew_write32(cpu->mem, _t18, cpu->r[24]);
|
|
/* 0278C90C */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0278C90C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278C910 */ cpu->ctr = cpu->r[5];
|
|
/* 0278C914 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278C918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C91C */ _t20 = cpu->r[27] + 0x00000004u;
|
|
/* 0278C91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278C920 */ _t21 = cpu->r[4] + 0x00000014u;
|
|
/* 0278C920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278C924 */ cpu->ctr = cpu->r[6];
|
|
/* 0278C928 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278C92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C930 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C930 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278C934 */ _t23 = cpu->r[7] + 0x00000014u;
|
|
/* 0278C934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278C938 */ cpu->ctr = cpu->r[8];
|
|
/* 0278C93C */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 0278C93C */ cpu->r[23] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278C940 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278C944 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C948 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278C94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[9]);
|
|
/* 0278C950 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C950 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278C950 */ if (_t27) goto L_0278C988; else goto L_0278C954;
|
|
L_0278C954: ; // 0x278c954
|
|
/* 0278C954 */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 0278C954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278C958 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278C95C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278C960 */ cpu->ctr = cpu->r[29];
|
|
/* 0278C964 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0278C968: ; // 0x278c968
|
|
/* 0278C968 */ _t30 = cpu->r[12] + 0x00000001u;
|
|
/* 0278C968 */ cpu->r[4] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278C968 */ cpu->r[12] = _t30;
|
|
/* 0278C96C */ _t31 = cpu->r[11] + 0x00000001u;
|
|
/* 0278C96C */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0278C96C */ cpu->r[11] = _t31;
|
|
/* 0278C970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0278C974 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C974 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278C974 */ if (_t33) goto L_0278C978; else goto L_0278C9A0;
|
|
L_0278C978: ; // 0x278c978
|
|
/* 0278C978 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0278C97C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C97C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0278C97C */ if (_t35) goto L_0278C988; else goto L_0278C980;
|
|
L_0278C980: ; // 0x278c980
|
|
/* 0278C980 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278C980 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278C980 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 0278C980 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0278C980 */ if (_t38) goto L_0278C968; else goto L_0278C984;
|
|
L_0278C984: ; // 0x278c984
|
|
/* 0278C984 */ goto L_0278C9A0;
|
|
L_0278C988: ; // 0x278c988
|
|
/* 0278C988 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C98C */ /* nop */
|
|
/* 0278C990 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278C994 */ cpu->lr = cpu->r[0];
|
|
/* 0278C998 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278C99C */ return;
|
|
L_0278C9A0: ; // 0x278c9a0
|
|
/* 0278C9A0 */ _t40 = cpu->r[26] + 0x00000004u;
|
|
/* 0278C9A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278C9A4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0278C9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C9AC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0278C9B0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C9B0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278C9B0 */ if (_t42) goto L_0278C8CC; else goto L_0278C9B4;
|
|
L_0278C9B4: ; // 0x278c9b4
|
|
/* 0278C9B4 */ /* nop */
|
|
/* 0278C9B8 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278C9BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C9C0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278C9C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C9C8 */ return;
|
|
}
|
|
|
|
// fn_0278C9CC @ 0x278c9cc
|
|
void Gambit_fn_0278C9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0278C9CC: ; // 0x278c9cc
|
|
/* 0278C9CC */ cpu->r[0] = cpu->lr;
|
|
/* 0278C9D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278C9D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C9D0 */ cpu->r[1] = _t0;
|
|
/* 0278C9D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C9D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278C9D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C9D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278C9DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C9DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0278C9E0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0278C9E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0278C9E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C9E8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C9E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278C9EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C9EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C9EC */ if (_t7) goto L_0278C9F0; else goto L_0278CA00;
|
|
L_0278C9F0: ; // 0x278c9f0
|
|
/* 0278C9F0 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 0278C9F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C9F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C9FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C9FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278C9FC */ if (_t9) goto L_0278CAD0; else goto L_0278CA00;
|
|
L_0278CA00: ; // 0x278ca00
|
|
/* 0278CA00 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278CA04 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278CA08 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0278CA0C */ cpu->r[12] = cpu->r[12] + 0x0000682Cu;
|
|
/* 0278CA10 */ cpu->r[6] = cpu->r[6] + 0xFFFFDE88u;
|
|
/* 0278CA14 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278CA18 */ cpu->r[5] = 0x00000010u;
|
|
/* 0278CA1C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0278CA1C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0278CA20 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0278CA24 */ cpu->r[28] = cpu->r[31] + 0x00000024u;
|
|
/* 0278CA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278CA28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278CA28 */ if (_t12) goto L_0278CA2C; else goto L_0278CA3C;
|
|
L_0278CA2C: ; // 0x278ca2c
|
|
/* 0278CA2C */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278CA30 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA34 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278CA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278CA38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA38 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278CA38 */ if (_t14) goto L_0278CAD0; else goto L_0278CA3C;
|
|
L_0278CA3C: ; // 0x278ca3c
|
|
/* 0278CA3C */ cpu->r[30] = cpu->r[28];
|
|
/* 0278CA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CA40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278CA40 */ if (_t16) goto L_0278CA44; else goto L_0278CA54;
|
|
L_0278CA44: ; // 0x278ca44
|
|
/* 0278CA44 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278CA48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA4C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278CA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CA50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278CA50 */ if (_t18) goto L_0278CAC4; else goto L_0278CA54;
|
|
L_0278CA54: ; // 0x278ca54
|
|
/* 0278CA54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278CA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278CA58 */ cpu->r[29] = 0x10110000u;
|
|
/* 0278CA5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278CA5C */ if (_t20) goto L_0278CA60; else goto L_0278CA8C;
|
|
L_0278CA60: ; // 0x278ca60
|
|
/* 0278CA60 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278CA64 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278CA6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA6C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278CA6C */ if (_t22) goto L_0278CA70; else goto L_0278CA8C;
|
|
L_0278CA70: ; // 0x278ca70
|
|
/* 0278CA70 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278CA74 */ _t23 = cpu->r[29] + 0x00007399u;
|
|
/* 0278CA74 */ cpu->r[8] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0278CA78 */ cpu->r[0] = cpu->r[0] + 0x0000674Cu;
|
|
/* 0278CA7C */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 0278CA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278CA80 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 0278CA80 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0278CA84 */ _t26 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CA84 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[8]);
|
|
/* 0278CA88 */ goto L_0278CAC4;
|
|
L_0278CA8C: ; // 0x278ca8c
|
|
/* 0278CA8C */ cpu->r[6] = 0x10100000u;
|
|
/* 0278CA90 */ cpu->r[0] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278CA94 */ cpu->r[6] = cpu->r[6] + 0x00006704u;
|
|
/* 0278CA98 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0278CA98 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0278CA9C */ cpu->r[0] = 0x00000040u;
|
|
/* 0278CAA0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 0278CAA0 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0278CAA4 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 0278CAA4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0278CAA8 */ _t30 = cpu->r[29] + 0x00007399u;
|
|
/* 0278CAA8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278CAAC */ cpu->r[0] = 0x10100000u;
|
|
/* 0278CAB0 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 0278CAB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278CAB4 */ cpu->r[0] = cpu->r[0] + 0x0000674Cu;
|
|
/* 0278CAB8 */ _t32 = cpu->r[30] + 0x0000004Bu;
|
|
/* 0278CAB8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[8]);
|
|
/* 0278CABC */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 0278CABC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 0278CAC0 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CAC0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[8]);
|
|
L_0278CAC4: ; // 0x278cac4
|
|
/* 0278CAC4 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278CAC8 */ cpu->r[11] = cpu->r[11] + 0x00006764u;
|
|
/* 0278CACC */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 0278CACC */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
L_0278CAD0: ; // 0x278cad0
|
|
/* 0278CAD0 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CAD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278CAD4 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CAD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278CAD8 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278CADC */ cpu->r[3] = cpu->r[31];
|
|
/* 0278CAE0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CAE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278CAE4 */ cpu->lr = cpu->r[0];
|
|
/* 0278CAE8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CAE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278CAEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278CAF0 */ return;
|
|
}
|
|
|
|
// fn_0278C9D0 @ 0x278c9d0
|
|
void Gambit_fn_0278C9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0278C9D0: ; // 0x278c9d0
|
|
/* 0278C9D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278C9D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C9D0 */ cpu->r[1] = _t0;
|
|
/* 0278C9D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C9D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278C9D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C9D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278C9DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278C9DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0278C9E0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0278C9E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0278C9E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C9E8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278C9E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278C9EC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C9EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C9EC */ if (_t7) goto L_0278C9F0; else goto L_0278CA00;
|
|
L_0278C9F0: ; // 0x278c9f0
|
|
/* 0278C9F0 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 0278C9F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278C9F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278C9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278C9FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C9FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278C9FC */ if (_t9) goto L_0278CAD0; else goto L_0278CA00;
|
|
L_0278CA00: ; // 0x278ca00
|
|
/* 0278CA00 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278CA04 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278CA08 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0278CA0C */ cpu->r[12] = cpu->r[12] + 0x0000682Cu;
|
|
/* 0278CA10 */ cpu->r[6] = cpu->r[6] + 0xFFFFDE88u;
|
|
/* 0278CA14 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278CA18 */ cpu->r[5] = 0x00000010u;
|
|
/* 0278CA1C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0278CA1C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0278CA20 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0278CA24 */ cpu->r[28] = cpu->r[31] + 0x00000024u;
|
|
/* 0278CA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278CA28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278CA28 */ if (_t12) goto L_0278CA2C; else goto L_0278CA3C;
|
|
L_0278CA2C: ; // 0x278ca2c
|
|
/* 0278CA2C */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278CA30 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA34 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278CA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278CA38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA38 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278CA38 */ if (_t14) goto L_0278CAD0; else goto L_0278CA3C;
|
|
L_0278CA3C: ; // 0x278ca3c
|
|
/* 0278CA3C */ cpu->r[30] = cpu->r[28];
|
|
/* 0278CA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CA40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278CA40 */ if (_t16) goto L_0278CA44; else goto L_0278CA54;
|
|
L_0278CA44: ; // 0x278ca44
|
|
/* 0278CA44 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278CA48 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA4C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278CA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CA50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278CA50 */ if (_t18) goto L_0278CAC4; else goto L_0278CA54;
|
|
L_0278CA54: ; // 0x278ca54
|
|
/* 0278CA54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278CA54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278CA58 */ cpu->r[29] = 0x10110000u;
|
|
/* 0278CA5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278CA5C */ if (_t20) goto L_0278CA60; else goto L_0278CA8C;
|
|
L_0278CA60: ; // 0x278ca60
|
|
/* 0278CA60 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278CA64 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278CA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278CA6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CA6C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278CA6C */ if (_t22) goto L_0278CA70; else goto L_0278CA8C;
|
|
L_0278CA70: ; // 0x278ca70
|
|
/* 0278CA70 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278CA74 */ _t23 = cpu->r[29] + 0x00007399u;
|
|
/* 0278CA74 */ cpu->r[8] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0278CA78 */ cpu->r[0] = cpu->r[0] + 0x0000674Cu;
|
|
/* 0278CA7C */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 0278CA7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278CA80 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 0278CA80 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0278CA84 */ _t26 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CA84 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[8]);
|
|
/* 0278CA88 */ goto L_0278CAC4;
|
|
L_0278CA8C: ; // 0x278ca8c
|
|
/* 0278CA8C */ cpu->r[6] = 0x10100000u;
|
|
/* 0278CA90 */ cpu->r[0] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278CA94 */ cpu->r[6] = cpu->r[6] + 0x00006704u;
|
|
/* 0278CA98 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0278CA98 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0278CA9C */ cpu->r[0] = 0x00000040u;
|
|
/* 0278CAA0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 0278CAA0 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0278CAA4 */ _t29 = cpu->r[3] + 0x00000008u;
|
|
/* 0278CAA4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0278CAA8 */ _t30 = cpu->r[29] + 0x00007399u;
|
|
/* 0278CAA8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278CAAC */ cpu->r[0] = 0x10100000u;
|
|
/* 0278CAB0 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 0278CAB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278CAB4 */ cpu->r[0] = cpu->r[0] + 0x0000674Cu;
|
|
/* 0278CAB8 */ _t32 = cpu->r[30] + 0x0000004Bu;
|
|
/* 0278CAB8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[8]);
|
|
/* 0278CABC */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 0278CABC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 0278CAC0 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CAC0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[8]);
|
|
L_0278CAC4: ; // 0x278cac4
|
|
/* 0278CAC4 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278CAC8 */ cpu->r[11] = cpu->r[11] + 0x00006764u;
|
|
/* 0278CACC */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 0278CACC */ rbrew_write32(cpu->mem, _t35, cpu->r[11]);
|
|
L_0278CAD0: ; // 0x278cad0
|
|
/* 0278CAD0 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CAD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278CAD4 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CAD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278CAD8 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278CADC */ cpu->r[3] = cpu->r[31];
|
|
/* 0278CAE0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CAE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278CAE4 */ cpu->lr = cpu->r[0];
|
|
/* 0278CAE8 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CAE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278CAEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278CAF0 */ return;
|
|
}
|
|
|
|
// fn_0278CAF4 @ 0x278caf4
|
|
void Gambit_fn_0278CAF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278CAF4: ; // 0x278caf4
|
|
/* 0278CAF4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278CAF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278CAF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CAF8 */ cpu->r[1] = _t0;
|
|
/* 0278CAFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CAFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278CB00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CB00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278CB04 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278CB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CB08 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278CB0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CB0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278CB10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CB10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278CB10 */ if (_t5) goto L_0278CB44; else goto L_0278CB14;
|
|
L_0278CB14: ; // 0x278cb14
|
|
/* 0278CB14 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278CB18 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0278CB1C */ cpu->r[7] = 0x00000000u;
|
|
/* 0278CB20 */ cpu->r[6] = cpu->r[6] + 0xFFFFDF14u;
|
|
/* 0278CB24 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278CB28 */ cpu->r[8] = cpu->r[7];
|
|
/* 0278CB2C */ cpu->r[5] = 0x00000010u;
|
|
/* 0278CB30 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0278CB34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278CB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278CB38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CB38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278CB38 */ if (_t7) goto L_0278CB44; else goto L_0278CB3C;
|
|
L_0278CB3C: ; // 0x278cb3c
|
|
/* 0278CB3C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278CB40 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278CB44: ; // 0x278cb44
|
|
/* 0278CB44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CB44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278CB48 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CB48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278CB4C */ cpu->lr = cpu->r[0];
|
|
/* 0278CB50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CB50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278CB54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278CB58 */ return;
|
|
}
|
|
|
|
// fn_0278CAF8 @ 0x278caf8
|
|
void Gambit_fn_0278CAF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278CAF8: ; // 0x278caf8
|
|
/* 0278CAF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278CAF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CAF8 */ cpu->r[1] = _t0;
|
|
/* 0278CAFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CAFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278CB00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CB00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278CB04 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278CB04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CB08 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278CB0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CB0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278CB10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CB10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278CB10 */ if (_t5) goto L_0278CB44; else goto L_0278CB14;
|
|
L_0278CB14: ; // 0x278cb14
|
|
/* 0278CB14 */ cpu->r[6] = 0x02790000u;
|
|
/* 0278CB18 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0278CB1C */ cpu->r[7] = 0x00000000u;
|
|
/* 0278CB20 */ cpu->r[6] = cpu->r[6] + 0xFFFFDF14u;
|
|
/* 0278CB24 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278CB28 */ cpu->r[8] = cpu->r[7];
|
|
/* 0278CB2C */ cpu->r[5] = 0x00000010u;
|
|
/* 0278CB30 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0278CB34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278CB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278CB38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CB38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278CB38 */ if (_t7) goto L_0278CB44; else goto L_0278CB3C;
|
|
L_0278CB3C: ; // 0x278cb3c
|
|
/* 0278CB3C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278CB40 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278CB44: ; // 0x278cb44
|
|
/* 0278CB44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CB44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278CB48 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CB48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278CB4C */ cpu->lr = cpu->r[0];
|
|
/* 0278CB50 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CB50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278CB54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278CB58 */ return;
|
|
}
|
|
|
|
// fn_0278CB5C @ 0x278cb5c
|
|
void Gambit_fn_0278CB5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0278CB5C: ; // 0x278cb5c
|
|
/* 0278CB5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0278CB5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CB5C */ cpu->r[1] = _t0;
|
|
/* 0278CB60 */ /* nop */
|
|
/* 0278CB64 */ cpu->r[0] = cpu->lr;
|
|
/* 0278CB68 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0278CB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278CB6C */ cpu->r[29] = cpu->r[3];
|
|
/* 0278CB70 */ cpu->r[26] = cpu->r[4];
|
|
/* 0278CB74 */ _t2 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278CB74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278CB78 */ _t3 = cpu->r[29] + 0x00000070u;
|
|
/* 0278CB78 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0278CB7C */ _t4 = cpu->r[26] + 0x00000010u;
|
|
/* 0278CB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278CB80 */ _t5 = cpu->r[29] + 0x00000074u;
|
|
/* 0278CB80 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278CB84 */ _t6 = cpu->r[26] + 0x00000004u;
|
|
/* 0278CB84 */ cpu->r[27] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278CB88 */ _t7 = cpu->r[27] + 0x00000004u;
|
|
/* 0278CB88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278CB8C */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 0278CB8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278CB90 */ cpu->ctr = cpu->r[0];
|
|
/* 0278CB94 */ _t9 = cpu->r[29] + 0x00000024u;
|
|
/* 0278CB94 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278CB98 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278CB9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CBA0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278CBA4 */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 0278CBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278CBA8 */ _t11 = cpu->r[31] + 0x00007399u;
|
|
/* 0278CBA8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0278CBAC */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CBAC */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0278CBB0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278CBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0278CBB8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278CBBC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CBBC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278CBBC */ if (_t14) goto L_0278CBE4; else goto L_0278CBC0;
|
|
L_0278CBC0: ; // 0x278cbc0
|
|
/* 0278CBC0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278CBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278CBC8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278CBCC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CBCC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278CBCC */ if (_t16) goto L_0278CBE0; else goto L_0278CBD0;
|
|
L_0278CBD0: ; // 0x278cbd0
|
|
/* 0278CBD0 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0278CBD0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0278CBD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0278CBD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CBD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0278CBD8 */ if (_t19) goto L_0278CBDC; else goto L_0278CBC0;
|
|
L_0278CBDC: ; // 0x278cbdc
|
|
/* 0278CBDC */ goto L_0278CBE4;
|
|
L_0278CBE0: ; // 0x278cbe0
|
|
/* 0278CBE0 */ cpu->r[30] = 0x00000000u;
|
|
L_0278CBE4: ; // 0x278cbe4
|
|
/* 0278CBE4 */ _t20 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0278CBE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278CBE8 */ _t21 = cpu->r[27] + 0x00000004u;
|
|
/* 0278CBE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278CBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0278CBF0 */ _t22 = cpu->r[8] + 0x00000014u;
|
|
/* 0278CBF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278CBF4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CBF4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278CBF4 */ if (_t24) goto L_0278CBFC; else goto L_0278CBF8;
|
|
L_0278CBF8: ; // 0x278cbf8
|
|
/* 0278CBF8 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0278CBFC: ; // 0x278cbfc
|
|
/* 0278CBFC */ cpu->ctr = cpu->r[9];
|
|
/* 0278CC00 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278CC04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CC08 */ _t25 = cpu->r[27] + 0x00000000u;
|
|
/* 0278CC08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278CC0C */ cpu->r[3] = cpu->r[28];
|
|
/* 0278CC10 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278CC14 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278CC18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278CC1C */ _t26 = cpu->r[28] + cpu->r[30];
|
|
/* 0278CC1C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 0278CC20 */ _t27 = cpu->r[26] + 0x00000014u;
|
|
/* 0278CC20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0278CC24 */ _t28 = cpu->r[29] + 0x00000078u;
|
|
/* 0278CC24 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 0278CC28 */ _t29 = cpu->r[26] + 0x00000000u;
|
|
/* 0278CC28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278CC2C */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 0278CC30 */ _t30 = cpu->r[26] + 0x00000008u;
|
|
/* 0278CC30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278CC34 */ cpu->r[6] = 0x00000004u;
|
|
/* 0278CC38 */ Gambit_fn_028023CC(cpu);
|
|
/* 0278CC3C */ _t31 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278CC3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278CC40 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 0278CC44 */ _t32 = cpu->r[26] + 0x00000000u;
|
|
/* 0278CC44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278CC48 */ cpu->r[6] = 0x00000004u;
|
|
/* 0278CC4C */ Gambit_fn_028023CC(cpu);
|
|
/* 0278CC50 */ /* nop */
|
|
/* 0278CC54 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 0278CC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278CC58 */ cpu->lr = cpu->r[0];
|
|
/* 0278CC5C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0278CC60 */ return;
|
|
}
|
|
|
|
// fn_0278CC64 @ 0x278cc64
|
|
void Gambit_fn_0278CC64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0278CC64: ; // 0x278cc64
|
|
/* 0278CC64 */ cpu->r[0] = cpu->lr;
|
|
/* 0278CC68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278CC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CC68 */ cpu->r[1] = _t0;
|
|
/* 0278CC6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CC6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278CC70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CC70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278CC74 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 0278CC78 */ cpu->r[30] = 0x00000002u;
|
|
/* 0278CC7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CC7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278CC80 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CC80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278CC84 */ cpu->r[29] = cpu->r[4];
|
|
L_0278CC88: ; // 0x278cc88
|
|
/* 0278CC88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278CC8C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278CC90 */ Gambit_fn_0278C888(cpu);
|
|
/* 0278CC94 */ cpu->r[0] = cpu->r[3];
|
|
/* 0278CC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278CC98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CC98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278CC98 */ if (_t6) goto L_0278CC9C; else goto L_0278CCA8;
|
|
L_0278CC9C: ; // 0x278cc9c
|
|
/* 0278CC9C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0278CC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CCA0 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 0278CCA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CCA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278CCA4 */ if (_t8) goto L_0278CCA8; else goto L_0278CC88;
|
|
L_0278CCA8: ; // 0x278cca8
|
|
/* 0278CCA8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CCA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278CCAC */ cpu->r[3] = cpu->r[0];
|
|
/* 0278CCB0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CCB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278CCB4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278CCB8 */ cpu->lr = cpu->r[0];
|
|
/* 0278CCBC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278CCC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278CCC4 */ return;
|
|
}
|
|
|
|
// fn_0278CC68 @ 0x278cc68
|
|
void Gambit_fn_0278CC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0278CC68: ; // 0x278cc68
|
|
/* 0278CC68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278CC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CC68 */ cpu->r[1] = _t0;
|
|
/* 0278CC6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CC6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278CC70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CC70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278CC74 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 0278CC78 */ cpu->r[30] = 0x00000002u;
|
|
/* 0278CC7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CC7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278CC80 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CC80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278CC84 */ cpu->r[29] = cpu->r[4];
|
|
L_0278CC88: ; // 0x278cc88
|
|
/* 0278CC88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278CC8C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278CC90 */ Gambit_fn_0278C888(cpu);
|
|
/* 0278CC94 */ cpu->r[0] = cpu->r[3];
|
|
/* 0278CC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278CC98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CC98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278CC98 */ if (_t6) goto L_0278CC9C; else goto L_0278CCA8;
|
|
L_0278CC9C: ; // 0x278cc9c
|
|
/* 0278CC9C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0278CC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CCA0 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 0278CCA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CCA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278CCA4 */ if (_t8) goto L_0278CCA8; else goto L_0278CC88;
|
|
L_0278CCA8: ; // 0x278cca8
|
|
/* 0278CCA8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CCA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278CCAC */ cpu->r[3] = cpu->r[0];
|
|
/* 0278CCB0 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CCB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278CCB4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CCB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278CCB8 */ cpu->lr = cpu->r[0];
|
|
/* 0278CCBC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CCBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278CCC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278CCC4 */ return;
|
|
}
|
|
|
|
// fn_0278CCC8 @ 0x278ccc8
|
|
void Gambit_fn_0278CCC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_0278CCC8: ; // 0x278ccc8
|
|
/* 0278CCC8 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 0278CCC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278CCC8 */ cpu->r[1] = _t0;
|
|
/* 0278CCCC */ /* nop */
|
|
/* 0278CCD0 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278CCD4 */ cpu->r[11] = 0x00000080u;
|
|
/* 0278CCD8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0278CCD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 0278CCDC */ cpu->r[12] = cpu->r[12] + 0x00006734u;
|
|
/* 0278CCE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CCE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0278CCE4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278CCE8 */ _t3 = cpu->r[1] + 0x000000CCu;
|
|
/* 0278CCE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278CCEC */ cpu->r[24] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CCF0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CCF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[24]);
|
|
/* 0278CCF4 */ cpu->r[26] = cpu->r[4];
|
|
/* 0278CCF8 */ cpu->r[27] = 0x10100000u;
|
|
/* 0278CCFC */ cpu->r[31] = 0x10110000u;
|
|
/* 0278CD00 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0278CD00 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278CD04 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278CD08 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278CD0C */ cpu->r[27] = cpu->r[27] + 0x000066ECu;
|
|
/* 0278CD10 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278CD10 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 0278CD14 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278CD18 */ _t7 = cpu->r[1] + 0x0000009Bu;
|
|
/* 0278CD18 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0278CD1C */ Gambit_fn_0278DDF4(cpu);
|
|
/* 0278CD20 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CD20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278CD24 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0278CD24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0278CD28 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278CD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CD30 */ cpu->r[12] = 0x00080000u;
|
|
/* 0278CD34 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CD34 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278CD34 */ if (_t11) goto L_0278CD5C; else goto L_0278CD38;
|
|
L_0278CD38: ; // 0x278cd38
|
|
/* 0278CD38 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278CD3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0278CD40 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278CD44 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CD44 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278CD44 */ if (_t13) goto L_0278CD58; else goto L_0278CD48;
|
|
L_0278CD48: ; // 0x278cd48
|
|
/* 0278CD48 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 0278CD48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0278CD4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CD50 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CD50 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278CD50 */ if (_t16) goto L_0278CD54; else goto L_0278CD38;
|
|
L_0278CD54: ; // 0x278cd54
|
|
/* 0278CD54 */ goto L_0278CD5C;
|
|
L_0278CD58: ; // 0x278cd58
|
|
/* 0278CD58 */ cpu->r[30] = 0x00000000u;
|
|
L_0278CD5C: ; // 0x278cd5c
|
|
/* 0278CD5C */ _t17 = cpu->r[25] + 0x00000028u;
|
|
/* 0278CD5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278CD60 */ cpu->r[23] = cpu->r[30];
|
|
/* 0278CD60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278CD64 */ _t18 = cpu->r[6] + 0x00000014u;
|
|
/* 0278CD64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278CD68 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CD68 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278CD68 */ if (_t20) goto L_0278CD6C; else goto L_0278CD70;
|
|
L_0278CD6C: ; // 0x278cd6c
|
|
/* 0278CD6C */ cpu->r[23] = 0x00000000u;
|
|
L_0278CD70: ; // 0x278cd70
|
|
/* 0278CD70 */ cpu->ctr = cpu->r[7];
|
|
/* 0278CD74 */ cpu->r[3] = cpu->r[25] + 0x00000024u;
|
|
/* 0278CD78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CD7C */ _t21 = cpu->r[25] + 0x00000024u;
|
|
/* 0278CD7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278CD80 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 0278CD80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0278CD84 */ cpu->r[10] = 0x00080000u;
|
|
/* 0278CD88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0278CD8C */ cpu->r[29] = 0x00000000u;
|
|
/* 0278CD90 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CD90 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278CD90 */ if (_t24) goto L_0278CDB8; else goto L_0278CD94;
|
|
L_0278CD94: ; // 0x278cd94
|
|
/* 0278CD94 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278CD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0278CD9C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278CDA0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CDA0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278CDA0 */ if (_t26) goto L_0278CDB4; else goto L_0278CDA4;
|
|
L_0278CDA4: ; // 0x278cda4
|
|
/* 0278CDA4 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 0278CDA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0278CDA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CDAC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CDAC */ _t29 = _t28 & 0x00000001u;
|
|
/* 0278CDAC */ if (_t29) goto L_0278CDB0; else goto L_0278CD94;
|
|
L_0278CDB0: ; // 0x278cdb0
|
|
/* 0278CDB0 */ goto L_0278CDB8;
|
|
L_0278CDB4: ; // 0x278cdb4
|
|
/* 0278CDB4 */ cpu->r[29] = 0x00000000u;
|
|
L_0278CDB8: ; // 0x278cdb8
|
|
/* 0278CDB8 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 0278CDB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278CDBC */ cpu->r[5] = cpu->r[0] - cpu->r[23];
|
|
/* 0278CDC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 0278CDC4 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CDC4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0278CDC4 */ if (_t32) goto L_0278CDCC; else goto L_0278CDC8;
|
|
L_0278CDC8: ; // 0x278cdc8
|
|
/* 0278CDC8 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0278CDCC: ; // 0x278cdcc
|
|
/* 0278CDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278CDD0 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CDD0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278CDD0 */ if (_t34) goto L_0278CDD4; else goto L_0278CE10;
|
|
L_0278CDD4: ; // 0x278cdd4
|
|
/* 0278CDD4 */ _t35 = cpu->r[25] + 0x00000028u;
|
|
/* 0278CDD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278CDD8 */ _t36 = cpu->r[10] + 0x00000014u;
|
|
/* 0278CDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278CDDC */ cpu->ctr = cpu->r[0];
|
|
/* 0278CDE0 */ cpu->r[22] = cpu->r[24] + cpu->r[23];
|
|
/* 0278CDE4 */ cpu->r[3] = cpu->r[25] + 0x00000024u;
|
|
/* 0278CDE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CDEC */ _t37 = cpu->r[25] + 0x00000024u;
|
|
/* 0278CDEC */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278CDF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278CDF4 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278CDF8 */ cpu->r[3] = cpu->r[22];
|
|
/* 0278CDFC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278CE00 */ cpu->r[0] = cpu->r[23] + cpu->r[29];
|
|
/* 0278CE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0278CE08 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CE08 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0278CE08 */ if (_t39) goto L_0278CE0C; else goto L_0278CE10;
|
|
L_0278CE0C: ; // 0x278ce0c
|
|
/* 0278CE0C */ _t40 = cpu->r[24] + cpu->r[0];
|
|
/* 0278CE0C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
L_0278CE10: ; // 0x278ce10
|
|
/* 0278CE10 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CE10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278CE14 */ _t42 = cpu->r[12] + 0x00000014u;
|
|
/* 0278CE14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0278CE18 */ cpu->ctr = cpu->r[5];
|
|
/* 0278CE1C */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CE1C */ cpu->r[25] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278CE20 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278CE24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CE28 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CE28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278CE2C */ _t45 = cpu->r[5] + 0x00000000u;
|
|
/* 0278CE2C */ cpu->r[6] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0278CE30 */ cpu->r[8] = 0x00080000u;
|
|
/* 0278CE34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0278CE38 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278CE3C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CE3C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0278CE3C */ if (_t47) goto L_0278CE64; else goto L_0278CE40;
|
|
L_0278CE40: ; // 0x278ce40
|
|
/* 0278CE40 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278CE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0278CE48 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278CE4C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CE4C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278CE4C */ if (_t49) goto L_0278CE60; else goto L_0278CE50;
|
|
L_0278CE50: ; // 0x278ce50
|
|
/* 0278CE50 */ _t50 = cpu->r[5] + 0x00000000u;
|
|
/* 0278CE50 */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0278CE54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0278CE58 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CE58 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0278CE58 */ if (_t52) goto L_0278CE5C; else goto L_0278CE40;
|
|
L_0278CE5C: ; // 0x278ce5c
|
|
/* 0278CE5C */ goto L_0278CE64;
|
|
L_0278CE60: ; // 0x278ce60
|
|
/* 0278CE60 */ cpu->r[29] = 0x00000000u;
|
|
L_0278CE64: ; // 0x278ce64
|
|
/* 0278CE64 */ _t53 = cpu->r[26] + 0x00000004u;
|
|
/* 0278CE64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0278CE68 */ cpu->r[23] = cpu->r[29];
|
|
/* 0278CE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278CE6C */ _t54 = cpu->r[8] + 0x00000014u;
|
|
/* 0278CE6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0278CE70 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CE70 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0278CE70 */ if (_t56) goto L_0278CE74; else goto L_0278CE78;
|
|
L_0278CE74: ; // 0x278ce74
|
|
/* 0278CE74 */ cpu->r[23] = 0x00000000u;
|
|
L_0278CE78: ; // 0x278ce78
|
|
/* 0278CE78 */ cpu->ctr = cpu->r[9];
|
|
/* 0278CE7C */ cpu->r[3] = cpu->r[26];
|
|
/* 0278CE80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CE84 */ _t57 = cpu->r[26] + 0x00000000u;
|
|
/* 0278CE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0278CE88 */ _t58 = cpu->r[11] + 0x00000000u;
|
|
/* 0278CE88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0278CE8C */ cpu->r[30] = 0x00000000u;
|
|
/* 0278CE90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CE94 */ cpu->r[12] = 0x00080000u;
|
|
/* 0278CE98 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CE98 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0278CE98 */ if (_t60) goto L_0278CEC0; else goto L_0278CE9C;
|
|
L_0278CE9C: ; // 0x278ce9c
|
|
/* 0278CE9C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278CEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0278CEA4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278CEA8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CEA8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278CEA8 */ if (_t62) goto L_0278CEBC; else goto L_0278CEAC;
|
|
L_0278CEAC: ; // 0x278ceac
|
|
/* 0278CEAC */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 0278CEAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0278CEB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CEB4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CEB4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0278CEB4 */ if (_t65) goto L_0278CEB8; else goto L_0278CE9C;
|
|
L_0278CEB8: ; // 0x278ceb8
|
|
/* 0278CEB8 */ goto L_0278CEC0;
|
|
L_0278CEBC: ; // 0x278cebc
|
|
/* 0278CEBC */ cpu->r[30] = 0x00000000u;
|
|
L_0278CEC0: ; // 0x278cec0
|
|
/* 0278CEC0 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 0278CEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0278CEC4 */ cpu->r[6] = cpu->r[0] - cpu->r[23];
|
|
/* 0278CEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278CECC */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CECC */ _t68 = _t67 & 0x00000001u;
|
|
/* 0278CECC */ if (_t68) goto L_0278CED4; else goto L_0278CED0;
|
|
L_0278CED0: ; // 0x278ced0
|
|
/* 0278CED0 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0278CED4: ; // 0x278ced4
|
|
/* 0278CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278CED8 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CED8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278CED8 */ if (_t70) goto L_0278CEDC; else goto L_0278CF18;
|
|
L_0278CEDC: ; // 0x278cedc
|
|
/* 0278CEDC */ _t71 = cpu->r[26] + 0x00000004u;
|
|
/* 0278CEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278CEE0 */ _t72 = cpu->r[12] + 0x00000014u;
|
|
/* 0278CEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278CEE4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278CEE8 */ cpu->r[24] = cpu->r[25] + cpu->r[23];
|
|
/* 0278CEEC */ cpu->r[3] = cpu->r[26];
|
|
/* 0278CEF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CEF4 */ _t73 = cpu->r[26] + 0x00000000u;
|
|
/* 0278CEF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278CEF8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278CEFC */ cpu->r[5] = cpu->r[30];
|
|
/* 0278CF00 */ cpu->r[3] = cpu->r[24];
|
|
/* 0278CF04 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278CF08 */ cpu->r[9] = cpu->r[23] + cpu->r[30];
|
|
/* 0278CF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[29]);
|
|
/* 0278CF10 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CF10 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0278CF10 */ if (_t75) goto L_0278CF14; else goto L_0278CF18;
|
|
L_0278CF14: ; // 0x278cf14
|
|
/* 0278CF14 */ _t76 = cpu->r[25] + cpu->r[9];
|
|
/* 0278CF14 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[31]);
|
|
L_0278CF18: ; // 0x278cf18
|
|
/* 0278CF18 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0278CF18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0278CF1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278CF20 */ _t78 = cpu->r[12] + 0xFFFF9014u;
|
|
/* 0278CF20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0278CF24 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CF24 */ rbrew_write32(cpu->mem, _t79, cpu->r[27]);
|
|
/* 0278CF28 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CF28 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 0278CF2C */ _t81 = cpu->r[5] + 0x00000014u;
|
|
/* 0278CF2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0278CF30 */ cpu->ctr = cpu->r[6];
|
|
/* 0278CF34 */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CF34 */ cpu->r[27] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0278CF38 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278CF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CF40 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 0278CF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0278CF44 */ _t84 = cpu->r[9] + 0x00000000u;
|
|
/* 0278CF44 */ cpu->r[7] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0278CF48 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278CF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0278CF50 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278CF54 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CF54 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0278CF54 */ if (_t86) goto L_0278CF7C; else goto L_0278CF58;
|
|
L_0278CF58: ; // 0x278cf58
|
|
/* 0278CF58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278CF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278CF60 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278CF64 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CF64 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0278CF64 */ if (_t88) goto L_0278CF78; else goto L_0278CF68;
|
|
L_0278CF68: ; // 0x278cf68
|
|
/* 0278CF68 */ _t89 = cpu->r[9] + 0x00000000u;
|
|
/* 0278CF68 */ cpu->r[8] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0278CF6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0278CF70 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CF70 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0278CF70 */ if (_t91) goto L_0278CF74; else goto L_0278CF58;
|
|
L_0278CF74: ; // 0x278cf74
|
|
/* 0278CF74 */ goto L_0278CF7C;
|
|
L_0278CF78: ; // 0x278cf78
|
|
/* 0278CF78 */ cpu->r[30] = 0x00000000u;
|
|
L_0278CF7C: ; // 0x278cf7c
|
|
/* 0278CF7C */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CF7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0278CF80 */ cpu->r[25] = cpu->r[30];
|
|
/* 0278CF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278CF84 */ _t93 = cpu->r[9] + 0x00000014u;
|
|
/* 0278CF84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0278CF88 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CF88 */ _t95 = _t94 & 0x00000001u;
|
|
/* 0278CF88 */ if (_t95) goto L_0278CF8C; else goto L_0278CF90;
|
|
L_0278CF8C: ; // 0x278cf8c
|
|
/* 0278CF8C */ cpu->r[25] = 0x00000000u;
|
|
L_0278CF90: ; // 0x278cf90
|
|
/* 0278CF90 */ cpu->ctr = cpu->r[10];
|
|
/* 0278CF94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278CF98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278CF9C */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 0278CF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0278CFA0 */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 0278CFA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0278CFA4 */ cpu->r[6] = 0x00080000u;
|
|
/* 0278CFA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278CFAC */ cpu->r[29] = 0x00000000u;
|
|
/* 0278CFB0 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CFB0 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0278CFB0 */ if (_t99) goto L_0278CFD8; else goto L_0278CFB4;
|
|
L_0278CFB4: ; // 0x278cfb4
|
|
/* 0278CFB4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0278CFBC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278CFC0 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CFC0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0278CFC0 */ if (_t101) goto L_0278CFD4; else goto L_0278CFC4;
|
|
L_0278CFC4: ; // 0x278cfc4
|
|
/* 0278CFC4 */ _t102 = cpu->r[12] + 0x00000000u;
|
|
/* 0278CFC4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0278CFC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0278CFCC */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278CFCC */ _t104 = _t103 & 0x00000001u;
|
|
/* 0278CFCC */ if (_t104) goto L_0278CFD0; else goto L_0278CFB4;
|
|
L_0278CFD0: ; // 0x278cfd0
|
|
/* 0278CFD0 */ goto L_0278CFD8;
|
|
L_0278CFD4: ; // 0x278cfd4
|
|
/* 0278CFD4 */ cpu->r[29] = 0x00000000u;
|
|
L_0278CFD8: ; // 0x278cfd8
|
|
/* 0278CFD8 */ _t105 = cpu->r[1] + 0x00000018u;
|
|
/* 0278CFD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0278CFDC */ cpu->r[7] = cpu->r[0] - cpu->r[25];
|
|
/* 0278CFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0278CFE4 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278CFE4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 0278CFE4 */ if (_t107) goto L_0278CFEC; else goto L_0278CFE8;
|
|
L_0278CFE8: ; // 0x278cfe8
|
|
/* 0278CFE8 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0278CFEC: ; // 0x278cfec
|
|
/* 0278CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278CFF0 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278CFF0 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0278CFF0 */ if (_t109) goto L_0278CFF4; else goto L_0278D030;
|
|
L_0278CFF4: ; // 0x278cff4
|
|
/* 0278CFF4 */ _t110 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278CFF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0278CFF8 */ _t111 = cpu->r[7] + 0x00000014u;
|
|
/* 0278CFF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0278CFFC */ cpu->ctr = cpu->r[8];
|
|
/* 0278D000 */ cpu->r[26] = cpu->r[27] + cpu->r[25];
|
|
/* 0278D004 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278D008 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D00C */ _t112 = cpu->r[1] + 0x00000008u;
|
|
/* 0278D00C */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0278D010 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278D014 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278D018 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278D01C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278D020 */ cpu->r[0] = cpu->r[25] + cpu->r[29];
|
|
/* 0278D024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0278D028 */ _t113 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D028 */ _t114 = _t113 & 0x00000001u;
|
|
/* 0278D028 */ if (_t114) goto L_0278D02C; else goto L_0278D030;
|
|
L_0278D02C: ; // 0x278d02c
|
|
/* 0278D02C */ _t115 = cpu->r[27] + cpu->r[0];
|
|
/* 0278D02C */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[31]);
|
|
L_0278D030: ; // 0x278d030
|
|
/* 0278D030 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278D034 */ Gambit_fn_027E2BBC(cpu);
|
|
/* 0278D038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D03C */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D03C */ _t117 = _t116 & 0x00000001u;
|
|
/* 0278D03C */ if (_t117) goto L_0278D058; else goto L_0278D040;
|
|
L_0278D040: ; // 0x278d040
|
|
/* 0278D040 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278D044 */ cpu->r[4] = 0x00000100u;
|
|
/* 0278D048 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278D04C */ Gambit_fn_027E273C(cpu);
|
|
/* 0278D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D054 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D054 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0278D054 */ if (_t119) goto L_0278D058; else goto L_0278D070;
|
|
L_0278D058: ; // 0x278d058
|
|
/* 0278D058 */ /* nop */
|
|
/* 0278D05C */ _t120 = cpu->r[1] + 0x000000CCu;
|
|
/* 0278D05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0278D060 */ cpu->lr = cpu->r[0];
|
|
/* 0278D064 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278D068 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278D06C */ return;
|
|
L_0278D070: ; // 0x278d070
|
|
/* 0278D070 */ _t121 = cpu->r[3] + 0x00000004u;
|
|
/* 0278D070 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0278D074 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278D078 */ Gambit_fn_028E7AB4(cpu);
|
|
/* 0278D07C */ /* nop */
|
|
/* 0278D080 */ _t122 = cpu->r[1] + 0x000000CCu;
|
|
/* 0278D080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0278D084 */ cpu->lr = cpu->r[0];
|
|
/* 0278D088 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278D08C */ return;
|
|
}
|
|
|
|
// fn_0278D090 @ 0x278d090
|
|
void Gambit_fn_0278D090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_0278D090: ; // 0x278d090
|
|
/* 0278D090 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0278D090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278D090 */ cpu->r[1] = _t0;
|
|
/* 0278D094 */ /* nop */
|
|
/* 0278D098 */ cpu->r[0] = cpu->lr;
|
|
/* 0278D09C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278D09C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278D0A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0278D0A4 */ _t2 = cpu->r[29] + 0x00000070u;
|
|
/* 0278D0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278D0A8 */ cpu->r[27] = 0x00000000u;
|
|
/* 0278D0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 0278D0B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278D0B4 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D0B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278D0B4 */ if (_t4) goto L_0278D0B8; else goto L_0278D194;
|
|
L_0278D0B8: ; // 0x278d0b8
|
|
/* 0278D0B8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278D0BC */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0278D0BC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278D0C0 */ cpu->r[28] = 0x00000000u;
|
|
L_0278D0C4: ; // 0x278d0c4
|
|
/* 0278D0C4 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0278D0C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278D0C8 */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 0278D0C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278D0CC */ _t8 = cpu->r[29] + 0x00000074u;
|
|
/* 0278D0CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278D0D0 */ cpu->ctr = cpu->r[8];
|
|
/* 0278D0D4 */ cpu->r[25] = cpu->r[6] + cpu->r[28];
|
|
/* 0278D0D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278D0DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D0E0 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 0278D0E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278D0E4 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 0278D0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278D0E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0278D0EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0278D0F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D0F4 */ _t11 = cpu->r[25] + 0x00000004u;
|
|
/* 0278D0F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278D0F8 */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 0278D0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278D0FC */ cpu->ctr = cpu->r[0];
|
|
/* 0278D100 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0278D100 */ cpu->r[26] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278D104 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278D108 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D10C */ _t14 = cpu->r[25] + 0x00000000u;
|
|
/* 0278D10C */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278D110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[4]);
|
|
/* 0278D114 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D114 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278D114 */ if (_t16) goto L_0278D168; else goto L_0278D118;
|
|
L_0278D118: ; // 0x278d118
|
|
/* 0278D118 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0278D118 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278D11C */ cpu->r[0] = 0x00080000u;
|
|
/* 0278D120 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278D124 */ _t18 = cpu->r[25] + 0x00000000u;
|
|
/* 0278D124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278D128 */ cpu->ctr = cpu->r[0];
|
|
/* 0278D12C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0278D130: ; // 0x278d130
|
|
/* 0278D130 */ _t19 = cpu->r[9] + 0x00000001u;
|
|
/* 0278D130 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0278D130 */ cpu->r[9] = _t19;
|
|
/* 0278D134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278D138 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D138 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278D138 */ if (_t21) goto L_0278D13C; else goto L_0278D14C;
|
|
L_0278D13C: ; // 0x278d13c
|
|
/* 0278D13C */ _t22 = cpu->r[11] + cpu->r[6];
|
|
/* 0278D13C */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0278D140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0278D144 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D144 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278D144 */ if (_t24) goto L_0278D148; else goto L_0278D180;
|
|
L_0278D148: ; // 0x278d148
|
|
/* 0278D148 */ goto L_0278D168;
|
|
L_0278D14C: ; // 0x278d14c
|
|
/* 0278D14C */ _t25 = cpu->r[11] + cpu->r[6];
|
|
/* 0278D14C */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0278D150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0278D154 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D154 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278D154 */ if (_t27) goto L_0278D180; else goto L_0278D158;
|
|
L_0278D158: ; // 0x278d158
|
|
/* 0278D158 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0278D15C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D15C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0278D15C */ if (_t29) goto L_0278D160; else goto L_0278D180;
|
|
L_0278D160: ; // 0x278d160
|
|
/* 0278D160 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278D164 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278D164 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278D164 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 0278D164 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0278D164 */ if (_t32) goto L_0278D130; else goto L_0278D168;
|
|
L_0278D168: ; // 0x278d168
|
|
/* 0278D168 */ /* nop */
|
|
/* 0278D16C */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278D16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278D170 */ cpu->lr = cpu->r[0];
|
|
/* 0278D174 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278D178 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278D17C */ return;
|
|
L_0278D180: ; // 0x278d180
|
|
/* 0278D180 */ _t34 = cpu->r[29] + 0x00000070u;
|
|
/* 0278D180 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278D184 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0278D188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 0278D18C */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
/* 0278D190 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D190 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0278D190 */ if (_t36) goto L_0278D0C4; else goto L_0278D194;
|
|
L_0278D194: ; // 0x278d194
|
|
/* 0278D194 */ /* nop */
|
|
/* 0278D198 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278D198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278D19C */ cpu->lr = cpu->r[0];
|
|
/* 0278D1A0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278D1A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278D1A8 */ return;
|
|
}
|
|
|
|
// fn_0278D1AC @ 0x278d1ac
|
|
void Gambit_fn_0278D1AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0278D1AC: ; // 0x278d1ac
|
|
/* 0278D1AC */ cpu->r[0] = cpu->lr;
|
|
/* 0278D1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278D1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278D1B0 */ cpu->r[1] = _t0;
|
|
/* 0278D1B4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278D1B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0278D1BC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278D1C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278D1C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D1C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D1C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278D1CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D1CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278D1D0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0278D1D4 */ Gambit_fn_0278CC64(cpu);
|
|
/* 0278D1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D1DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D1DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278D1DC */ if (_t6) goto L_0278D200; else goto L_0278D1E0;
|
|
L_0278D1E0: ; // 0x278d1e0
|
|
/* 0278D1E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D1E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278D1E4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278D1E8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D1E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278D1EC */ cpu->lr = cpu->r[0];
|
|
/* 0278D1F0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278D1F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278D1F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278D1FC */ return;
|
|
L_0278D200: ; // 0x278d200
|
|
/* 0278D200 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278D204 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D208 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278D20C */ Gambit_fn_0278CCC8(cpu);
|
|
/* 0278D210 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278D210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278D214 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D214 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278D214 */ if (_t12) goto L_0278D288; else goto L_0278D218;
|
|
L_0278D218: ; // 0x278d218
|
|
/* 0278D218 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278D21C */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D220 */ Gambit_fn_0278D090(cpu);
|
|
/* 0278D224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D228 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D228 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278D228 */ if (_t14) goto L_0278D25C; else goto L_0278D22C;
|
|
L_0278D22C: ; // 0x278d22c
|
|
/* 0278D22C */ _t15 = cpu->r[29] + 0x00000008u;
|
|
/* 0278D22C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278D230 */ _t16 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0278D230 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278D234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 0278D238 */ cpu->r[12] = cpu->r[29] + 0x00000008u;
|
|
/* 0278D23C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D23C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278D23C */ if (_t18) goto L_0278D240; else goto L_0278D288;
|
|
L_0278D240: ; // 0x278d240
|
|
/* 0278D240 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278D244 */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 0278D244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278D248 */ _t20 = cpu->r[8] + cpu->r[0];
|
|
/* 0278D248 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0278D24C */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D24C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278D250 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D254 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D254 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0278D258 */ goto L_0278D288;
|
|
L_0278D25C: ; // 0x278d25c
|
|
/* 0278D25C */ _t23 = cpu->r[29] + 0x00000018u;
|
|
/* 0278D25C */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278D260 */ _t24 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0278D260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278D264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0278D268 */ cpu->r[12] = cpu->r[29] + 0x00000018u;
|
|
/* 0278D26C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D26C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278D26C */ if (_t26) goto L_0278D270; else goto L_0278D288;
|
|
L_0278D270: ; // 0x278d270
|
|
/* 0278D270 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 0278D270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278D274 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278D278 */ _t28 = cpu->r[8] + cpu->r[0];
|
|
/* 0278D278 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0278D27C */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D27C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278D280 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D284 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D284 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
L_0278D288: ; // 0x278d288
|
|
/* 0278D288 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D288 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278D28C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278D290 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278D294 */ cpu->lr = cpu->r[0];
|
|
/* 0278D298 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278D29C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278D2A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278D2A4 */ return;
|
|
}
|
|
|
|
// fn_0278D1B0 @ 0x278d1b0
|
|
void Gambit_fn_0278D1B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0278D1B0: ; // 0x278d1b0
|
|
/* 0278D1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278D1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278D1B0 */ cpu->r[1] = _t0;
|
|
/* 0278D1B4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278D1B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0278D1BC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278D1C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278D1C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D1C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D1C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278D1CC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D1CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278D1D0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0278D1D4 */ Gambit_fn_0278CC64(cpu);
|
|
/* 0278D1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D1DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D1DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278D1DC */ if (_t6) goto L_0278D200; else goto L_0278D1E0;
|
|
L_0278D1E0: ; // 0x278d1e0
|
|
/* 0278D1E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D1E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278D1E4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278D1E8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D1E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278D1EC */ cpu->lr = cpu->r[0];
|
|
/* 0278D1F0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278D1F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278D1F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278D1FC */ return;
|
|
L_0278D200: ; // 0x278d200
|
|
/* 0278D200 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278D204 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D208 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278D20C */ Gambit_fn_0278CCC8(cpu);
|
|
/* 0278D210 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278D210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278D214 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D214 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278D214 */ if (_t12) goto L_0278D288; else goto L_0278D218;
|
|
L_0278D218: ; // 0x278d218
|
|
/* 0278D218 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278D21C */ cpu->r[4] = cpu->r[31];
|
|
/* 0278D220 */ Gambit_fn_0278D090(cpu);
|
|
/* 0278D224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D228 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D228 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278D228 */ if (_t14) goto L_0278D25C; else goto L_0278D22C;
|
|
L_0278D22C: ; // 0x278d22c
|
|
/* 0278D22C */ _t15 = cpu->r[29] + 0x00000008u;
|
|
/* 0278D22C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278D230 */ _t16 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0278D230 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278D234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 0278D238 */ cpu->r[12] = cpu->r[29] + 0x00000008u;
|
|
/* 0278D23C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D23C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278D23C */ if (_t18) goto L_0278D240; else goto L_0278D288;
|
|
L_0278D240: ; // 0x278d240
|
|
/* 0278D240 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278D244 */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 0278D244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278D248 */ _t20 = cpu->r[8] + cpu->r[0];
|
|
/* 0278D248 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0278D24C */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D24C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278D250 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D254 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D254 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0278D258 */ goto L_0278D288;
|
|
L_0278D25C: ; // 0x278d25c
|
|
/* 0278D25C */ _t23 = cpu->r[29] + 0x00000018u;
|
|
/* 0278D25C */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278D260 */ _t24 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0278D260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278D264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0278D268 */ cpu->r[12] = cpu->r[29] + 0x00000018u;
|
|
/* 0278D26C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D26C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278D26C */ if (_t26) goto L_0278D270; else goto L_0278D288;
|
|
L_0278D270: ; // 0x278d270
|
|
/* 0278D270 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 0278D270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278D274 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278D278 */ _t28 = cpu->r[8] + cpu->r[0];
|
|
/* 0278D278 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0278D27C */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D27C */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278D280 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D284 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D284 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
L_0278D288: ; // 0x278d288
|
|
/* 0278D288 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D288 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278D28C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278D28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278D290 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D290 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278D294 */ cpu->lr = cpu->r[0];
|
|
/* 0278D298 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278D29C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278D2A0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278D2A4 */ return;
|
|
}
|
|
|
|
// fn_0278D2A8 @ 0x278d2a8
|
|
void Gambit_fn_0278D2A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361;
|
|
|
|
L_0278D2A8: ; // 0x278d2a8
|
|
/* 0278D2A8 */ _t0 = cpu->r[1] + 0xFFFFFD28u;
|
|
/* 0278D2A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278D2A8 */ cpu->r[1] = _t0;
|
|
/* 0278D2AC */ /* nop */
|
|
/* 0278D2B0 */ cpu->r[22] = cpu->r[3];
|
|
/* 0278D2B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278D2B8 */ cpu->r[7] = cpu->r[3];
|
|
/* 0278D2BC */ cpu->r[0] = cpu->lr;
|
|
/* 0278D2C0 */ cpu->r[20] = 0x10100000u;
|
|
/* 0278D2C4 */ cpu->r[8] = 0x10100000u;
|
|
/* 0278D2C8 */ _t1 = cpu->r[1] + 0x000002DCu;
|
|
/* 0278D2C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278D2CC */ cpu->r[20] = cpu->r[20] + 0x000066ECu;
|
|
/* 0278D2D0 */ cpu->r[8] = cpu->r[8] + 0x00006800u;
|
|
/* 0278D2D4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0278D2D8 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0278D2D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[20]);
|
|
/* 0278D2DC */ cpu->r[6] = 0x00000001u;
|
|
/* 0278D2E0 */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278D2E4 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278D2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0278D2E8 */ Gambit_fn_02822600(cpu);
|
|
/* 0278D2EC */ cpu->r[7] = 0x10100000u;
|
|
/* 0278D2F0 */ cpu->r[19] = cpu->r[3];
|
|
/* 0278D2F4 */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 0278D2F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[20]);
|
|
/* 0278D2F8 */ cpu->r[7] = cpu->r[7] + 0x000067D8u;
|
|
/* 0278D2FC */ cpu->r[31] = 0x10110000u;
|
|
/* 0278D300 */ cpu->r[28] = 0x10100000u;
|
|
/* 0278D304 */ _t5 = cpu->r[22] + 0x00000078u;
|
|
/* 0278D304 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278D308 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278D30C */ cpu->r[21] = 0x101D0000u;
|
|
/* 0278D310 */ cpu->r[28] = cpu->r[28] + 0x00006794u;
|
|
/* 0278D314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0278D318 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278D318 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 0278D31C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D31C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278D31C */ if (_t8) goto L_0278D66C; else goto L_0278D320;
|
|
L_0278D320: ; // 0x278d320
|
|
/* 0278D320 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278D324 */ _t9 = cpu->r[1] + 0x00000044u;
|
|
/* 0278D324 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0278D328 */ cpu->r[4] = 0x00000020u;
|
|
/* 0278D32C */ cpu->r[11] = cpu->r[11] + 0x000067ACu;
|
|
/* 0278D330 */ _t10 = cpu->r[1] + 0x00000048u;
|
|
/* 0278D330 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 0278D334 */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278D338 */ _t11 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0278D338 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0278D33C */ Gambit_fn_02C89380(cpu);
|
|
/* 0278D340 */ cpu->r[27] = 0x10100000u;
|
|
/* 0278D344 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278D348 */ cpu->r[27] = cpu->r[27] + 0x000067BCu;
|
|
/* 0278D34C */ _t12 = cpu->r[3] + 0xFFFF92FCu;
|
|
/* 0278D34C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278D350 */ _t13 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0278D350 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 0278D354 */ Gambit_fn_027AE68C(cpu);
|
|
/* 0278D358 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D35C */ cpu->r[5] = cpu->r[22] + 0x00000024u;
|
|
/* 0278D360 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278D364 */ Gambit_fn_0280CEBC(cpu);
|
|
/* 0278D368 */ _t14 = cpu->r[1] + 0x00000074u;
|
|
/* 0278D368 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0278D36C */ cpu->r[6] = cpu->r[1] + 0x0000007Cu;
|
|
/* 0278D370 */ _t15 = cpu->r[31] + 0x00007399u;
|
|
/* 0278D370 */ cpu->r[30] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0278D374 */ cpu->r[9] = 0x00000100u;
|
|
/* 0278D378 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 0278D378 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0278D37C */ cpu->r[5] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D380 */ _t17 = cpu->r[1] + 0x0000017Cu;
|
|
/* 0278D380 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[29]);
|
|
/* 0278D384 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278D388 */ _t18 = cpu->r[1] + 0x00000078u;
|
|
/* 0278D388 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0278D38C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0278D390 */ cpu->r[7] = 0x00000001u;
|
|
/* 0278D394 */ _t19 = cpu->r[1] + 0x0000017Bu;
|
|
/* 0278D394 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0278D398 */ cpu->r[6] = cpu->r[1] + 0x00000070u;
|
|
/* 0278D39C */ _t20 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0278D39C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
|
|
/* 0278D3A0 */ Gambit_fn_0280CF68(cpu);
|
|
/* 0278D3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D3A8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D3A8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278D3A8 */ if (_t22) goto L_0278D620; else goto L_0278D3AC;
|
|
L_0278D3AC: ; // 0x278d3ac
|
|
/* 0278D3AC */ cpu->r[24] = 0x00000100u;
|
|
/* 0278D3B0 */ cpu->r[31] = cpu->r[1] + 0x0000018Cu;
|
|
L_0278D3B4: ; // 0x278d3b4
|
|
/* 0278D3B4 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0278D3B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278D3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278D3BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D3BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0278D3BC */ if (_t25) goto L_0278D620; else goto L_0278D3C0;
|
|
L_0278D3C0: ; // 0x278d3c0
|
|
/* 0278D3C0 */ _t26 = cpu->r[1] + 0x0000017Cu;
|
|
/* 0278D3C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0278D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278D3C8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D3C8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278D3C8 */ if (_t28) goto L_0278D3CC; else goto L_0278D600;
|
|
L_0278D3CC: ; // 0x278d3cc
|
|
/* 0278D3CC */ _t29 = cpu->r[21] + 0xFFFF9014u;
|
|
/* 0278D3CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278D3D0 */ _t30 = cpu->r[1] + 0x00000074u;
|
|
/* 0278D3D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278D3D4 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 0278D3D4 */ rbrew_write32(cpu->mem, _t31, cpu->r[20]);
|
|
/* 0278D3D8 */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 0278D3D8 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 0278D3DC */ _t33 = cpu->r[9] + 0x00000014u;
|
|
/* 0278D3DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278D3E0 */ cpu->ctr = cpu->r[10];
|
|
/* 0278D3E4 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 0278D3E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D3EC */ _t34 = cpu->r[1] + 0x00000070u;
|
|
/* 0278D3EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278D3F0 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 0278D3F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0278D3F4 */ cpu->r[6] = 0x00080000u;
|
|
/* 0278D3F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0278D3FC */ cpu->r[29] = 0x00000000u;
|
|
/* 0278D400 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D400 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278D400 */ if (_t37) goto L_0278D454; else goto L_0278D404;
|
|
L_0278D404: ; // 0x278d404
|
|
/* 0278D404 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278D408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0278D40C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278D410 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D410 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0278D410 */ if (_t39) goto L_0278D450; else goto L_0278D414;
|
|
L_0278D414: ; // 0x278d414
|
|
/* 0278D414 */ _t40 = cpu->r[5] + 0x00000000u;
|
|
/* 0278D414 */ cpu->r[4] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0278D418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 0278D41C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D41C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278D41C */ if (_t42) goto L_0278D420; else goto L_0278D404;
|
|
L_0278D420: ; // 0x278d420
|
|
/* 0278D420 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 0278D420 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278D424 */ _t44 = cpu->r[7] + 0x00000014u;
|
|
/* 0278D424 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278D428 */ cpu->ctr = cpu->r[8];
|
|
/* 0278D42C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278D430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D434 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 0278D434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0278D438 */ _t46 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D438 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0278D43C */ cpu->r[26] = 0x00000000u;
|
|
/* 0278D440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0278D444 */ cpu->r[4] = 0x00080000u;
|
|
/* 0278D448 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D448 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0278D448 */ if (_t48) goto L_0278D44C; else goto L_0278D480;
|
|
L_0278D44C: ; // 0x278d44c
|
|
/* 0278D44C */ goto L_0278D4B0;
|
|
L_0278D450: ; // 0x278d450
|
|
/* 0278D450 */ cpu->r[29] = 0x00000000u;
|
|
L_0278D454: ; // 0x278d454
|
|
/* 0278D454 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 0278D454 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0278D458 */ _t50 = cpu->r[7] + 0x00000014u;
|
|
/* 0278D458 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0278D45C */ cpu->ctr = cpu->r[8];
|
|
/* 0278D460 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278D464 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D468 */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 0278D468 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0278D46C */ _t52 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D46C */ cpu->r[9] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0278D470 */ cpu->r[26] = 0x00000000u;
|
|
/* 0278D474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0278D478 */ cpu->r[4] = 0x00080000u;
|
|
/* 0278D47C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D47C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0278D47C */ if (_t54) goto L_0278D44C; else goto L_0278D480;
|
|
L_0278D480: ; // 0x278d480
|
|
/* 0278D480 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0278D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[4]);
|
|
/* 0278D488 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278D48C */ _t55 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D48C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0278D48C */ if (_t56) goto L_0278D4AC; else goto L_0278D490;
|
|
L_0278D490: ; // 0x278d490
|
|
/* 0278D490 */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D490 */ cpu->r[0] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0278D494 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0278D498 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D498 */ _t59 = _t58 & 0x00000001u;
|
|
/* 0278D498 */ if (_t59) goto L_0278D49C; else goto L_0278D480;
|
|
L_0278D49C: ; // 0x278d49c
|
|
/* 0278D49C */ cpu->r[29] = cpu->r[29] - cpu->r[26];
|
|
/* 0278D49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278D4A0 */ cpu->r[17] = cpu->r[29] + 0x00000001u;
|
|
/* 0278D4A4 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D4A4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0278D4A4 */ if (_t61) goto L_0278D4A8; else goto L_0278D4BC;
|
|
L_0278D4A8: ; // 0x278d4a8
|
|
/* 0278D4A8 */ goto L_0278D57C;
|
|
L_0278D4AC: ; // 0x278d4ac
|
|
/* 0278D4AC */ cpu->r[26] = 0x00000000u;
|
|
L_0278D4B0: ; // 0x278d4b0
|
|
/* 0278D4B0 */ cpu->r[29] = cpu->r[29] - cpu->r[26];
|
|
/* 0278D4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278D4B4 */ cpu->r[17] = cpu->r[29] + 0x00000001u;
|
|
/* 0278D4B8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D4B8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0278D4B8 */ if (_t63) goto L_0278D57C; else goto L_0278D4BC;
|
|
L_0278D4BC: ; // 0x278d4bc
|
|
/* 0278D4BC */ cpu->r[23] = cpu->r[30];
|
|
L_0278D4C0: ; // 0x278d4c0
|
|
/* 0278D4C0 */ _t64 = cpu->r[1] + 0x00000070u;
|
|
/* 0278D4C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0278D4C4 */ cpu->r[18] = cpu->r[26];
|
|
/* 0278D4C8 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D4C8 */ rbrew_write32(cpu->mem, _t65, cpu->r[20]);
|
|
/* 0278D4CC */ cpu->r[6] = cpu->r[8] + cpu->r[29];
|
|
/* 0278D4D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278D4D4 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 0278D4D4 */ rbrew_write32(cpu->mem, _t66, cpu->r[6]);
|
|
/* 0278D4D8 */ Gambit_fn_0278DDDC(cpu);
|
|
/* 0278D4DC */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278D4DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0278D4E0 */ _t68 = cpu->r[10] + 0x00000014u;
|
|
/* 0278D4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278D4E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278D4E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278D4EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D4F0 */ _t69 = cpu->r[1] + 0x00000024u;
|
|
/* 0278D4F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0278D4F4 */ _t70 = cpu->r[5] + 0x00000014u;
|
|
/* 0278D4F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0278D4F8 */ cpu->ctr = cpu->r[7];
|
|
/* 0278D4FC */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 0278D4FC */ cpu->r[16] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278D500 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278D504 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D508 */ _t72 = cpu->r[1] + 0x00000020u;
|
|
/* 0278D508 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278D50C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[16], cpu->r[9]);
|
|
/* 0278D510 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D510 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0278D510 */ if (_t74) goto L_0278D564; else goto L_0278D514;
|
|
L_0278D514: ; // 0x278d514
|
|
/* 0278D514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0278D518 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D518 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0278D518 */ if (_t76) goto L_0278D51C; else goto L_0278D564;
|
|
L_0278D51C: ; // 0x278d51c
|
|
/* 0278D51C */ _t77 = cpu->r[1] + 0x00000020u;
|
|
/* 0278D51C */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0278D520 */ cpu->ctr = cpu->r[18];
|
|
/* 0278D524 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 0278D524 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
L_0278D528: ; // 0x278d528
|
|
/* 0278D528 */ _t79 = cpu->r[11] + 0x00000000u;
|
|
/* 0278D528 */ cpu->r[6] = rbrew_read8(cpu->mem, _t79);
|
|
/* 0278D52C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[23]);
|
|
/* 0278D530 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D530 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0278D530 */ if (_t81) goto L_0278D534; else goto L_0278D544;
|
|
L_0278D534: ; // 0x278d534
|
|
/* 0278D534 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 0278D534 */ cpu->r[0] = rbrew_read8(cpu->mem, _t82);
|
|
/* 0278D538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 0278D53C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D53C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0278D53C */ if (_t84) goto L_0278D540; else goto L_0278D570;
|
|
L_0278D540: ; // 0x278d540
|
|
/* 0278D540 */ goto L_0278D564;
|
|
L_0278D544: ; // 0x278d544
|
|
/* 0278D544 */ _t85 = cpu->r[10] + 0x00000000u;
|
|
/* 0278D544 */ cpu->r[8] = rbrew_read8(cpu->mem, _t85);
|
|
/* 0278D548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[23]);
|
|
/* 0278D54C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D54C */ _t87 = _t86 & 0x00000001u;
|
|
/* 0278D54C */ if (_t87) goto L_0278D570; else goto L_0278D550;
|
|
L_0278D550: ; // 0x278d550
|
|
/* 0278D550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[6]);
|
|
/* 0278D554 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D554 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0278D554 */ if (_t89) goto L_0278D558; else goto L_0278D570;
|
|
L_0278D558: ; // 0x278d558
|
|
/* 0278D558 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278D55C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D560 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278D560 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278D560 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 0278D560 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0278D560 */ if (_t92) goto L_0278D528; else goto L_0278D564;
|
|
L_0278D564: ; // 0x278d564
|
|
/* 0278D564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278D568 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D568 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0278D568 */ if (_t94) goto L_0278D600; else goto L_0278D56C;
|
|
L_0278D56C: ; // 0x278d56c
|
|
/* 0278D56C */ goto L_0278D5A4;
|
|
L_0278D570: ; // 0x278d570
|
|
/* 0278D570 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
|
|
/* 0278D570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0278D574 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0278D578 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D578 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0278D578 */ if (_t96) goto L_0278D57C; else goto L_0278D4C0;
|
|
L_0278D57C: ; // 0x278d57c
|
|
/* 0278D57C */ cpu->r[7] = 0x00000001u;
|
|
/* 0278D580 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278D584 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0278D588 */ cpu->r[5] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D58C */ cpu->r[6] = cpu->r[1] + 0x00000070u;
|
|
/* 0278D590 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 0278D594 */ Gambit_fn_0280CF68(cpu);
|
|
/* 0278D598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D59C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D59C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0278D59C */ if (_t98) goto L_0278D5A0; else goto L_0278D3B4;
|
|
L_0278D5A0: ; // 0x278d5a0
|
|
/* 0278D5A0 */ goto L_0278D620;
|
|
L_0278D5A4: ; // 0x278d5a4
|
|
/* 0278D5A4 */ _t99 = cpu->r[1] + 0x00000184u;
|
|
/* 0278D5A4 */ rbrew_write32(cpu->mem, _t99, cpu->r[28]);
|
|
/* 0278D5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000100u);
|
|
/* 0278D5AC */ _t100 = cpu->r[31] + 0x00000000u;
|
|
/* 0278D5AC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[30]);
|
|
/* 0278D5B0 */ _t101 = cpu->r[1] + 0x00000180u;
|
|
/* 0278D5B0 */ rbrew_write32(cpu->mem, _t101, cpu->r[31]);
|
|
/* 0278D5B4 */ _t102 = cpu->r[31] + 0x000000FFu;
|
|
/* 0278D5B4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[30]);
|
|
/* 0278D5B8 */ _t103 = cpu->r[1] + 0x00000188u;
|
|
/* 0278D5B8 */ rbrew_write32(cpu->mem, _t103, cpu->r[24]);
|
|
/* 0278D5BC */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D5BC */ _t105 = _t104 & 0x00000001u;
|
|
/* 0278D5BC */ if (_t105) goto L_0278D5C4; else goto L_0278D5C0;
|
|
L_0278D5C0: ; // 0x278d5c0
|
|
/* 0278D5C0 */ cpu->r[29] = 0x000000FFu;
|
|
L_0278D5C4: ; // 0x278d5c4
|
|
/* 0278D5C4 */ _t106 = cpu->r[1] + 0x00000074u;
|
|
/* 0278D5C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0278D5C8 */ _t107 = cpu->r[4] + 0x00000014u;
|
|
/* 0278D5C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0278D5CC */ cpu->ctr = cpu->r[5];
|
|
/* 0278D5D0 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 0278D5D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D5D8 */ _t108 = cpu->r[1] + 0x00000070u;
|
|
/* 0278D5D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0278D5DC */ cpu->r[6] = 0x00000000u;
|
|
/* 0278D5E0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278D5E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278D5E8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278D5EC */ cpu->r[5] = cpu->r[1] + 0x00000180u;
|
|
/* 0278D5F0 */ cpu->r[3] = cpu->r[22];
|
|
/* 0278D5F4 */ cpu->r[4] = cpu->r[19];
|
|
/* 0278D5F8 */ _t109 = cpu->r[31] + cpu->r[29];
|
|
/* 0278D5F8 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[30]);
|
|
/* 0278D5FC */ Gambit_fn_0278D1AC(cpu);
|
|
L_0278D600: ; // 0x278d600
|
|
/* 0278D600 */ cpu->r[7] = 0x00000001u;
|
|
/* 0278D604 */ cpu->r[6] = cpu->r[1] + 0x00000070u;
|
|
/* 0278D608 */ cpu->r[5] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D60C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0278D610 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278D614 */ Gambit_fn_0280CF68(cpu);
|
|
/* 0278D618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D61C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D61C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0278D61C */ if (_t111) goto L_0278D620; else goto L_0278D3B4;
|
|
L_0278D620: ; // 0x278d620
|
|
/* 0278D620 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278D624 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D628 */ Gambit_fn_0280C8C8(cpu);
|
|
/* 0278D62C */ _t112 = cpu->r[1] + 0x00000048u;
|
|
/* 0278D62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0278D630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278D634 */ _t113 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0278D634 */ rbrew_write32(cpu->mem, _t113, cpu->r[27]);
|
|
/* 0278D638 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D638 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0278D638 */ if (_t115) goto L_0278DCF8; else goto L_0278D63C;
|
|
L_0278D63C: ; // 0x278d63c
|
|
/* 0278D63C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0278D640 */ Gambit_fn_0280C8C8(cpu);
|
|
/* 0278D644 */ _t116 = cpu->r[19] + 0x0000000Cu;
|
|
/* 0278D644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0278D648 */ _t117 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0278D648 */ cpu->r[8] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0278D64C */ cpu->ctr = cpu->r[8];
|
|
/* 0278D650 */ cpu->r[3] = cpu->r[19];
|
|
/* 0278D654 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D658 */ /* nop */
|
|
/* 0278D65C */ _t118 = cpu->r[1] + 0x000002DCu;
|
|
/* 0278D65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0278D660 */ cpu->lr = cpu->r[0];
|
|
/* 0278D664 */ cpu->r[1] = cpu->r[1] + 0x000002D8u;
|
|
/* 0278D668 */ return;
|
|
L_0278D66C: ; // 0x278d66c
|
|
/* 0278D66C */ _t119 = cpu->r[22] + 0x00000028u;
|
|
/* 0278D66C */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0278D670 */ _t120 = cpu->r[8] + 0x00000014u;
|
|
/* 0278D670 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0278D674 */ cpu->ctr = cpu->r[9];
|
|
/* 0278D678 */ cpu->r[3] = cpu->r[22] + 0x00000024u;
|
|
/* 0278D67C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D680 */ _t121 = cpu->r[22] + 0x00000024u;
|
|
/* 0278D680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0278D684 */ _t122 = cpu->r[31] + 0x00007399u;
|
|
/* 0278D684 */ cpu->r[30] = rbrew_read8(cpu->mem, _t122);
|
|
/* 0278D688 */ _t123 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D688 */ cpu->r[0] = rbrew_read8(cpu->mem, _t123);
|
|
/* 0278D68C */ cpu->r[9] = 0x00000000u;
|
|
/* 0278D690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0278D694 */ cpu->r[6] = 0x00080000u;
|
|
/* 0278D698 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D698 */ _t125 = _t124 & 0x00000001u;
|
|
/* 0278D698 */ if (_t125) goto L_0278D6F8; else goto L_0278D69C;
|
|
L_0278D69C: ; // 0x278d69c
|
|
/* 0278D69C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278D6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 0278D6A4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278D6A8 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D6A8 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0278D6A8 */ if (_t127) goto L_0278D6D8; else goto L_0278D6AC;
|
|
L_0278D6AC: ; // 0x278d6ac
|
|
/* 0278D6AC */ _t128 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D6AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t128);
|
|
/* 0278D6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0278D6B4 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D6B4 */ _t130 = _t129 & 0x00000001u;
|
|
/* 0278D6B4 */ if (_t130) goto L_0278D6B8; else goto L_0278D69C;
|
|
L_0278D6B8: ; // 0x278d6b8
|
|
/* 0278D6B8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278D6BC */ _t131 = cpu->r[8] + 0xFFFF94D4u;
|
|
/* 0278D6BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0278D6C0 */ _t132 = cpu->r[8] + 0x000002E4u;
|
|
/* 0278D6C0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0278D6C4 */ cpu->r[16] = cpu->r[8] + 0x000002E0u;
|
|
/* 0278D6C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[16]);
|
|
/* 0278D6CC */ cpu->r[23] = cpu->r[9];
|
|
/* 0278D6D0 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D6D0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0278D6D0 */ if (_t134) goto L_0278DCF8; else goto L_0278D6D4;
|
|
L_0278D6D4: ; // 0x278d6d4
|
|
/* 0278D6D4 */ goto L_0278D714;
|
|
L_0278D6D8: ; // 0x278d6d8
|
|
/* 0278D6D8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278D6DC */ _t135 = cpu->r[8] + 0xFFFF94D4u;
|
|
/* 0278D6DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0278D6E0 */ _t136 = cpu->r[8] + 0x000002E4u;
|
|
/* 0278D6E0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0278D6E4 */ cpu->r[16] = cpu->r[8] + 0x000002E0u;
|
|
/* 0278D6E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[16]);
|
|
/* 0278D6EC */ cpu->r[23] = 0x00000000u;
|
|
/* 0278D6F0 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D6F0 */ _t138 = _t137 & 0x00000001u;
|
|
/* 0278D6F0 */ if (_t138) goto L_0278DCF8; else goto L_0278D6F4;
|
|
L_0278D6F4: ; // 0x278d6f4
|
|
/* 0278D6F4 */ goto L_0278D714;
|
|
L_0278D6F8: ; // 0x278d6f8
|
|
/* 0278D6F8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0278D6FC */ _t139 = cpu->r[8] + 0xFFFF94D4u;
|
|
/* 0278D6FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0278D700 */ _t140 = cpu->r[8] + 0x000002E4u;
|
|
/* 0278D700 */ cpu->r[24] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0278D704 */ cpu->r[16] = cpu->r[8] + 0x000002E0u;
|
|
/* 0278D708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[16]);
|
|
/* 0278D70C */ cpu->r[23] = cpu->r[9];
|
|
/* 0278D710 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D710 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0278D710 */ if (_t142) goto L_0278DCF8; else goto L_0278D714;
|
|
L_0278D714: ; // 0x278d714
|
|
/* 0278D714 */ cpu->r[29] = cpu->r[30];
|
|
/* 0278D718 */ cpu->r[15] = 0x101F0000u;
|
|
/* 0278D71C */ cpu->r[14] = 0x00000100u;
|
|
/* 0278D720 */ cpu->r[30] = cpu->r[1] + 0x00000050u;
|
|
/* 0278D724 */ cpu->r[31] = cpu->r[1] + 0x0000015Cu;
|
|
L_0278D728: ; // 0x278d728
|
|
/* 0278D728 */ _t143 = cpu->r[24] + 0x00000008u;
|
|
/* 0278D728 */ cpu->r[17] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0278D72C */ _t144 = cpu->r[17] + 0x00000018u;
|
|
/* 0278D72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0278D730 */ _t145 = cpu->r[12] + 0x00000014u;
|
|
/* 0278D730 */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0278D734 */ cpu->ctr = cpu->r[4];
|
|
/* 0278D738 */ cpu->r[3] = cpu->r[17] + 0x00000014u;
|
|
/* 0278D73C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D740 */ _t146 = cpu->r[17] + 0x00000014u;
|
|
/* 0278D740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0278D744 */ cpu->r[0] = cpu->r[29];
|
|
/* 0278D748 */ _t147 = cpu->r[11] + 0x00000000u;
|
|
/* 0278D748 */ cpu->r[5] = rbrew_read8(cpu->mem, _t147);
|
|
/* 0278D74C */ cpu->r[27] = 0x00000000u;
|
|
/* 0278D750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0278D754 */ cpu->r[12] = 0x00080000u;
|
|
/* 0278D758 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D758 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0278D758 */ if (_t149) goto L_0278D7B0; else goto L_0278D75C;
|
|
L_0278D75C: ; // 0x278d75c
|
|
/* 0278D75C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0278D760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[12]);
|
|
/* 0278D764 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278D768 */ _t150 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D768 */ _t151 = _t150 & 0x00000001u;
|
|
/* 0278D768 */ if (_t151) goto L_0278D7AC; else goto L_0278D76C;
|
|
L_0278D76C: ; // 0x278d76c
|
|
/* 0278D76C */ _t152 = cpu->r[11] + 0x00000000u;
|
|
/* 0278D76C */ cpu->r[6] = rbrew_read8(cpu->mem, _t152);
|
|
/* 0278D770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 0278D774 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D774 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0278D774 */ if (_t154) goto L_0278D778; else goto L_0278D75C;
|
|
L_0278D778: ; // 0x278d778
|
|
/* 0278D778 */ _t155 = cpu->r[22] + 0x00000028u;
|
|
/* 0278D778 */ cpu->r[7] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0278D77C */ _t156 = cpu->r[7] + 0x00000014u;
|
|
/* 0278D77C */ cpu->r[9] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0278D780 */ cpu->ctr = cpu->r[9];
|
|
/* 0278D784 */ cpu->r[3] = cpu->r[22] + 0x00000024u;
|
|
/* 0278D788 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D78C */ _t157 = cpu->r[22] + 0x00000024u;
|
|
/* 0278D78C */ cpu->r[7] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0278D790 */ cpu->r[8] = cpu->r[29];
|
|
/* 0278D794 */ _t158 = cpu->r[7] + 0x00000000u;
|
|
/* 0278D794 */ cpu->r[0] = rbrew_read8(cpu->mem, _t158);
|
|
/* 0278D798 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278D79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0278D7A0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278D7A4 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D7A4 */ _t160 = _t159 & 0x00000001u;
|
|
/* 0278D7A4 */ if (_t160) goto L_0278D824; else goto L_0278D7A8;
|
|
L_0278D7A8: ; // 0x278d7a8
|
|
/* 0278D7A8 */ goto L_0278D7E0;
|
|
L_0278D7AC: ; // 0x278d7ac
|
|
/* 0278D7AC */ cpu->r[27] = 0x00000000u;
|
|
L_0278D7B0: ; // 0x278d7b0
|
|
/* 0278D7B0 */ _t161 = cpu->r[22] + 0x00000028u;
|
|
/* 0278D7B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0278D7B4 */ _t162 = cpu->r[7] + 0x00000014u;
|
|
/* 0278D7B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0278D7B8 */ cpu->ctr = cpu->r[9];
|
|
/* 0278D7BC */ cpu->r[3] = cpu->r[22] + 0x00000024u;
|
|
/* 0278D7C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D7C4 */ _t163 = cpu->r[22] + 0x00000024u;
|
|
/* 0278D7C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0278D7C8 */ cpu->r[8] = cpu->r[29];
|
|
/* 0278D7CC */ _t164 = cpu->r[7] + 0x00000000u;
|
|
/* 0278D7CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t164);
|
|
/* 0278D7D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278D7D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 0278D7D8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278D7DC */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D7DC */ _t166 = _t165 & 0x00000001u;
|
|
/* 0278D7DC */ if (_t166) goto L_0278D824; else goto L_0278D7E0;
|
|
L_0278D7E0: ; // 0x278d7e0
|
|
/* 0278D7E0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0278D7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 0278D7E8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0278D7EC */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D7EC */ _t168 = _t167 & 0x00000001u;
|
|
/* 0278D7EC */ if (_t168) goto L_0278D810; else goto L_0278D7F0;
|
|
L_0278D7F0: ; // 0x278d7f0
|
|
/* 0278D7F0 */ _t169 = cpu->r[7] + 0x00000000u;
|
|
/* 0278D7F0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t169);
|
|
/* 0278D7F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 0278D7F8 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D7F8 */ _t171 = _t170 & 0x00000001u;
|
|
/* 0278D7F8 */ if (_t171) goto L_0278D7FC; else goto L_0278D7E0;
|
|
L_0278D7FC: ; // 0x278d7fc
|
|
/* 0278D7FC */ cpu->r[25] = cpu->r[4];
|
|
/* 0278D800 */ cpu->r[10] = cpu->r[27] - cpu->r[25];
|
|
/* 0278D800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278D804 */ cpu->r[18] = 0x00000000u;
|
|
/* 0278D808 */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D808 */ _t173 = _t172 & 0x00000001u;
|
|
/* 0278D808 */ if (_t173) goto L_0278D80C; else goto L_0278D834;
|
|
L_0278D80C: ; // 0x278d80c
|
|
/* 0278D80C */ goto L_0278DCEC;
|
|
L_0278D810: ; // 0x278d810
|
|
/* 0278D810 */ cpu->r[25] = 0x00000000u;
|
|
/* 0278D814 */ cpu->r[10] = cpu->r[27];
|
|
/* 0278D814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278D818 */ cpu->r[18] = cpu->r[25];
|
|
/* 0278D81C */ _t174 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D81C */ _t175 = _t174 & 0x00000001u;
|
|
/* 0278D81C */ if (_t175) goto L_0278D820; else goto L_0278D834;
|
|
L_0278D820: ; // 0x278d820
|
|
/* 0278D820 */ goto L_0278DCEC;
|
|
L_0278D824: ; // 0x278d824
|
|
/* 0278D824 */ cpu->r[25] = cpu->r[4];
|
|
/* 0278D828 */ cpu->r[10] = cpu->r[27] - cpu->r[25];
|
|
/* 0278D828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278D82C */ cpu->r[18] = 0x00000000u;
|
|
/* 0278D830 */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D830 */ _t177 = _t176 & 0x00000001u;
|
|
/* 0278D830 */ if (_t177) goto L_0278DCEC; else goto L_0278D834;
|
|
L_0278D834: ; // 0x278d834
|
|
/* 0278D834 */ cpu->r[27] = cpu->r[10];
|
|
L_0278D838: ; // 0x278d838
|
|
/* 0278D838 */ _t178 = cpu->r[17] + 0x00000014u;
|
|
/* 0278D838 */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0278D83C */ _t179 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D83C */ rbrew_write32(cpu->mem, _t179, cpu->r[20]);
|
|
/* 0278D840 */ cpu->r[5] = cpu->r[5] + cpu->r[18];
|
|
/* 0278D844 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278D848 */ _t180 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D848 */ rbrew_write32(cpu->mem, _t180, cpu->r[5]);
|
|
/* 0278D84C */ Gambit_fn_0278DDDC(cpu);
|
|
/* 0278D850 */ _t181 = cpu->r[1] + 0x00000014u;
|
|
/* 0278D850 */ cpu->r[6] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0278D854 */ _t182 = cpu->r[6] + 0x00000014u;
|
|
/* 0278D854 */ cpu->r[7] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0278D858 */ cpu->ctr = cpu->r[7];
|
|
/* 0278D85C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0278D860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D864 */ _t183 = cpu->r[22] + 0x00000028u;
|
|
/* 0278D864 */ cpu->r[8] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0278D868 */ _t184 = cpu->r[8] + 0x00000014u;
|
|
/* 0278D868 */ cpu->r[9] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0278D86C */ cpu->ctr = cpu->r[9];
|
|
/* 0278D870 */ _t185 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D870 */ cpu->r[26] = rbrew_read32(cpu->mem, _t185);
|
|
/* 0278D874 */ cpu->r[3] = cpu->r[22] + 0x00000024u;
|
|
/* 0278D878 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D87C */ _t186 = cpu->r[22] + 0x00000024u;
|
|
/* 0278D87C */ cpu->r[12] = rbrew_read32(cpu->mem, _t186);
|
|
/* 0278D880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[12]);
|
|
/* 0278D884 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D884 */ _t188 = _t187 & 0x00000001u;
|
|
/* 0278D884 */ if (_t188) goto L_0278D904; else goto L_0278D888;
|
|
L_0278D888: ; // 0x278d888
|
|
/* 0278D888 */ cpu->r[11] = cpu->r[25];
|
|
/* 0278D888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278D88C */ cpu->r[4] = 0x00000000u;
|
|
/* 0278D890 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D890 */ _t190 = _t189 & 0x00000001u;
|
|
/* 0278D890 */ if (_t190) goto L_0278D894; else goto L_0278D904;
|
|
L_0278D894: ; // 0x278d894
|
|
/* 0278D894 */ cpu->ctr = cpu->r[11];
|
|
/* 0278D898 */ _t191 = cpu->r[1] + 0x00000010u;
|
|
/* 0278D898 */ cpu->r[5] = rbrew_read32(cpu->mem, _t191);
|
|
/* 0278D89C */ cpu->r[0] = cpu->r[29];
|
|
L_0278D8A0: ; // 0x278d8a0
|
|
/* 0278D8A0 */ _t192 = cpu->r[5] + 0x00000000u;
|
|
/* 0278D8A0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t192);
|
|
/* 0278D8A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0278D8A8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8A8 */ _t194 = _t193 & 0x00000001u;
|
|
/* 0278D8A8 */ if (_t194) goto L_0278D8AC; else goto L_0278D8BC;
|
|
L_0278D8AC: ; // 0x278d8ac
|
|
/* 0278D8AC */ _t195 = cpu->r[12] + cpu->r[4];
|
|
/* 0278D8AC */ cpu->r[10] = rbrew_read8(cpu->mem, _t195);
|
|
/* 0278D8B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0278D8B4 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8B4 */ _t197 = _t196 & 0x00000001u;
|
|
/* 0278D8B4 */ if (_t197) goto L_0278D904; else goto L_0278D8B8;
|
|
L_0278D8B8: ; // 0x278d8b8
|
|
/* 0278D8B8 */ goto L_0278D8E8;
|
|
L_0278D8BC: ; // 0x278d8bc
|
|
/* 0278D8BC */ _t198 = cpu->r[12] + cpu->r[4];
|
|
/* 0278D8BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t198);
|
|
/* 0278D8C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0278D8C4 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8C4 */ _t200 = _t199 & 0x00000001u;
|
|
/* 0278D8C4 */ if (_t200) goto L_0278D8E8; else goto L_0278D8C8;
|
|
L_0278D8C8: ; // 0x278d8c8
|
|
/* 0278D8C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 0278D8CC */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8CC */ _t202 = _t201 & 0x00000001u;
|
|
/* 0278D8CC */ if (_t202) goto L_0278D8D0; else goto L_0278D8E8;
|
|
L_0278D8D0: ; // 0x278d8d0
|
|
/* 0278D8D0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278D8D4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0278D8D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278D8D8 */ _t203 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278D8D8 */ _t204 = _t203 >> (0x00000002u & 31u);
|
|
/* 0278D8D8 */ _t205 = _t204 & 0x00000001u;
|
|
/* 0278D8D8 */ if (_t205) goto L_0278D8A0; else goto L_0278D8DC;
|
|
L_0278D8DC: ; // 0x278d8dc
|
|
/* 0278D8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0xFFFFFFFFu);
|
|
/* 0278D8E0 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8E0 */ _t207 = _t206 & 0x00000001u;
|
|
/* 0278D8E0 */ if (_t207) goto L_0278DCEC; else goto L_0278D8E4;
|
|
L_0278D8E4: ; // 0x278d8e4
|
|
/* 0278D8E4 */ goto L_0278D90C;
|
|
L_0278D8E8: ; // 0x278d8e8
|
|
/* 0278D8E8 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 0278D8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[27]);
|
|
/* 0278D8F0 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D8F0 */ _t209 = _t208 & 0x00000001u;
|
|
/* 0278D8F0 */ if (_t209) goto L_0278D8F4; else goto L_0278D838;
|
|
L_0278D8F4: ; // 0x278d8f4
|
|
/* 0278D8F4 */ _t210 = cpu->r[24] + 0x00000004u;
|
|
/* 0278D8F4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t210);
|
|
/* 0278D8F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[16]);
|
|
/* 0278D8FC */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D8FC */ _t212 = _t211 & 0x00000001u;
|
|
/* 0278D8FC */ if (_t212) goto L_0278D900; else goto L_0278D728;
|
|
L_0278D900: ; // 0x278d900
|
|
/* 0278D900 */ goto L_0278DCF8;
|
|
L_0278D904: ; // 0x278d904
|
|
/* 0278D904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0xFFFFFFFFu);
|
|
/* 0278D908 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D908 */ _t214 = _t213 & 0x00000001u;
|
|
/* 0278D908 */ if (_t214) goto L_0278DCEC; else goto L_0278D90C;
|
|
L_0278D90C: ; // 0x278d90c
|
|
/* 0278D90C */ _t215 = cpu->r[24] + 0x00000008u;
|
|
/* 0278D90C */ cpu->r[27] = rbrew_read32(cpu->mem, _t215);
|
|
/* 0278D910 */ _t216 = cpu->r[27] + 0x00000018u;
|
|
/* 0278D910 */ cpu->r[11] = rbrew_read32(cpu->mem, _t216);
|
|
/* 0278D914 */ _t217 = cpu->r[11] + 0x00000014u;
|
|
/* 0278D914 */ cpu->r[12] = rbrew_read32(cpu->mem, _t217);
|
|
/* 0278D918 */ cpu->ctr = cpu->r[12];
|
|
/* 0278D91C */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 0278D920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278D924 */ _t218 = cpu->r[27] + 0x00000014u;
|
|
/* 0278D924 */ cpu->r[11] = rbrew_read32(cpu->mem, _t218);
|
|
/* 0278D928 */ cpu->r[12] = cpu->r[11];
|
|
/* 0278D92C */ cpu->r[7] = cpu->r[29];
|
|
/* 0278D930 */ _t219 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t219);
|
|
/* 0278D934 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278D938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0278D93C */ cpu->r[0] = 0x00080000u;
|
|
/* 0278D940 */ _t220 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D940 */ _t221 = _t220 & 0x00000001u;
|
|
/* 0278D940 */ if (_t221) goto L_0278D970; else goto L_0278D944;
|
|
L_0278D944: ; // 0x278d944
|
|
/* 0278D944 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278D948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 0278D94C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278D950 */ _t222 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D950 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0278D950 */ if (_t223) goto L_0278D96C; else goto L_0278D954;
|
|
L_0278D954: ; // 0x278d954
|
|
/* 0278D954 */ _t224 = cpu->r[12] + 0x00000000u;
|
|
/* 0278D954 */ cpu->r[4] = rbrew_read8(cpu->mem, _t224);
|
|
/* 0278D958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0278D95C */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D95C */ _t226 = _t225 & 0x00000001u;
|
|
/* 0278D95C */ if (_t226) goto L_0278D960; else goto L_0278D944;
|
|
L_0278D960: ; // 0x278d960
|
|
/* 0278D960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278D964 */ _t227 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D964 */ _t228 = _t227 & 0x00000001u;
|
|
/* 0278D964 */ if (_t228) goto L_0278D980; else goto L_0278D968;
|
|
L_0278D968: ; // 0x278d968
|
|
/* 0278D968 */ goto L_0278D978;
|
|
L_0278D96C: ; // 0x278d96c
|
|
/* 0278D96C */ cpu->r[6] = 0x00000000u;
|
|
L_0278D970: ; // 0x278d970
|
|
/* 0278D970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278D974 */ _t229 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278D974 */ _t230 = _t229 & 0x00000001u;
|
|
/* 0278D974 */ if (_t230) goto L_0278D980; else goto L_0278D978;
|
|
L_0278D978: ; // 0x278d978
|
|
/* 0278D978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[6]);
|
|
/* 0278D97C */ _t231 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278D97C */ _t232 = _t231 & 0x00000001u;
|
|
/* 0278D97C */ if (_t232) goto L_0278D980; else goto L_0278D9CC;
|
|
L_0278D980: ; // 0x278d980
|
|
/* 0278D980 */ _t233 = cpu->r[1] + 0x00000034u;
|
|
/* 0278D980 */ rbrew_write32(cpu->mem, _t233, cpu->r[20]);
|
|
/* 0278D984 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278D988 */ _t234 = cpu->r[1] + 0x00000044u;
|
|
/* 0278D988 */ rbrew_write32(cpu->mem, _t234, cpu->r[30]);
|
|
/* 0278D98C */ cpu->r[7] = cpu->r[7] + 0x0000677Cu;
|
|
/* 0278D990 */ _t235 = cpu->r[15] + 0x000066E8u;
|
|
/* 0278D990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t235);
|
|
/* 0278D994 */ _t236 = cpu->r[1] + 0x00000048u;
|
|
/* 0278D994 */ rbrew_write32(cpu->mem, _t236, cpu->r[7]);
|
|
/* 0278D998 */ _t237 = cpu->r[30] + 0x000000FFu;
|
|
/* 0278D998 */ rbrew_write8(cpu->mem, _t237, (uint8_t)cpu->r[29]);
|
|
/* 0278D99C */ _t238 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278D99C */ rbrew_write32(cpu->mem, _t238, cpu->r[14]);
|
|
/* 0278D9A0 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9A4 */ _t239 = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9A4 */ rbrew_write32(cpu->mem, _t239, cpu->r[0]);
|
|
/* 0278D9A8 */ Gambit_fn_0278DDDC(cpu);
|
|
/* 0278D9AC */ _t240 = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t240);
|
|
/* 0278D9B0 */ cpu->r[6] = cpu->r[29];
|
|
/* 0278D9B4 */ _t241 = cpu->r[8] + 0x00000000u;
|
|
/* 0278D9B4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t241);
|
|
/* 0278D9B8 */ cpu->r[27] = 0x00000000u;
|
|
/* 0278D9BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 0278D9C0 */ cpu->r[10] = 0x00080000u;
|
|
/* 0278D9C4 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278D9C4 */ _t243 = _t242 & 0x00000001u;
|
|
/* 0278D9C4 */ if (_t243) goto L_0278D9C8; else goto L_0278DA14;
|
|
L_0278D9C8: ; // 0x278d9c8
|
|
/* 0278D9C8 */ goto L_0278DA48;
|
|
L_0278D9CC: ; // 0x278d9cc
|
|
/* 0278D9CC */ _t244 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278D9CC */ rbrew_write32(cpu->mem, _t244, cpu->r[14]);
|
|
/* 0278D9D0 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278D9D4 */ _t245 = cpu->r[1] + 0x00000034u;
|
|
/* 0278D9D4 */ rbrew_write32(cpu->mem, _t245, cpu->r[20]);
|
|
/* 0278D9D8 */ cpu->r[7] = cpu->r[7] + 0x0000677Cu;
|
|
/* 0278D9DC */ _t246 = cpu->r[1] + 0x00000044u;
|
|
/* 0278D9DC */ rbrew_write32(cpu->mem, _t246, cpu->r[30]);
|
|
/* 0278D9E0 */ cpu->r[0] = cpu->r[11] + cpu->r[23];
|
|
/* 0278D9E4 */ _t247 = cpu->r[30] + 0x000000FFu;
|
|
/* 0278D9E4 */ rbrew_write8(cpu->mem, _t247, (uint8_t)cpu->r[29]);
|
|
/* 0278D9E8 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9EC */ _t248 = cpu->r[1] + 0x00000048u;
|
|
/* 0278D9EC */ rbrew_write32(cpu->mem, _t248, cpu->r[7]);
|
|
/* 0278D9F0 */ _t249 = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9F0 */ rbrew_write32(cpu->mem, _t249, cpu->r[0]);
|
|
/* 0278D9F4 */ Gambit_fn_0278DDDC(cpu);
|
|
/* 0278D9F8 */ _t250 = cpu->r[1] + 0x00000030u;
|
|
/* 0278D9F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0278D9FC */ cpu->r[6] = cpu->r[29];
|
|
/* 0278DA00 */ _t251 = cpu->r[8] + 0x00000000u;
|
|
/* 0278DA00 */ cpu->r[5] = rbrew_read8(cpu->mem, _t251);
|
|
/* 0278DA04 */ cpu->r[27] = 0x00000000u;
|
|
/* 0278DA08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 0278DA0C */ cpu->r[10] = 0x00080000u;
|
|
/* 0278DA10 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DA10 */ _t253 = _t252 & 0x00000001u;
|
|
/* 0278DA10 */ if (_t253) goto L_0278D9C8; else goto L_0278DA14;
|
|
L_0278DA14: ; // 0x278da14
|
|
/* 0278DA14 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0278DA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]);
|
|
/* 0278DA1C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278DA20 */ _t254 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278DA20 */ _t255 = _t254 & 0x00000001u;
|
|
/* 0278DA20 */ if (_t255) goto L_0278DA44; else goto L_0278DA24;
|
|
L_0278DA24: ; // 0x278da24
|
|
/* 0278DA24 */ _t256 = cpu->r[8] + 0x00000000u;
|
|
/* 0278DA24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t256);
|
|
/* 0278DA28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 0278DA2C */ _t257 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DA2C */ _t258 = _t257 & 0x00000001u;
|
|
/* 0278DA2C */ if (_t258) goto L_0278DA30; else goto L_0278DA14;
|
|
L_0278DA30: ; // 0x278da30
|
|
/* 0278DA30 */ _t259 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278DA30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t259);
|
|
/* 0278DA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[9]);
|
|
/* 0278DA38 */ _t260 = cpu->r[1] + 0x00000034u;
|
|
/* 0278DA38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t260);
|
|
/* 0278DA3C */ _t261 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DA3C */ _t262 = _t261 & 0x00000001u;
|
|
/* 0278DA3C */ if (_t262) goto L_0278DA40; else goto L_0278DA58;
|
|
L_0278DA40: ; // 0x278da40
|
|
/* 0278DA40 */ goto L_0278DA5C;
|
|
L_0278DA44: ; // 0x278da44
|
|
/* 0278DA44 */ cpu->r[27] = 0x00000000u;
|
|
L_0278DA48: ; // 0x278da48
|
|
/* 0278DA48 */ _t263 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0278DA48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t263);
|
|
/* 0278DA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[9]);
|
|
/* 0278DA50 */ _t264 = cpu->r[1] + 0x00000034u;
|
|
/* 0278DA50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t264);
|
|
/* 0278DA54 */ _t265 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DA54 */ _t266 = _t265 & 0x00000001u;
|
|
/* 0278DA54 */ if (_t266) goto L_0278DA5C; else goto L_0278DA58;
|
|
L_0278DA58: ; // 0x278da58
|
|
/* 0278DA58 */ cpu->r[27] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0278DA5C: ; // 0x278da5c
|
|
/* 0278DA5C */ _t267 = cpu->r[8] + 0x00000014u;
|
|
/* 0278DA5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t267);
|
|
/* 0278DA60 */ cpu->ctr = cpu->r[9];
|
|
/* 0278DA64 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0278DA68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DA6C */ _t268 = cpu->r[1] + 0x00000030u;
|
|
/* 0278DA6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t268);
|
|
/* 0278DA70 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278DA74 */ cpu->r[5] = cpu->r[27];
|
|
/* 0278DA78 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DA7C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278DA80 */ _t269 = cpu->r[21] + 0xFFFF9014u;
|
|
/* 0278DA80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t269);
|
|
/* 0278DA84 */ _t270 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DA84 */ rbrew_write32(cpu->mem, _t270, cpu->r[20]);
|
|
/* 0278DA88 */ _t271 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DA88 */ rbrew_write32(cpu->mem, _t271, cpu->r[6]);
|
|
/* 0278DA8C */ _t272 = cpu->r[1] + 0x00000048u;
|
|
/* 0278DA8C */ rbrew_write32(cpu->mem, _t272, cpu->r[28]);
|
|
/* 0278DA90 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0278DA94 */ _t273 = cpu->r[30] + cpu->r[27];
|
|
/* 0278DA94 */ rbrew_write8(cpu->mem, _t273, (uint8_t)cpu->r[29]);
|
|
/* 0278DA98 */ Gambit_fn_0278DDF4(cpu);
|
|
/* 0278DA9C */ _t274 = cpu->r[1] + 0x00000044u;
|
|
/* 0278DA9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t274);
|
|
/* 0278DAA0 */ _t275 = cpu->r[4] + 0x00000000u;
|
|
/* 0278DAA0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t275);
|
|
/* 0278DAA4 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278DAA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 0278DAAC */ cpu->r[6] = 0x00080000u;
|
|
/* 0278DAB0 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278DAB4 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DAB4 */ _t277 = _t276 & 0x00000001u;
|
|
/* 0278DAB4 */ if (_t277) goto L_0278DB44; else goto L_0278DAB8;
|
|
L_0278DAB8: ; // 0x278dab8
|
|
/* 0278DAB8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0278DABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 0278DAC0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0278DAC4 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278DAC4 */ _t279 = _t278 & 0x00000001u;
|
|
/* 0278DAC4 */ if (_t279) goto L_0278DB0C; else goto L_0278DAC8;
|
|
L_0278DAC8: ; // 0x278dac8
|
|
/* 0278DAC8 */ _t280 = cpu->r[4] + 0x00000000u;
|
|
/* 0278DAC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t280);
|
|
/* 0278DACC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0278DAD0 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DAD0 */ _t282 = _t281 & 0x00000001u;
|
|
/* 0278DAD0 */ if (_t282) goto L_0278DAD4; else goto L_0278DAB8;
|
|
L_0278DAD4: ; // 0x278dad4
|
|
/* 0278DAD4 */ _t283 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DAD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t283);
|
|
/* 0278DAD8 */ _t284 = cpu->r[12] + 0x00000014u;
|
|
/* 0278DAD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t284);
|
|
/* 0278DADC */ cpu->ctr = cpu->r[4];
|
|
/* 0278DAE0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0278DAE4 */ cpu->r[18] = cpu->r[11];
|
|
/* 0278DAE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DAEC */ _t285 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DAEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t285);
|
|
/* 0278DAF0 */ cpu->r[0] = cpu->r[29];
|
|
/* 0278DAF4 */ _t286 = cpu->r[10] + 0x00000000u;
|
|
/* 0278DAF4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t286);
|
|
/* 0278DAF8 */ cpu->r[12] = 0x00000000u;
|
|
/* 0278DAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0278DB00 */ cpu->r[11] = 0x00080000u;
|
|
/* 0278DB04 */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DB04 */ _t288 = _t287 & 0x00000001u;
|
|
/* 0278DB04 */ if (_t288) goto L_0278DB08; else goto L_0278DB78;
|
|
L_0278DB08: ; // 0x278db08
|
|
/* 0278DB08 */ goto L_0278DBBC;
|
|
L_0278DB0C: ; // 0x278db0c
|
|
/* 0278DB0C */ _t289 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DB0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t289);
|
|
/* 0278DB10 */ _t290 = cpu->r[12] + 0x00000014u;
|
|
/* 0278DB10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t290);
|
|
/* 0278DB14 */ cpu->ctr = cpu->r[4];
|
|
/* 0278DB18 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0278DB1C */ cpu->r[18] = 0x00000000u;
|
|
/* 0278DB20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DB24 */ _t291 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DB24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t291);
|
|
/* 0278DB28 */ cpu->r[0] = cpu->r[29];
|
|
/* 0278DB2C */ _t292 = cpu->r[10] + 0x00000000u;
|
|
/* 0278DB2C */ cpu->r[5] = rbrew_read8(cpu->mem, _t292);
|
|
/* 0278DB30 */ cpu->r[12] = cpu->r[18];
|
|
/* 0278DB34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0278DB38 */ cpu->r[11] = 0x00080000u;
|
|
/* 0278DB3C */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DB3C */ _t294 = _t293 & 0x00000001u;
|
|
/* 0278DB3C */ if (_t294) goto L_0278DB40; else goto L_0278DB78;
|
|
L_0278DB40: ; // 0x278db40
|
|
/* 0278DB40 */ goto L_0278DBBC;
|
|
L_0278DB44: ; // 0x278db44
|
|
/* 0278DB44 */ _t295 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DB44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t295);
|
|
/* 0278DB48 */ _t296 = cpu->r[12] + 0x00000014u;
|
|
/* 0278DB48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t296);
|
|
/* 0278DB4C */ cpu->ctr = cpu->r[4];
|
|
/* 0278DB50 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0278DB54 */ cpu->r[18] = cpu->r[11];
|
|
/* 0278DB58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DB5C */ _t297 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DB5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t297);
|
|
/* 0278DB60 */ cpu->r[0] = cpu->r[29];
|
|
/* 0278DB64 */ _t298 = cpu->r[10] + 0x00000000u;
|
|
/* 0278DB64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t298);
|
|
/* 0278DB68 */ cpu->r[12] = 0x00000000u;
|
|
/* 0278DB6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0278DB70 */ cpu->r[11] = 0x00080000u;
|
|
/* 0278DB74 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DB74 */ _t300 = _t299 & 0x00000001u;
|
|
/* 0278DB74 */ if (_t300) goto L_0278DBBC; else goto L_0278DB78;
|
|
L_0278DB78: ; // 0x278db78
|
|
/* 0278DB78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278DB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 0278DB80 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278DB84 */ _t301 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278DB84 */ _t302 = _t301 & 0x00000001u;
|
|
/* 0278DB84 */ if (_t302) goto L_0278DBA8; else goto L_0278DB88;
|
|
L_0278DB88: ; // 0x278db88
|
|
/* 0278DB88 */ _t303 = cpu->r[10] + 0x00000000u;
|
|
/* 0278DB88 */ cpu->r[6] = rbrew_read8(cpu->mem, _t303);
|
|
/* 0278DB8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 0278DB90 */ _t304 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DB90 */ _t305 = _t304 & 0x00000001u;
|
|
/* 0278DB90 */ if (_t305) goto L_0278DB94; else goto L_0278DB78;
|
|
L_0278DB94: ; // 0x278db94
|
|
/* 0278DB94 */ cpu->r[25] = cpu->r[12];
|
|
/* 0278DB98 */ cpu->r[18] = cpu->r[18] - cpu->r[25];
|
|
/* 0278DB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0278DB9C */ cpu->r[27] = cpu->r[18] + 0x00000001u;
|
|
/* 0278DBA0 */ _t306 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DBA0 */ _t307 = _t306 & 0x00000001u;
|
|
/* 0278DBA0 */ if (_t307) goto L_0278DBA4; else goto L_0278DBCC;
|
|
L_0278DBA4: ; // 0x278dba4
|
|
/* 0278DBA4 */ goto L_0278DC88;
|
|
L_0278DBA8: ; // 0x278dba8
|
|
/* 0278DBA8 */ cpu->r[18] = cpu->r[18];
|
|
/* 0278DBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0278DBAC */ cpu->r[25] = 0x00000000u;
|
|
/* 0278DBB0 */ cpu->r[27] = cpu->r[18] + 0x00000001u;
|
|
/* 0278DBB4 */ _t308 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DBB4 */ _t309 = _t308 & 0x00000001u;
|
|
/* 0278DBB4 */ if (_t309) goto L_0278DBB8; else goto L_0278DBCC;
|
|
L_0278DBB8: ; // 0x278dbb8
|
|
/* 0278DBB8 */ goto L_0278DC88;
|
|
L_0278DBBC: ; // 0x278dbbc
|
|
/* 0278DBBC */ cpu->r[25] = cpu->r[12];
|
|
/* 0278DBC0 */ cpu->r[18] = cpu->r[18] - cpu->r[25];
|
|
/* 0278DBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0278DBC4 */ cpu->r[27] = cpu->r[18] + 0x00000001u;
|
|
/* 0278DBC8 */ _t310 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DBC8 */ _t311 = _t310 & 0x00000001u;
|
|
/* 0278DBC8 */ if (_t311) goto L_0278DC88; else goto L_0278DBCC;
|
|
L_0278DBCC: ; // 0x278dbcc
|
|
/* 0278DBCC */ _t312 = cpu->r[1] + 0x00000044u;
|
|
/* 0278DBCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t312);
|
|
/* 0278DBD0 */ _t313 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DBD0 */ rbrew_write32(cpu->mem, _t313, cpu->r[20]);
|
|
/* 0278DBD4 */ cpu->r[7] = cpu->r[8] + cpu->r[18];
|
|
/* 0278DBD8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DBDC */ _t314 = cpu->r[1] + 0x00000018u;
|
|
/* 0278DBDC */ rbrew_write32(cpu->mem, _t314, cpu->r[7]);
|
|
/* 0278DBE0 */ Gambit_fn_0278DDDC(cpu);
|
|
/* 0278DBE4 */ _t315 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DBE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t315);
|
|
/* 0278DBE8 */ _t316 = cpu->r[9] + 0x00000014u;
|
|
/* 0278DBE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t316);
|
|
/* 0278DBEC */ cpu->ctr = cpu->r[10];
|
|
/* 0278DBF0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DBF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DBF8 */ _t317 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DBF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t317);
|
|
/* 0278DBFC */ _t318 = cpu->r[11] + 0x00000014u;
|
|
/* 0278DBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t318);
|
|
/* 0278DC00 */ cpu->ctr = cpu->r[12];
|
|
/* 0278DC04 */ _t319 = cpu->r[1] + 0x00000018u;
|
|
/* 0278DC04 */ cpu->r[26] = rbrew_read32(cpu->mem, _t319);
|
|
/* 0278DC08 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0278DC0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DC10 */ _t320 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0278DC14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 0278DC18 */ _t321 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC18 */ _t322 = _t321 & 0x00000001u;
|
|
/* 0278DC18 */ if (_t322) goto L_0278DC70; else goto L_0278DC1C;
|
|
L_0278DC1C: ; // 0x278dc1c
|
|
/* 0278DC1C */ cpu->r[10] = cpu->r[25];
|
|
/* 0278DC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278DC20 */ _t323 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278DC20 */ _t324 = _t323 & 0x00000001u;
|
|
/* 0278DC20 */ if (_t324) goto L_0278DC24; else goto L_0278DC70;
|
|
L_0278DC24: ; // 0x278dc24
|
|
/* 0278DC24 */ _t325 = cpu->r[1] + 0x00000028u;
|
|
/* 0278DC24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t325);
|
|
/* 0278DC28 */ cpu->ctr = cpu->r[10];
|
|
/* 0278DC2C */ _t326 = cpu->r[1] + 0x00000018u;
|
|
/* 0278DC2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t326);
|
|
/* 0278DC30 */ cpu->r[12] = cpu->r[29];
|
|
L_0278DC34: ; // 0x278dc34
|
|
/* 0278DC34 */ _t327 = cpu->r[9] + 0x00000000u;
|
|
/* 0278DC34 */ cpu->r[11] = rbrew_read8(cpu->mem, _t327);
|
|
/* 0278DC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0278DC3C */ _t328 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC3C */ _t329 = _t328 & 0x00000001u;
|
|
/* 0278DC3C */ if (_t329) goto L_0278DC40; else goto L_0278DC50;
|
|
L_0278DC40: ; // 0x278dc40
|
|
/* 0278DC40 */ _t330 = cpu->r[8] + 0x00000000u;
|
|
/* 0278DC40 */ cpu->r[4] = rbrew_read8(cpu->mem, _t330);
|
|
/* 0278DC44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278DC48 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC48 */ _t332 = _t331 & 0x00000001u;
|
|
/* 0278DC48 */ if (_t332) goto L_0278DC4C; else goto L_0278DC7C;
|
|
L_0278DC4C: ; // 0x278dc4c
|
|
/* 0278DC4C */ goto L_0278DC70;
|
|
L_0278DC50: ; // 0x278dc50
|
|
/* 0278DC50 */ _t333 = cpu->r[8] + 0x00000000u;
|
|
/* 0278DC50 */ cpu->r[4] = rbrew_read8(cpu->mem, _t333);
|
|
/* 0278DC54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0278DC58 */ _t334 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC58 */ _t335 = _t334 & 0x00000001u;
|
|
/* 0278DC58 */ if (_t335) goto L_0278DC7C; else goto L_0278DC5C;
|
|
L_0278DC5C: ; // 0x278dc5c
|
|
/* 0278DC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0278DC60 */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC60 */ _t337 = _t336 & 0x00000001u;
|
|
/* 0278DC60 */ if (_t337) goto L_0278DC64; else goto L_0278DC7C;
|
|
L_0278DC64: ; // 0x278dc64
|
|
/* 0278DC64 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278DC68 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0278DC6C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278DC6C */ _t338 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278DC6C */ _t339 = _t338 >> (0x00000002u & 31u);
|
|
/* 0278DC6C */ _t340 = _t339 & 0x00000001u;
|
|
/* 0278DC6C */ if (_t340) goto L_0278DC34; else goto L_0278DC70;
|
|
L_0278DC70: ; // 0x278dc70
|
|
/* 0278DC70 */ cpu->r[27] = cpu->r[18];
|
|
/* 0278DC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278DC74 */ _t341 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DC74 */ _t342 = _t341 & 0x00000001u;
|
|
/* 0278DC74 */ if (_t342) goto L_0278DCEC; else goto L_0278DC78;
|
|
L_0278DC78: ; // 0x278dc78
|
|
/* 0278DC78 */ goto L_0278DC90;
|
|
L_0278DC7C: ; // 0x278dc7c
|
|
/* 0278DC7C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0278DC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278DC80 */ cpu->r[18] = cpu->r[18] + 0xFFFFFFFFu;
|
|
/* 0278DC84 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DC84 */ _t344 = _t343 & 0x00000001u;
|
|
/* 0278DC84 */ if (_t344) goto L_0278DC88; else goto L_0278DBCC;
|
|
L_0278DC88: ; // 0x278dc88
|
|
/* 0278DC88 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
/* 0278DC8C */ goto L_0278DCEC;
|
|
L_0278DC90: ; // 0x278dc90
|
|
/* 0278DC90 */ _t345 = cpu->r[1] + 0x00000154u;
|
|
/* 0278DC90 */ rbrew_write32(cpu->mem, _t345, cpu->r[28]);
|
|
/* 0278DC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000100u);
|
|
/* 0278DC98 */ _t346 = cpu->r[31] + 0x00000000u;
|
|
/* 0278DC98 */ rbrew_write8(cpu->mem, _t346, (uint8_t)cpu->r[29]);
|
|
/* 0278DC9C */ _t347 = cpu->r[1] + 0x00000048u;
|
|
/* 0278DC9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t347);
|
|
/* 0278DCA0 */ _t348 = cpu->r[1] + 0x00000158u;
|
|
/* 0278DCA0 */ rbrew_write32(cpu->mem, _t348, cpu->r[14]);
|
|
/* 0278DCA4 */ _t349 = cpu->r[1] + 0x00000150u;
|
|
/* 0278DCA4 */ rbrew_write32(cpu->mem, _t349, cpu->r[31]);
|
|
/* 0278DCA8 */ _t350 = cpu->r[31] + 0x000000FFu;
|
|
/* 0278DCA8 */ rbrew_write8(cpu->mem, _t350, (uint8_t)cpu->r[29]);
|
|
/* 0278DCAC */ _t351 = cpu->r[5] + 0x00000014u;
|
|
/* 0278DCAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t351);
|
|
/* 0278DCB0 */ _t352 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278DCB0 */ _t353 = _t352 & 0x00000001u;
|
|
/* 0278DCB0 */ if (_t353) goto L_0278DCB8; else goto L_0278DCB4;
|
|
L_0278DCB4: ; // 0x278dcb4
|
|
/* 0278DCB4 */ cpu->r[27] = 0x000000FFu;
|
|
L_0278DCB8: ; // 0x278dcb8
|
|
/* 0278DCB8 */ cpu->ctr = cpu->r[6];
|
|
/* 0278DCBC */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0278DCC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DCC4 */ _t354 = cpu->r[1] + 0x00000044u;
|
|
/* 0278DCC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t354);
|
|
/* 0278DCC8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278DCCC */ cpu->r[5] = cpu->r[27];
|
|
/* 0278DCD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278DCD4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278DCD8 */ cpu->r[5] = cpu->r[1] + 0x00000150u;
|
|
/* 0278DCDC */ cpu->r[3] = cpu->r[22];
|
|
/* 0278DCE0 */ cpu->r[4] = cpu->r[19];
|
|
/* 0278DCE4 */ _t355 = cpu->r[31] + cpu->r[27];
|
|
/* 0278DCE4 */ rbrew_write8(cpu->mem, _t355, (uint8_t)cpu->r[29]);
|
|
/* 0278DCE8 */ Gambit_fn_0278D1AC(cpu);
|
|
L_0278DCEC: ; // 0x278dcec
|
|
/* 0278DCEC */ _t356 = cpu->r[24] + 0x00000004u;
|
|
/* 0278DCEC */ cpu->r[24] = rbrew_read32(cpu->mem, _t356);
|
|
/* 0278DCF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[16]);
|
|
/* 0278DCF4 */ _t357 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DCF4 */ _t358 = _t357 & 0x00000001u;
|
|
/* 0278DCF4 */ if (_t358) goto L_0278DCF8; else goto L_0278D728;
|
|
L_0278DCF8: ; // 0x278dcf8
|
|
/* 0278DCF8 */ _t359 = cpu->r[19] + 0x0000000Cu;
|
|
/* 0278DCF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t359);
|
|
/* 0278DCFC */ _t360 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0278DCFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t360);
|
|
/* 0278DD00 */ cpu->ctr = cpu->r[8];
|
|
/* 0278DD04 */ cpu->r[3] = cpu->r[19];
|
|
/* 0278DD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278DD0C */ /* nop */
|
|
/* 0278DD10 */ _t361 = cpu->r[1] + 0x000002DCu;
|
|
/* 0278DD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t361);
|
|
/* 0278DD14 */ cpu->lr = cpu->r[0];
|
|
/* 0278DD18 */ cpu->r[1] = cpu->r[1] + 0x000002D8u;
|
|
/* 0278DD1C */ return;
|
|
}
|
|
|
|
// fn_0278DD20 @ 0x278dd20
|
|
void Gambit_fn_0278DD20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_0278C888: ; // 0x278c888
|
|
/* 0278C888 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0278C888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278C888 */ cpu->r[1] = _t0;
|
|
/* 0278C88C */ /* nop */
|
|
/* 0278C890 */ cpu->r[0] = cpu->lr;
|
|
/* 0278C894 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C894 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278C898 */ cpu->r[26] = cpu->r[3];
|
|
/* 0278C89C */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 0278C89C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278C8A0 */ cpu->r[25] = 0x00000000u;
|
|
/* 0278C8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C8A8 */ cpu->r[27] = cpu->r[4];
|
|
/* 0278C8AC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C8AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278C8AC */ if (_t4) goto L_0278C8B0; else goto L_0278C9B4;
|
|
L_0278C8B0: ; // 0x278c8b0
|
|
/* 0278C8B0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278C8B4 */ cpu->r[29] = 0x00080000u;
|
|
/* 0278C8B8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0278C8BC */ cpu->r[24] = 0x10100000u;
|
|
/* 0278C8C0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278C8C4 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0278C8C4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278C8C8 */ cpu->r[24] = cpu->r[24] + 0x000066ECu;
|
|
L_0278C8CC: ; // 0x278c8cc
|
|
/* 0278C8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C8D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278C8D4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C8D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278C8D4 */ if (_t7) goto L_0278C8D8; else goto L_0278C8E0;
|
|
L_0278C8D8: ; // 0x278c8d8
|
|
/* 0278C8D8 */ _t8 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278C8D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278C8DC */ _t9 = cpu->r[7] + cpu->r[28];
|
|
/* 0278C8DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
L_0278C8E0: ; // 0x278c8e0
|
|
/* 0278C8E0 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0278C8E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278C8E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278C8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278C8EC */ _t11 = cpu->r[27] + 0x00000004u;
|
|
/* 0278C8EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278C8F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C8F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278C8F0 */ if (_t13) goto L_0278C904; else goto L_0278C8F4;
|
|
L_0278C8F4: ; // 0x278c8f4
|
|
/* 0278C8F4 */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 0278C8F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278C8F8 */ _t15 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278C8F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278C8FC */ _t16 = cpu->r[10] + 0x00000008u;
|
|
/* 0278C8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278C900 */ cpu->r[6] = cpu->r[9] + cpu->r[0];
|
|
L_0278C904: ; // 0x278c904
|
|
/* 0278C904 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C904 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 0278C908 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C908 */ rbrew_write32(cpu->mem, _t18, cpu->r[24]);
|
|
/* 0278C90C */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0278C90C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278C910 */ cpu->ctr = cpu->r[5];
|
|
/* 0278C914 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278C918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C91C */ _t20 = cpu->r[27] + 0x00000004u;
|
|
/* 0278C91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278C920 */ _t21 = cpu->r[4] + 0x00000014u;
|
|
/* 0278C920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278C924 */ cpu->ctr = cpu->r[6];
|
|
/* 0278C928 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278C92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C930 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278C930 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278C934 */ _t23 = cpu->r[7] + 0x00000014u;
|
|
/* 0278C934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278C938 */ cpu->ctr = cpu->r[8];
|
|
/* 0278C93C */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 0278C93C */ cpu->r[23] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278C940 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278C944 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278C948 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278C94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[9]);
|
|
/* 0278C950 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C950 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278C950 */ if (_t27) goto L_0278C988; else goto L_0278C954;
|
|
L_0278C954: ; // 0x278c954
|
|
/* 0278C954 */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 0278C954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278C958 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0278C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278C95C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278C960 */ cpu->ctr = cpu->r[29];
|
|
/* 0278C964 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0278C968: ; // 0x278c968
|
|
/* 0278C968 */ _t30 = cpu->r[12] + 0x00000001u;
|
|
/* 0278C968 */ cpu->r[4] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278C968 */ cpu->r[12] = _t30;
|
|
/* 0278C96C */ _t31 = cpu->r[11] + 0x00000001u;
|
|
/* 0278C96C */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0278C96C */ cpu->r[11] = _t31;
|
|
/* 0278C970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0278C974 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C974 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278C974 */ if (_t33) goto L_0278C978; else goto L_0278C9A0;
|
|
L_0278C978: ; // 0x278c978
|
|
/* 0278C978 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0278C97C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278C97C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0278C97C */ if (_t35) goto L_0278C988; else goto L_0278C980;
|
|
L_0278C980: ; // 0x278c980
|
|
/* 0278C980 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0278C980 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0278C980 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 0278C980 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0278C980 */ if (_t38) goto L_0278C968; else goto L_0278C984;
|
|
L_0278C984: ; // 0x278c984
|
|
/* 0278C984 */ goto L_0278C9A0;
|
|
L_0278C988: ; // 0x278c988
|
|
/* 0278C988 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278C98C */ /* nop */
|
|
/* 0278C990 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278C994 */ cpu->lr = cpu->r[0];
|
|
/* 0278C998 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278C99C */ return;
|
|
L_0278C9A0: ; // 0x278c9a0
|
|
/* 0278C9A0 */ _t40 = cpu->r[26] + 0x00000004u;
|
|
/* 0278C9A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278C9A4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0278C9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 0278C9AC */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0278C9B0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278C9B0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278C9B0 */ if (_t42) goto L_0278C8CC; else goto L_0278C9B4;
|
|
L_0278C9B4: ; // 0x278c9b4
|
|
/* 0278C9B4 */ /* nop */
|
|
/* 0278C9B8 */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278C9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278C9BC */ cpu->lr = cpu->r[0];
|
|
/* 0278C9C0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278C9C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278C9C8 */ return;
|
|
L_0278DD20: ; // 0x278dd20
|
|
/* 0278DD20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0278DD24 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0278DD28 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 0278DD2C */ goto L_0278C888;
|
|
}
|
|
|
|
// fn_0278DD30 @ 0x278dd30
|
|
void Gambit_fn_0278DD30(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_0278DD30: ; // 0x278dd30
|
|
/* 0278DD30 */ cpu->r[0] = cpu->lr;
|
|
/* 0278DD34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278DD34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DD34 */ cpu->r[1] = _t0;
|
|
/* 0278DD38 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278DD3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278DD40 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD40 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0278DD44 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278DD48 */ cpu->r[30] = cpu->r[3] + 0x00000004u;
|
|
/* 0278DD4C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278DD50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD50 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0278DD54 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278DD58 */ cpu->r[29] = 0x00000002u;
|
|
L_0278DD5C: ; // 0x278dd5c
|
|
/* 0278DD5C */ cpu->r[5] = cpu->r[28];
|
|
/* 0278DD60 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278DD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DD68 */ Gambit_fn_0278C79C(cpu);
|
|
/* 0278DD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DD70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278DD70 */ if (_t7) goto L_0278DD98; else goto L_0278DD74;
|
|
L_0278DD74: ; // 0x278dd74
|
|
/* 0278DD74 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278DD78 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278DD7C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278DD80 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278DD84 */ cpu->lr = cpu->r[0];
|
|
/* 0278DD88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278DD8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DD90 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278DD94 */ return;
|
|
L_0278DD98: ; // 0x278dd98
|
|
/* 0278DD98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0278DD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278DD9C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 0278DDA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278DDA0 */ if (_t14) goto L_0278DDA4; else goto L_0278DD5C;
|
|
L_0278DDA4: ; // 0x278dda4
|
|
/* 0278DDA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DDA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278DDA8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DDA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278DDAC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278DDB0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DDB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278DDB4 */ cpu->lr = cpu->r[0];
|
|
/* 0278DDB8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DDB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278DDBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DDC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278DDC4 */ return;
|
|
}
|
|
|
|
// fn_0278DD34 @ 0x278dd34
|
|
void Gambit_fn_0278DD34(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_0278DD34: ; // 0x278dd34
|
|
/* 0278DD34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278DD34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DD34 */ cpu->r[1] = _t0;
|
|
/* 0278DD38 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278DD3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278DD40 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD40 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0278DD44 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278DD48 */ cpu->r[30] = cpu->r[3] + 0x00000004u;
|
|
/* 0278DD4C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278DD50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD50 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0278DD54 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278DD58 */ cpu->r[29] = 0x00000002u;
|
|
L_0278DD5C: ; // 0x278dd5c
|
|
/* 0278DD5C */ cpu->r[5] = cpu->r[28];
|
|
/* 0278DD60 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278DD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DD68 */ Gambit_fn_0278C79C(cpu);
|
|
/* 0278DD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DD70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278DD70 */ if (_t7) goto L_0278DD98; else goto L_0278DD74;
|
|
L_0278DD74: ; // 0x278dd74
|
|
/* 0278DD74 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278DD78 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278DD7C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278DD80 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278DD84 */ cpu->lr = cpu->r[0];
|
|
/* 0278DD88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278DD8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DD90 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278DD94 */ return;
|
|
L_0278DD98: ; // 0x278dd98
|
|
/* 0278DD98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0278DD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278DD9C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 0278DDA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278DDA0 */ if (_t14) goto L_0278DDA4; else goto L_0278DD5C;
|
|
L_0278DDA4: ; // 0x278dda4
|
|
/* 0278DDA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DDA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278DDA8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DDA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278DDAC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278DDB0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DDB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278DDB4 */ cpu->lr = cpu->r[0];
|
|
/* 0278DDB8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DDB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278DDBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DDC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278DDC4 */ return;
|
|
}
|
|
|
|
// fn_0278DDC8 @ 0x278ddc8
|
|
void Gambit_fn_0278DDC8(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_0278DDC8: ; // 0x278ddc8
|
|
/* 0278DDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DDCC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDCC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DDCC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DDCC */ goto L_0278DDD0;
|
|
L_0278DDD0: ; // 0x278ddd0
|
|
/* 0278DDD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DDD4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDD4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DDD4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DDD4 */ goto L_0278DDD8;
|
|
L_0278DDD8: ; // 0x278ddd8
|
|
/* 0278DDD8 */ 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_0278DDDC @ 0x278dddc
|
|
void Gambit_fn_0278DDDC(CPUState* cpu) {
|
|
L_0278DDDC: ; // 0x278dddc
|
|
/* 0278DDDC */ return;
|
|
}
|
|
|
|
// fn_0278DDE0 @ 0x278dde0
|
|
void Gambit_fn_0278DDE0(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_0278DDE0: ; // 0x278dde0
|
|
/* 0278DDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DDE4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDE4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DDE4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DDE4 */ goto L_0278DDE8;
|
|
L_0278DDE8: ; // 0x278dde8
|
|
/* 0278DDE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DDEC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDEC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DDEC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DDEC */ goto L_0278DDF0;
|
|
L_0278DDF0: ; // 0x278ddf0
|
|
/* 0278DDF0 */ 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_0278DDF4 @ 0x278ddf4
|
|
void Gambit_fn_0278DDF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0278DDF4: ; // 0x278ddf4
|
|
/* 0278DDF4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0278DDF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278DDF8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0278DDF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278DDFC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0278DE00 */ cpu->r[11] = 0x10110000u;
|
|
/* 0278DE04 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0278DE04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278DE08 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278DE08 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0278DE0C */ return;
|
|
}
|
|
|
|
// fn_0278DE10 @ 0x278de10
|
|
void Gambit_fn_0278DE10(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_0278DE10: ; // 0x278de10
|
|
/* 0278DE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE14 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE14 */ goto L_0278DE18;
|
|
L_0278DE18: ; // 0x278de18
|
|
/* 0278DE18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE1C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE1C */ goto L_0278DE20;
|
|
L_0278DE20: ; // 0x278de20
|
|
/* 0278DE20 */ 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_0278DE24 @ 0x278de24
|
|
void Gambit_fn_0278DE24(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_0278DE24: ; // 0x278de24
|
|
/* 0278DE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE28 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE28 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE28 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE28 */ goto L_0278DE2C;
|
|
L_0278DE2C: ; // 0x278de2c
|
|
/* 0278DE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE30 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE30 */ goto L_0278DE34;
|
|
L_0278DE34: ; // 0x278de34
|
|
/* 0278DE34 */ 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_0278DE38 @ 0x278de38
|
|
void Gambit_fn_0278DE38(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_0278DE38: ; // 0x278de38
|
|
/* 0278DE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE3C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE3C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE3C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE3C */ goto L_0278DE40;
|
|
L_0278DE40: ; // 0x278de40
|
|
/* 0278DE40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE44 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE44 */ goto L_0278DE48;
|
|
L_0278DE48: ; // 0x278de48
|
|
/* 0278DE48 */ 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_0278DE4C @ 0x278de4c
|
|
void Gambit_fn_0278DE4C(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_0278DE4C: ; // 0x278de4c
|
|
/* 0278DE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE50 */ goto L_0278DE54;
|
|
L_0278DE54: ; // 0x278de54
|
|
/* 0278DE54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE58 */ goto L_0278DE5C;
|
|
L_0278DE5C: ; // 0x278de5c
|
|
/* 0278DE5C */ 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_0278DE60 @ 0x278de60
|
|
void Gambit_fn_0278DE60(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_0278DE60: ; // 0x278de60
|
|
/* 0278DE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE64 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE64 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE64 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE64 */ goto L_0278DE68;
|
|
L_0278DE68: ; // 0x278de68
|
|
/* 0278DE68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE6C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE6C */ goto L_0278DE70;
|
|
L_0278DE70: ; // 0x278de70
|
|
/* 0278DE70 */ 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_0278DE74 @ 0x278de74
|
|
void Gambit_fn_0278DE74(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_0278DE74: ; // 0x278de74
|
|
/* 0278DE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DE78 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278DE78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE78 */ goto L_0278DE7C;
|
|
L_0278DE7C: ; // 0x278de7c
|
|
/* 0278DE7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DE80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DE80 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278DE80 */ goto L_0278DE84;
|
|
L_0278DE84: ; // 0x278de84
|
|
/* 0278DE84 */ 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_0278DE8C @ 0x278de8c
|
|
void Gambit_fn_0278DE8C(CPUState* 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_0278DE8C: ; // 0x278de8c
|
|
/* 0278DE8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278DE8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DE8C */ cpu->r[1] = _t0;
|
|
/* 0278DE90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DE90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278DE94 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278DE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278DE98 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DE98 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278DE9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DE9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278DE9C */ if (_t4) goto L_0278DEA0; else goto L_0278DEB0;
|
|
L_0278DEA0: ; // 0x278dea0
|
|
/* 0278DEA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0278DEA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DEA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278DEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278DEAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DEAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278DEAC */ if (_t6) goto L_0278DEFC; else goto L_0278DEB0;
|
|
L_0278DEB0: ; // 0x278deb0
|
|
/* 0278DEB0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278DEB4 */ cpu->r[0] = cpu->r[0] + 0x00006814u;
|
|
/* 0278DEB8 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0278DEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DEBC */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0278DEBC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278DEC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DEC0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278DEC0 */ if (_t9) goto L_0278DEC4; else goto L_0278DED4;
|
|
L_0278DEC4: ; // 0x278dec4
|
|
/* 0278DEC4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278DEC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DED0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DED0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278DED0 */ if (_t11) goto L_0278DEFC; else goto L_0278DED4;
|
|
L_0278DED4: ; // 0x278ded4
|
|
/* 0278DED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DED8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278DED8 */ if (_t13) goto L_0278DEDC; else goto L_0278DEEC;
|
|
L_0278DEDC: ; // 0x278dedc
|
|
/* 0278DEDC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278DEE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DEE8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DEE8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278DEE8 */ if (_t15) goto L_0278DEFC; else goto L_0278DEEC;
|
|
L_0278DEEC: ; // 0x278deec
|
|
/* 0278DEEC */ cpu->r[0] = 0x00000000u;
|
|
/* 0278DEF0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0278DEF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0278DEF4 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 0278DEF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 0278DEF8 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0278DEF8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_0278DEFC: ; // 0x278defc
|
|
/* 0278DEFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278DF00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278DF04 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278DF08 */ cpu->lr = cpu->r[0];
|
|
/* 0278DF0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278DF10 */ return;
|
|
}
|
|
|
|
// fn_0278DF14 @ 0x278df14
|
|
void Gambit_fn_0278DF14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278DF14: ; // 0x278df14
|
|
/* 0278DF14 */ cpu->r[0] = cpu->lr;
|
|
/* 0278DF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278DF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DF18 */ cpu->r[1] = _t0;
|
|
/* 0278DF1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278DF20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278DF24 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278DF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278DF28 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278DF2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DF2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278DF30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278DF30 */ if (_t5) goto L_0278DF58; else goto L_0278DF34;
|
|
L_0278DF34: ; // 0x278df34
|
|
/* 0278DF34 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278DF38 */ cpu->r[0] = cpu->r[0] + 0x00006814u;
|
|
/* 0278DF3C */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0278DF40 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0278DF40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278DF44 */ Gambit_fn_02802424(cpu);
|
|
/* 0278DF48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DF4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278DF4C */ if (_t8) goto L_0278DF58; else goto L_0278DF50;
|
|
L_0278DF50: ; // 0x278df50
|
|
/* 0278DF50 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DF54 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278DF58: ; // 0x278df58
|
|
/* 0278DF58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278DF5C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DF5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0278DF64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DF64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278DF68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278DF6C */ return;
|
|
}
|
|
|
|
// fn_0278DF18 @ 0x278df18
|
|
void Gambit_fn_0278DF18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278DF18: ; // 0x278df18
|
|
/* 0278DF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278DF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DF18 */ cpu->r[1] = _t0;
|
|
/* 0278DF1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278DF20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278DF24 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278DF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278DF28 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278DF2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DF2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278DF30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278DF30 */ if (_t5) goto L_0278DF58; else goto L_0278DF34;
|
|
L_0278DF34: ; // 0x278df34
|
|
/* 0278DF34 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278DF38 */ cpu->r[0] = cpu->r[0] + 0x00006814u;
|
|
/* 0278DF3C */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0278DF40 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0278DF40 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278DF44 */ Gambit_fn_02802424(cpu);
|
|
/* 0278DF48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278DF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278DF4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278DF4C */ if (_t8) goto L_0278DF58; else goto L_0278DF50;
|
|
L_0278DF50: ; // 0x278df50
|
|
/* 0278DF50 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DF54 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278DF58: ; // 0x278df58
|
|
/* 0278DF58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278DF5C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DF5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0278DF64 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DF64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278DF68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278DF6C */ return;
|
|
}
|
|
|
|
// fn_0278DF70 @ 0x278df70
|
|
void Gambit_fn_0278DF70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278DF70: ; // 0x278df70
|
|
/* 0278DF70 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0278DF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DF70 */ cpu->r[1] = _t0;
|
|
/* 0278DF74 */ cpu->r[0] = cpu->lr;
|
|
/* 0278DF78 */ /* nop */
|
|
/* 0278DF7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278DF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278DF80 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278DF80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278DF84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278DF84 */ if (_t3) goto L_0278DF88; else goto L_0278DF98;
|
|
L_0278DF88: ; // 0x278df88
|
|
/* 0278DF88 */ cpu->r[3] = 0x0000011Cu;
|
|
/* 0278DF8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DF90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278DF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278DF94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DF94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278DF94 */ if (_t5) goto L_0278E0E4; else goto L_0278DF98;
|
|
L_0278DF98: ; // 0x278df98
|
|
/* 0278DF98 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278DF9C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278DFA0 */ cpu->r[25] = cpu->r[31] + 0x00000008u;
|
|
/* 0278DFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278DFA4 */ cpu->r[12] = cpu->r[12] + 0x000068F4u;
|
|
/* 0278DFA8 */ cpu->r[0] = cpu->r[0] + 0x00006924u;
|
|
/* 0278DFAC */ cpu->r[27] = 0x10100000u;
|
|
/* 0278DFB0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0278DFB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0278DFB4 */ cpu->r[30] = 0x10100000u;
|
|
/* 0278DFB8 */ cpu->r[26] = 0x10110000u;
|
|
/* 0278DFBC */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0278DFBC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278DFC0 */ cpu->r[29] = 0x10100000u;
|
|
/* 0278DFC4 */ cpu->r[30] = cpu->r[30] + 0x0000687Cu;
|
|
/* 0278DFC8 */ cpu->r[27] = cpu->r[27] + 0x000068DCu;
|
|
/* 0278DFCC */ cpu->r[29] = cpu->r[29] + 0x000068C4u;
|
|
/* 0278DFD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DFD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278DFD0 */ if (_t9) goto L_0278DFD4; else goto L_0278DFE4;
|
|
L_0278DFD4: ; // 0x278dfd4
|
|
/* 0278DFD4 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278DFD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DFDC */ cpu->r[25] = cpu->r[3];
|
|
/* 0278DFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278DFE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DFE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278DFE0 */ if (_t11) goto L_0278E054; else goto L_0278DFE4;
|
|
L_0278DFE4: ; // 0x278dfe4
|
|
/* 0278DFE4 */ cpu->r[28] = cpu->r[25];
|
|
/* 0278DFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278DFE8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DFE8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278DFE8 */ if (_t13) goto L_0278DFEC; else goto L_0278DFFC;
|
|
L_0278DFEC: ; // 0x278dfec
|
|
/* 0278DFEC */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278DFF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278DFF4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278DFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278DFF8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DFF8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278DFF8 */ if (_t15) goto L_0278E050; else goto L_0278DFFC;
|
|
L_0278DFFC: ; // 0x278dffc
|
|
/* 0278DFFC */ cpu->r[3] = cpu->r[28];
|
|
/* 0278DFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E000 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E000 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278E000 */ if (_t17) goto L_0278E004; else goto L_0278E028;
|
|
L_0278E004: ; // 0x278e004
|
|
/* 0278E004 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278E008 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278E00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E010 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E010 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0278E010 */ if (_t19) goto L_0278E014; else goto L_0278E028;
|
|
L_0278E014: ; // 0x278e014
|
|
/* 0278E014 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0278E014 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278E018 */ _t21 = cpu->r[26] + 0x00007399u;
|
|
/* 0278E018 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0278E01C */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 0278E01C */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0278E020 */ _t23 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E020 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 0278E024 */ goto L_0278E050;
|
|
L_0278E028: ; // 0x278e028
|
|
/* 0278E028 */ cpu->r[6] = cpu->r[28] + 0x0000000Cu;
|
|
/* 0278E02C */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 0278E02C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 0278E030 */ cpu->r[7] = 0x00000040u;
|
|
/* 0278E034 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 0278E034 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0278E038 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 0278E038 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 0278E03C */ _t27 = cpu->r[26] + 0x00007399u;
|
|
/* 0278E03C */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0278E040 */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 0278E040 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 0278E044 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 0278E044 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278E048 */ _t30 = cpu->r[28] + 0x0000004Bu;
|
|
/* 0278E048 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0278E04C */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E04C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
L_0278E050: ; // 0x278e050
|
|
/* 0278E050 */ _t32 = cpu->r[25] + 0x00000004u;
|
|
/* 0278E050 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
L_0278E054: ; // 0x278e054
|
|
/* 0278E054 */ cpu->r[25] = cpu->r[31] + 0x00000054u;
|
|
/* 0278E054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278E058 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E058 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278E058 */ if (_t34) goto L_0278E05C; else goto L_0278E06C;
|
|
L_0278E05C: ; // 0x278e05c
|
|
/* 0278E05C */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278E060 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278E064 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278E064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278E068 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E068 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0278E068 */ if (_t36) goto L_0278E0DC; else goto L_0278E06C;
|
|
L_0278E06C: ; // 0x278e06c
|
|
/* 0278E06C */ cpu->r[28] = cpu->r[25];
|
|
/* 0278E06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E070 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E070 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0278E070 */ if (_t38) goto L_0278E074; else goto L_0278E084;
|
|
L_0278E074: ; // 0x278e074
|
|
/* 0278E074 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278E078 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278E07C */ cpu->r[28] = cpu->r[3];
|
|
/* 0278E07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E080 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E080 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0278E080 */ if (_t40) goto L_0278E0D8; else goto L_0278E084;
|
|
L_0278E084: ; // 0x278e084
|
|
/* 0278E084 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278E084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E088 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E088 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278E088 */ if (_t42) goto L_0278E08C; else goto L_0278E0B0;
|
|
L_0278E08C: ; // 0x278e08c
|
|
/* 0278E08C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278E090 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278E094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E098 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E098 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0278E098 */ if (_t44) goto L_0278E09C; else goto L_0278E0B0;
|
|
L_0278E09C: ; // 0x278e09c
|
|
/* 0278E09C */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 0278E09C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0278E0A0 */ _t46 = cpu->r[26] + 0x00007399u;
|
|
/* 0278E0A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0278E0A4 */ _t47 = cpu->r[28] + 0x00000004u;
|
|
/* 0278E0A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 0278E0A8 */ _t48 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E0A8 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[0]);
|
|
/* 0278E0AC */ goto L_0278E0D8;
|
|
L_0278E0B0: ; // 0x278e0b0
|
|
/* 0278E0B0 */ cpu->r[9] = cpu->r[28] + 0x0000000Cu;
|
|
/* 0278E0B4 */ _t49 = cpu->r[3] + 0x00000004u;
|
|
/* 0278E0B4 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
/* 0278E0B8 */ cpu->r[0] = 0x00000040u;
|
|
/* 0278E0BC */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 0278E0BC */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 0278E0C0 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 0278E0C0 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 0278E0C4 */ _t52 = cpu->r[26] + 0x00007399u;
|
|
/* 0278E0C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0278E0C8 */ _t53 = cpu->r[28] + 0x00000004u;
|
|
/* 0278E0C8 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 0278E0CC */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 0278E0CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0278E0D0 */ _t55 = cpu->r[28] + 0x0000004Bu;
|
|
/* 0278E0D0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 0278E0D4 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E0D4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[0]);
|
|
L_0278E0D8: ; // 0x278e0d8
|
|
/* 0278E0D8 */ _t57 = cpu->r[25] + 0x00000004u;
|
|
/* 0278E0D8 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
L_0278E0DC: ; // 0x278e0dc
|
|
/* 0278E0DC */ cpu->r[3] = cpu->r[31] + 0x000000A0u;
|
|
/* 0278E0E0 */ Gambit_fn_0278C9CC(cpu);
|
|
L_0278E0E4: ; // 0x278e0e4
|
|
/* 0278E0E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278E0E8 */ /* nop */
|
|
/* 0278E0EC */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278E0EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0278E0F0 */ cpu->lr = cpu->r[0];
|
|
/* 0278E0F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278E0F8 */ return;
|
|
}
|
|
|
|
// fn_0278E0FC @ 0x278e0fc
|
|
void Gambit_fn_0278E0FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278E0FC: ; // 0x278e0fc
|
|
/* 0278E0FC */ cpu->r[0] = cpu->lr;
|
|
/* 0278E100 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278E100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E100 */ cpu->r[1] = _t0;
|
|
/* 0278E104 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E104 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278E108 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E108 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278E10C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278E10C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E110 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278E114 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E114 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278E118 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E118 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278E118 */ if (_t5) goto L_0278E144; else goto L_0278E11C;
|
|
L_0278E11C: ; // 0x278e11c
|
|
/* 0278E11C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278E120 */ cpu->r[3] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278E124 */ cpu->r[0] = cpu->r[0] + 0x00006924u;
|
|
/* 0278E128 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278E12C */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0278E12C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278E130 */ Gambit_fn_0278CAF4(cpu);
|
|
/* 0278E134 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278E134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278E138 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E138 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278E138 */ if (_t8) goto L_0278E144; else goto L_0278E13C;
|
|
L_0278E13C: ; // 0x278e13c
|
|
/* 0278E13C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278E140 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278E144: ; // 0x278e144
|
|
/* 0278E144 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278E148 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278E14C */ cpu->lr = cpu->r[0];
|
|
/* 0278E150 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278E154 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278E158 */ return;
|
|
}
|
|
|
|
// fn_0278E100 @ 0x278e100
|
|
void Gambit_fn_0278E100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0278E100: ; // 0x278e100
|
|
/* 0278E100 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278E100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E100 */ cpu->r[1] = _t0;
|
|
/* 0278E104 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E104 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278E108 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E108 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278E10C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278E10C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E110 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278E114 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E114 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278E118 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E118 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278E118 */ if (_t5) goto L_0278E144; else goto L_0278E11C;
|
|
L_0278E11C: ; // 0x278e11c
|
|
/* 0278E11C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278E120 */ cpu->r[3] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278E124 */ cpu->r[0] = cpu->r[0] + 0x00006924u;
|
|
/* 0278E128 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278E12C */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0278E12C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278E130 */ Gambit_fn_0278CAF4(cpu);
|
|
/* 0278E134 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278E134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278E138 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E138 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278E138 */ if (_t8) goto L_0278E144; else goto L_0278E13C;
|
|
L_0278E13C: ; // 0x278e13c
|
|
/* 0278E13C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278E140 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278E144: ; // 0x278e144
|
|
/* 0278E144 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278E148 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E148 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278E14C */ cpu->lr = cpu->r[0];
|
|
/* 0278E150 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E150 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278E154 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278E158 */ return;
|
|
}
|
|
|
|
// fn_0278E15C @ 0x278e15c
|
|
void Gambit_fn_0278E15C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278E15C: ; // 0x278e15c
|
|
/* 0278E15C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0278E15C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E15C */ cpu->r[1] = _t0;
|
|
/* 0278E160 */ /* nop */
|
|
/* 0278E164 */ cpu->r[0] = cpu->lr;
|
|
/* 0278E168 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278E168 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E16C */ cpu->r[29] = cpu->r[4];
|
|
/* 0278E170 */ _t2 = cpu->r[29] + 0x00000014u;
|
|
/* 0278E170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278E174 */ _t3 = cpu->r[29] + 0x00000010u;
|
|
/* 0278E174 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278E178 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 0278E178 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278E17C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E17C */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 0278E180 */ _t6 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0278E180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278E184 */ _t7 = cpu->r[29] + 0x00000008u;
|
|
/* 0278E184 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278E188 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E188 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0278E18C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E18C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0278E190 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 0278E190 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278E194 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278E198 */ _t11 = cpu->r[29] + 0x00000018u;
|
|
/* 0278E198 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0278E19C */ cpu->r[3] = cpu->r[28] + 0x000000A0u;
|
|
/* 0278E1A0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E1A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0278E1A4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278E1A4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0278E1A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E1AC */ Gambit_fn_0278CB5C(cpu);
|
|
/* 0278E1B0 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 0278E1B0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278E1B4 */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E1B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278E1B8 */ _t16 = cpu->r[7] + 0x00000014u;
|
|
/* 0278E1B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278E1BC */ cpu->ctr = cpu->r[8];
|
|
/* 0278E1C0 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 0278E1C0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278E1C4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E1C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E1CC */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278E1D0 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278E1D4 */ _t19 = cpu->r[31] + 0x00007399u;
|
|
/* 0278E1D4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0278E1D8 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E1D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0278E1DC */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E1E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278E1E4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278E1E8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E1E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278E1E8 */ if (_t22) goto L_0278E210; else goto L_0278E1EC;
|
|
L_0278E1EC: ; // 0x278e1ec
|
|
/* 0278E1EC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278E1F4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278E1F8 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E1F8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278E1F8 */ if (_t24) goto L_0278E20C; else goto L_0278E1FC;
|
|
L_0278E1FC: ; // 0x278e1fc
|
|
/* 0278E1FC */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E1FC */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0278E200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0278E204 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E204 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278E204 */ if (_t27) goto L_0278E208; else goto L_0278E1EC;
|
|
L_0278E208: ; // 0x278e208
|
|
/* 0278E208 */ goto L_0278E210;
|
|
L_0278E20C: ; // 0x278e20c
|
|
/* 0278E20C */ cpu->r[30] = 0x00000000u;
|
|
L_0278E210: ; // 0x278e210
|
|
/* 0278E210 */ _t28 = cpu->r[28] + 0x00000010u;
|
|
/* 0278E210 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278E214 */ _t29 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E214 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278E218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0278E21C */ _t30 = cpu->r[11] + 0x00000014u;
|
|
/* 0278E21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278E220 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E220 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0278E220 */ if (_t32) goto L_0278E228; else goto L_0278E224;
|
|
L_0278E224: ; // 0x278e224
|
|
/* 0278E224 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0278E228: ; // 0x278e228
|
|
/* 0278E228 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E22C */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E230 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E234 */ _t33 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E234 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0278E238 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E23C */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E240 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E244 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E248 */ _t34 = cpu->r[27] + cpu->r[30];
|
|
/* 0278E248 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[31]);
|
|
/* 0278E24C */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 0278E24C */ cpu->r[27] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278E250 */ _t36 = cpu->r[27] + 0x00000004u;
|
|
/* 0278E250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278E254 */ _t37 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278E258 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E25C */ _t38 = cpu->r[28] + 0x00000054u;
|
|
/* 0278E25C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278E260 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E264 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E268 */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E268 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278E26C */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 0278E26C */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0278E270 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0278E278 */ cpu->r[9] = 0x00080000u;
|
|
/* 0278E27C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E27C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0278E27C */ if (_t42) goto L_0278E2A4; else goto L_0278E280;
|
|
L_0278E280: ; // 0x278e280
|
|
/* 0278E280 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0278E288 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0278E28C */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E28C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0278E28C */ if (_t44) goto L_0278E2A0; else goto L_0278E290;
|
|
L_0278E290: ; // 0x278e290
|
|
/* 0278E290 */ _t45 = cpu->r[7] + 0x00000000u;
|
|
/* 0278E290 */ cpu->r[10] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0278E294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0278E298 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E298 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0278E298 */ if (_t47) goto L_0278E29C; else goto L_0278E280;
|
|
L_0278E29C: ; // 0x278e29c
|
|
/* 0278E29C */ goto L_0278E2A4;
|
|
L_0278E2A0: ; // 0x278e2a0
|
|
/* 0278E2A0 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E2A4: ; // 0x278e2a4
|
|
/* 0278E2A4 */ _t48 = cpu->r[28] + 0x0000005Cu;
|
|
/* 0278E2A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0278E2A8 */ _t49 = cpu->r[27] + 0x00000004u;
|
|
/* 0278E2A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0278E2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0278E2B0 */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 0278E2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0278E2B4 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E2B4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0278E2B4 */ if (_t52) goto L_0278E2BC; else goto L_0278E2B8;
|
|
L_0278E2B8: ; // 0x278e2b8
|
|
/* 0278E2B8 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278E2BC: ; // 0x278e2bc
|
|
/* 0278E2BC */ cpu->ctr = cpu->r[0];
|
|
/* 0278E2C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E2C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E2C8 */ _t53 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E2C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0278E2CC */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E2D0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E2D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278E2D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E2DC */ _t54 = cpu->r[29] + cpu->r[30];
|
|
/* 0278E2DC */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[31]);
|
|
/* 0278E2E0 */ /* nop */
|
|
/* 0278E2E4 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278E2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0278E2E8 */ cpu->lr = cpu->r[0];
|
|
/* 0278E2EC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278E2F0 */ return;
|
|
}
|
|
|
|
// fn_0278E2F4 @ 0x278e2f4
|
|
void Gambit_fn_0278E2F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0278E2F4: ; // 0x278e2f4
|
|
/* 0278E2F4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0278E2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E2F4 */ cpu->r[1] = _t0;
|
|
/* 0278E2F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278E2FC */ /* nop */
|
|
/* 0278E300 */ cpu->r[27] = cpu->r[3];
|
|
/* 0278E304 */ cpu->r[30] = cpu->r[4];
|
|
/* 0278E308 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278E308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E30C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278E30C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E310 */ cpu->r[29] = cpu->r[6];
|
|
/* 0278E314 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E314 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278E314 */ if (_t3) goto L_0278E318; else goto L_0278E328;
|
|
L_0278E318: ; // 0x278e318
|
|
/* 0278E318 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278E31C */ _t4 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0278E31C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278E320 */ Gambit_fn_02826F20(cpu);
|
|
/* 0278E324 */ cpu->r[28] = cpu->r[3];
|
|
L_0278E328: ; // 0x278e328
|
|
/* 0278E328 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278E32C */ cpu->r[4] = cpu->r[30];
|
|
/* 0278E330 */ cpu->r[3] = cpu->r[27] + 0x000000A0u;
|
|
/* 0278E334 */ Gambit_fn_0278DD20(cpu);
|
|
/* 0278E338 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278E338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278E33C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E33C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278E33C */ if (_t6) goto L_0278E340; else goto L_0278E3EC;
|
|
L_0278E340: ; // 0x278e340
|
|
/* 0278E340 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278E344 */ cpu->r[4] = cpu->r[30];
|
|
/* 0278E348 */ cpu->r[3] = cpu->r[27] + 0x000000A0u;
|
|
/* 0278E34C */ Gambit_fn_0278DD20(cpu);
|
|
/* 0278E350 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278E350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278E354 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E354 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278E354 */ if (_t8) goto L_0278E3EC; else goto L_0278E358;
|
|
L_0278E358: ; // 0x278e358
|
|
/* 0278E358 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E35C */ goto L_0278E3CC;
|
|
L_0278E360: ; // 0x278e360
|
|
/* 0278E360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278E364 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278E368 */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E368 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278E36C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E36C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278E36C */ if (_t11) goto L_0278E388; else goto L_0278E370;
|
|
L_0278E370: ; // 0x278e370
|
|
/* 0278E370 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 0278E370 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278E374 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278E378 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278E378 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278E37C */ cpu->r[8] = cpu->r[9] + cpu->r[0];
|
|
/* 0278E380 */ _t14 = cpu->r[8] + 0x00000010u;
|
|
/* 0278E380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278E384 */ cpu->r[11] = cpu->r[7] + cpu->r[10];
|
|
L_0278E388: ; // 0x278e388
|
|
/* 0278E388 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278E38C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E38C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0278E390 */ cpu->r[0] = cpu->r[0] + 0x00006854u;
|
|
/* 0278E394 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E394 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0278E398 */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 0278E398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278E39C */ cpu->ctr = cpu->r[10];
|
|
/* 0278E3A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E3A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E3A8 */ cpu->r[6] = cpu->r[29];
|
|
/* 0278E3AC */ cpu->r[5] = cpu->r[28];
|
|
/* 0278E3B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E3B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E3B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0278E3B8 */ if (_t19) goto L_0278E3C8; else goto L_0278E3BC;
|
|
L_0278E3BC: ; // 0x278e3bc
|
|
/* 0278E3BC */ cpu->r[4] = cpu->r[3];
|
|
/* 0278E3C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278E3C4 */ Gambit_fn_028E7C58(cpu);
|
|
L_0278E3C8: ; // 0x278e3c8
|
|
/* 0278E3C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_0278E3CC: ; // 0x278e3cc
|
|
/* 0278E3CC */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 0278E3CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0278E3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278E3D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278E3D8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E3D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278E3D8 */ if (_t22) goto L_0278E3E4; else goto L_0278E3DC;
|
|
L_0278E3DC: ; // 0x278e3dc
|
|
/* 0278E3DC */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0278E3DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278E3E0 */ _t24 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0278E3E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
L_0278E3E4: ; // 0x278e3e4
|
|
/* 0278E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0278E3E8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E3E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278E3E8 */ if (_t26) goto L_0278E360; else goto L_0278E3EC;
|
|
L_0278E3EC: ; // 0x278e3ec
|
|
/* 0278E3EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0278E3F0 */ /* nop */
|
|
/* 0278E3F4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0278E3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278E3F8 */ cpu->lr = cpu->r[0];
|
|
/* 0278E3FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0278E400 */ return;
|
|
}
|
|
|
|
// fn_0278E404 @ 0x278e404
|
|
void Gambit_fn_0278E404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_0278E404: ; // 0x278e404
|
|
/* 0278E404 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0278E404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E404 */ cpu->r[1] = _t0;
|
|
/* 0278E408 */ /* nop */
|
|
/* 0278E40C */ cpu->r[0] = cpu->lr;
|
|
/* 0278E410 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0278E410 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E414 */ cpu->r[29] = cpu->r[4];
|
|
/* 0278E418 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278E41C */ _t2 = cpu->r[28] + 0x000000A8u;
|
|
/* 0278E41C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278E420 */ cpu->r[25] = 0x00000000u;
|
|
/* 0278E424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
|
|
/* 0278E428 */ cpu->r[27] = cpu->r[28] + 0x000000A8u;
|
|
/* 0278E42C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E42C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278E42C */ if (_t4) goto L_0278E430; else goto L_0278E4F0;
|
|
L_0278E430: ; // 0x278e430
|
|
/* 0278E430 */ cpu->r[26] = 0x00000000u;
|
|
L_0278E434: ; // 0x278e434
|
|
/* 0278E434 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278E438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 0278E43C */ cpu->r[31] = 0x00000000u;
|
|
/* 0278E440 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E440 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278E440 */ if (_t7) goto L_0278E444; else goto L_0278E44C;
|
|
L_0278E444: ; // 0x278e444
|
|
/* 0278E444 */ _t8 = cpu->r[27] + 0x00000008u;
|
|
/* 0278E444 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278E448 */ _t9 = cpu->r[12] + cpu->r[26];
|
|
/* 0278E448 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
L_0278E44C: ; // 0x278e44c
|
|
/* 0278E44C */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E450 */ goto L_0278E4BC;
|
|
L_0278E454: ; // 0x278e454
|
|
/* 0278E454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278E458 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E45C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E45C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278E45C */ if (_t11) goto L_0278E478; else goto L_0278E460;
|
|
L_0278E460: ; // 0x278e460
|
|
/* 0278E460 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 0278E460 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278E464 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278E468 */ _t13 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278E468 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278E46C */ cpu->r[8] = cpu->r[10] + cpu->r[0];
|
|
/* 0278E470 */ _t14 = cpu->r[8] + 0x00000010u;
|
|
/* 0278E470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278E474 */ cpu->r[6] = cpu->r[4] + cpu->r[0];
|
|
L_0278E478: ; // 0x278e478
|
|
/* 0278E478 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278E47C */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 0278E47C */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278E480 */ cpu->r[10] = cpu->r[10] + 0x00006854u;
|
|
/* 0278E484 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E484 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0278E488 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E488 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0278E48C */ _t18 = cpu->r[8] + 0x0000002Cu;
|
|
/* 0278E48C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278E490 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E494 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E498 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278E49C */ cpu->r[3] = cpu->r[28];
|
|
/* 0278E4A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E4A8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0278E4AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E4AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278E4AC */ if (_t20) goto L_0278E4B8; else goto L_0278E4B0;
|
|
L_0278E4B0: ; // 0x278e4b0
|
|
/* 0278E4B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278E4B4 */ Gambit_fn_028E7C58(cpu);
|
|
L_0278E4B8: ; // 0x278e4b8
|
|
/* 0278E4B8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_0278E4BC: ; // 0x278e4bc
|
|
/* 0278E4BC */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 0278E4BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0278E4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278E4C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E4C8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E4C8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0278E4C8 */ if (_t23) goto L_0278E4D4; else goto L_0278E4CC;
|
|
L_0278E4CC: ; // 0x278e4cc
|
|
/* 0278E4CC */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 0278E4CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278E4D0 */ _t25 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0278E4D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
L_0278E4D4: ; // 0x278e4d4
|
|
/* 0278E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278E4D8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E4D8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278E4D8 */ if (_t27) goto L_0278E454; else goto L_0278E4DC;
|
|
L_0278E4DC: ; // 0x278e4dc
|
|
/* 0278E4DC */ _t28 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E4DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278E4E0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0278E4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
|
|
/* 0278E4E8 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 0278E4EC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E4EC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0278E4EC */ if (_t30) goto L_0278E434; else goto L_0278E4F0;
|
|
L_0278E4F0: ; // 0x278e4f0
|
|
/* 0278E4F0 */ /* nop */
|
|
/* 0278E4F4 */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 0278E4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278E4F8 */ cpu->lr = cpu->r[0];
|
|
/* 0278E4FC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0278E500 */ return;
|
|
}
|
|
|
|
// fn_0278E504 @ 0x278e504
|
|
void Gambit_fn_0278E504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0278E504: ; // 0x278e504
|
|
/* 0278E504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0278E508 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E508 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278E508 */ if (_t1) goto L_0278E524; else goto L_0278E50C;
|
|
L_0278E50C: ; // 0x278e50c
|
|
/* 0278E50C */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 0278E50C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278E510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278E514 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E514 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278E514 */ if (_t4) goto L_0278E524; else goto L_0278E518;
|
|
L_0278E518: ; // 0x278e518
|
|
/* 0278E518 */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 0278E518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278E51C */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0278E51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278E520 */ return;
|
|
L_0278E524: ; // 0x278e524
|
|
/* 0278E524 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278E528 */ return;
|
|
}
|
|
|
|
// fn_0278E52C @ 0x278e52c
|
|
void Gambit_fn_0278E52C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_0278E52C: ; // 0x278e52c
|
|
/* 0278E52C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0278E52C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E52C */ cpu->r[1] = _t0;
|
|
/* 0278E530 */ /* nop */
|
|
/* 0278E534 */ cpu->r[0] = cpu->lr;
|
|
/* 0278E538 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0278E538 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E53C */ cpu->r[27] = cpu->r[4];
|
|
/* 0278E540 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278E544 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E544 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278E548 */ _t3 = cpu->r[31] + 0x00007399u;
|
|
/* 0278E548 */ cpu->r[31] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0278E54C */ cpu->r[26] = cpu->r[3];
|
|
/* 0278E550 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278E550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E554 */ cpu->r[30] = cpu->r[6];
|
|
/* 0278E558 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E558 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 0278E55C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E55C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278E55C */ if (_t6) goto L_0278E74C; else goto L_0278E560;
|
|
L_0278E560: ; // 0x278e560
|
|
/* 0278E560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E564 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E564 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278E564 */ if (_t8) goto L_0278E74C; else goto L_0278E568;
|
|
L_0278E568: ; // 0x278e568
|
|
/* 0278E568 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E56C */ cpu->r[4] = cpu->r[28];
|
|
/* 0278E570 */ Gambit_fn_0278E504(cpu);
|
|
/* 0278E574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[3]);
|
|
/* 0278E578 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E578 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278E578 */ if (_t10) goto L_0278E57C; else goto L_0278E74C;
|
|
L_0278E57C: ; // 0x278e57c
|
|
/* 0278E57C */ _t11 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278E57C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278E580 */ _t12 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E580 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278E584 */ cpu->ctr = cpu->r[5];
|
|
/* 0278E588 */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E588 */ cpu->r[25] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278E58C */ cpu->r[3] = cpu->r[26] + 0x00000008u;
|
|
/* 0278E590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E594 */ _t14 = cpu->r[26] + 0x00000008u;
|
|
/* 0278E594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278E598 */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 0278E598 */ cpu->r[5] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0278E59C */ cpu->r[8] = 0x00080000u;
|
|
/* 0278E5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0278E5A4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E5A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E5A8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278E5A8 */ if (_t17) goto L_0278E5D0; else goto L_0278E5AC;
|
|
L_0278E5AC: ; // 0x278e5ac
|
|
/* 0278E5AC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0278E5B4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0278E5B8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E5B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0278E5B8 */ if (_t19) goto L_0278E5CC; else goto L_0278E5BC;
|
|
L_0278E5BC: ; // 0x278e5bc
|
|
/* 0278E5BC */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 0278E5BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0278E5C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0278E5C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E5C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278E5C4 */ if (_t22) goto L_0278E5C8; else goto L_0278E5AC;
|
|
L_0278E5C8: ; // 0x278e5c8
|
|
/* 0278E5C8 */ goto L_0278E5D0;
|
|
L_0278E5CC: ; // 0x278e5cc
|
|
/* 0278E5CC */ cpu->r[29] = 0x00000000u;
|
|
L_0278E5D0: ; // 0x278e5d0
|
|
/* 0278E5D0 */ _t23 = cpu->r[27] + 0x00000008u;
|
|
/* 0278E5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278E5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0278E5D8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E5D8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0278E5D8 */ if (_t25) goto L_0278E5E0; else goto L_0278E5DC;
|
|
L_0278E5DC: ; // 0x278e5dc
|
|
/* 0278E5DC */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0278E5E0: ; // 0x278e5e0
|
|
/* 0278E5E0 */ _t26 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278E5E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278E5E4 */ _t27 = cpu->r[8] + 0x00000014u;
|
|
/* 0278E5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278E5E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E5EC */ cpu->r[3] = cpu->r[26] + 0x00000008u;
|
|
/* 0278E5F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E5F4 */ _t28 = cpu->r[26] + 0x00000008u;
|
|
/* 0278E5F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278E5F8 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278E5FC */ cpu->r[5] = cpu->r[29];
|
|
/* 0278E600 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E604 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E608 */ _t29 = cpu->r[25] + cpu->r[29];
|
|
/* 0278E608 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 0278E60C */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 0278E60C */ cpu->r[10] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0278E610 */ cpu->r[12] = 0x00000000u;
|
|
/* 0278E614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278E618 */ _t31 = cpu->r[27] + 0x00000004u;
|
|
/* 0278E618 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278E61C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E61C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278E61C */ if (_t33) goto L_0278E638; else goto L_0278E620;
|
|
L_0278E620: ; // 0x278e620
|
|
/* 0278E620 */ _t34 = cpu->r[28] + 0x00000008u;
|
|
/* 0278E620 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278E624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278E628 */ _t35 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0278E628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278E62C */ cpu->r[5] = cpu->r[6] + cpu->r[0];
|
|
/* 0278E630 */ _t36 = cpu->r[5] + 0x00000010u;
|
|
/* 0278E630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278E634 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
L_0278E638: ; // 0x278e638
|
|
/* 0278E638 */ cpu->r[8] = 0x10100000u;
|
|
/* 0278E63C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E63C */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0278E640 */ cpu->r[8] = cpu->r[8] + 0x00006854u;
|
|
/* 0278E644 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E644 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 0278E648 */ _t39 = cpu->r[9] + 0x00000014u;
|
|
/* 0278E648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278E64C */ cpu->ctr = cpu->r[10];
|
|
/* 0278E650 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E650 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0278E654 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E65C */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 0278E65C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278E660 */ _t42 = cpu->r[5] + 0x00000000u;
|
|
/* 0278E660 */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0278E664 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0278E66C */ cpu->r[6] = 0x00080000u;
|
|
/* 0278E670 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E670 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0278E670 */ if (_t44) goto L_0278E698; else goto L_0278E674;
|
|
L_0278E674: ; // 0x278e674
|
|
/* 0278E674 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278E67C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278E680 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E680 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0278E680 */ if (_t46) goto L_0278E694; else goto L_0278E684;
|
|
L_0278E684: ; // 0x278e684
|
|
/* 0278E684 */ _t47 = cpu->r[5] + 0x00000000u;
|
|
/* 0278E684 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0278E688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E68C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E68C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278E68C */ if (_t49) goto L_0278E690; else goto L_0278E674;
|
|
L_0278E690: ; // 0x278e690
|
|
/* 0278E690 */ goto L_0278E698;
|
|
L_0278E694: ; // 0x278e694
|
|
/* 0278E694 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E698: ; // 0x278e698
|
|
/* 0278E698 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E698 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0278E69C */ cpu->r[26] = cpu->r[30];
|
|
/* 0278E69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0278E6A0 */ _t51 = cpu->r[6] + 0x00000014u;
|
|
/* 0278E6A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0278E6A4 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E6A4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0278E6A4 */ if (_t53) goto L_0278E6A8; else goto L_0278E6AC;
|
|
L_0278E6A8: ; // 0x278e6a8
|
|
/* 0278E6A8 */ cpu->r[26] = 0x00000000u;
|
|
L_0278E6AC: ; // 0x278e6ac
|
|
/* 0278E6AC */ cpu->ctr = cpu->r[7];
|
|
/* 0278E6B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E6B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E6B8 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E6B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0278E6BC */ _t55 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E6BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t55);
|
|
/* 0278E6C0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E6C8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278E6CC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E6CC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0278E6CC */ if (_t57) goto L_0278E6F4; else goto L_0278E6D0;
|
|
L_0278E6D0: ; // 0x278e6d0
|
|
/* 0278E6D0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0278E6D8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278E6DC */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E6DC */ _t59 = _t58 & 0x00000001u;
|
|
/* 0278E6DC */ if (_t59) goto L_0278E6F0; else goto L_0278E6E0;
|
|
L_0278E6E0: ; // 0x278e6e0
|
|
/* 0278E6E0 */ _t60 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E6E0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0278E6E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278E6E8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E6E8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278E6E8 */ if (_t62) goto L_0278E6EC; else goto L_0278E6D0;
|
|
L_0278E6EC: ; // 0x278e6ec
|
|
/* 0278E6EC */ goto L_0278E6F4;
|
|
L_0278E6F0: ; // 0x278e6f0
|
|
/* 0278E6F0 */ cpu->r[29] = 0x00000000u;
|
|
L_0278E6F4: ; // 0x278e6f4
|
|
/* 0278E6F4 */ _t63 = cpu->r[27] + 0x00000008u;
|
|
/* 0278E6F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0278E6F8 */ cpu->r[10] = cpu->r[9] - cpu->r[26];
|
|
/* 0278E6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0278E700 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E700 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0278E700 */ if (_t65) goto L_0278E708; else goto L_0278E704;
|
|
L_0278E704: ; // 0x278e704
|
|
/* 0278E704 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0278E708: ; // 0x278e708
|
|
/* 0278E708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278E70C */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E70C */ _t67 = _t66 & 0x00000001u;
|
|
/* 0278E70C */ if (_t67) goto L_0278E710; else goto L_0278E74C;
|
|
L_0278E710: ; // 0x278e710
|
|
/* 0278E710 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278E714 */ _t69 = cpu->r[10] + 0x00000014u;
|
|
/* 0278E714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0278E718 */ cpu->ctr = cpu->r[11];
|
|
/* 0278E71C */ cpu->r[27] = cpu->r[28] + cpu->r[26];
|
|
/* 0278E720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E724 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E728 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E728 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0278E72C */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E730 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278E734 */ cpu->r[3] = cpu->r[27];
|
|
/* 0278E738 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E73C */ cpu->r[0] = cpu->r[26] + cpu->r[29];
|
|
/* 0278E740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 0278E744 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E744 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0278E744 */ if (_t72) goto L_0278E748; else goto L_0278E74C;
|
|
L_0278E748: ; // 0x278e748
|
|
/* 0278E748 */ _t73 = cpu->r[28] + cpu->r[0];
|
|
/* 0278E748 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[31]);
|
|
L_0278E74C: ; // 0x278e74c
|
|
/* 0278E74C */ /* nop */
|
|
/* 0278E750 */ _t74 = cpu->r[1] + 0x00000034u;
|
|
/* 0278E750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0278E754 */ cpu->lr = cpu->r[0];
|
|
/* 0278E758 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0278E75C */ return;
|
|
}
|
|
|
|
// fn_0278E760 @ 0x278e760
|
|
void Gambit_fn_0278E760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0278E760: ; // 0x278e760
|
|
/* 0278E760 */ cpu->r[0] = cpu->lr;
|
|
/* 0278E764 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 0278E764 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E764 */ cpu->r[1] = _t0;
|
|
/* 0278E768 */ _t1 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278E768 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E76C */ /* nop */
|
|
/* 0278E770 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278E774 */ cpu->r[28] = cpu->r[6];
|
|
/* 0278E774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E778 */ cpu->r[27] = cpu->r[5];
|
|
/* 0278E77C */ cpu->r[26] = cpu->r[4];
|
|
/* 0278E780 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E780 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278E780 */ if (_t3) goto L_0278E784; else goto L_0278E788;
|
|
L_0278E784: ; // 0x278e784
|
|
/* 0278E784 */ cpu->r[28] = cpu->r[27];
|
|
L_0278E788: ; // 0x278e788
|
|
/* 0278E788 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278E78C */ cpu->r[0] = 0x00000080u;
|
|
/* 0278E790 */ _t4 = cpu->r[31] + 0x00007399u;
|
|
/* 0278E790 */ cpu->r[31] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278E794 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E794 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278E798 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278E79C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E79C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 0278E7A0 */ cpu->r[0] = cpu->r[0] + 0x000068ACu;
|
|
/* 0278E7A4 */ _t7 = cpu->r[1] + 0x00000093u;
|
|
/* 0278E7A4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0278E7A8 */ cpu->r[24] = cpu->r[1] + 0x00000014u;
|
|
/* 0278E7AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E7AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278E7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7B4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[24]);
|
|
/* 0278E7B8 */ Gambit_fn_0278ED04(cpu);
|
|
/* 0278E7BC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278E7C0 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E7C0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0278E7C4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0278E7CC */ cpu->r[11] = 0x00080000u;
|
|
/* 0278E7D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E7D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278E7D0 */ if (_t13) goto L_0278E7F8; else goto L_0278E7D4;
|
|
L_0278E7D4: ; // 0x278e7d4
|
|
/* 0278E7D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0278E7DC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278E7E0 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E7E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278E7E0 */ if (_t15) goto L_0278E7F4; else goto L_0278E7E4;
|
|
L_0278E7E4: ; // 0x278e7e4
|
|
/* 0278E7E4 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E7E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0278E7E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E7EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E7EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278E7EC */ if (_t18) goto L_0278E7F0; else goto L_0278E7D4;
|
|
L_0278E7F0: ; // 0x278e7f0
|
|
/* 0278E7F0 */ goto L_0278E7F8;
|
|
L_0278E7F4: ; // 0x278e7f4
|
|
/* 0278E7F4 */ cpu->r[29] = 0x00000000u;
|
|
L_0278E7F8: ; // 0x278e7f8
|
|
/* 0278E7F8 */ _t19 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0278E7F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278E7FC */ cpu->r[23] = cpu->r[29];
|
|
/* 0278E7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278E800 */ _t20 = cpu->r[6] + 0x00000014u;
|
|
/* 0278E800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278E804 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E804 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278E804 */ if (_t22) goto L_0278E808; else goto L_0278E80C;
|
|
L_0278E808: ; // 0x278e808
|
|
/* 0278E808 */ cpu->r[23] = 0x00000000u;
|
|
L_0278E80C: ; // 0x278e80c
|
|
/* 0278E80C */ cpu->ctr = cpu->r[7];
|
|
/* 0278E810 */ cpu->r[3] = cpu->r[25] + 0x00000008u;
|
|
/* 0278E814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E818 */ _t23 = cpu->r[25] + 0x00000008u;
|
|
/* 0278E818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278E81C */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 0278E81C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0278E820 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E828 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278E82C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E82C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278E82C */ if (_t26) goto L_0278E854; else goto L_0278E830;
|
|
L_0278E830: ; // 0x278e830
|
|
/* 0278E830 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278E838 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278E83C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E83C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278E83C */ if (_t28) goto L_0278E850; else goto L_0278E840;
|
|
L_0278E840: ; // 0x278e840
|
|
/* 0278E840 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 0278E840 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0278E844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278E848 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E848 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0278E848 */ if (_t31) goto L_0278E84C; else goto L_0278E830;
|
|
L_0278E84C: ; // 0x278e84c
|
|
/* 0278E84C */ goto L_0278E854;
|
|
L_0278E850: ; // 0x278e850
|
|
/* 0278E850 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E854: ; // 0x278e854
|
|
/* 0278E854 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E854 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278E858 */ cpu->r[6] = cpu->r[5] - cpu->r[23];
|
|
/* 0278E85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278E860 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E860 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278E860 */ if (_t34) goto L_0278E868; else goto L_0278E864;
|
|
L_0278E864: ; // 0x278e864
|
|
/* 0278E864 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0278E868: ; // 0x278e868
|
|
/* 0278E868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E86C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E86C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0278E86C */ if (_t36) goto L_0278E870; else goto L_0278E8AC;
|
|
L_0278E870: ; // 0x278e870
|
|
/* 0278E870 */ _t37 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0278E870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278E874 */ _t38 = cpu->r[10] + 0x00000014u;
|
|
/* 0278E874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278E878 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E87C */ cpu->r[22] = cpu->r[24] + cpu->r[23];
|
|
/* 0278E880 */ cpu->r[3] = cpu->r[25] + 0x00000008u;
|
|
/* 0278E884 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E888 */ _t39 = cpu->r[25] + 0x00000008u;
|
|
/* 0278E888 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278E88C */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E890 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E894 */ cpu->r[3] = cpu->r[22];
|
|
/* 0278E898 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E89C */ cpu->r[9] = cpu->r[23] + cpu->r[30];
|
|
/* 0278E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[29]);
|
|
/* 0278E8A4 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E8A4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0278E8A4 */ if (_t41) goto L_0278E8A8; else goto L_0278E8AC;
|
|
L_0278E8A8: ; // 0x278e8a8
|
|
/* 0278E8A8 */ _t42 = cpu->r[24] + cpu->r[9];
|
|
/* 0278E8A8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
L_0278E8AC: ; // 0x278e8ac
|
|
/* 0278E8AC */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278E8B0 */ _t44 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E8B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278E8B4 */ cpu->ctr = cpu->r[5];
|
|
/* 0278E8B8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8B8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0278E8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E8C4 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0278E8C8 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E8C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0278E8CC */ cpu->r[9] = 0x00080000u;
|
|
/* 0278E8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E8D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E8D8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E8D8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278E8D8 */ if (_t49) goto L_0278E900; else goto L_0278E8DC;
|
|
L_0278E8DC: ; // 0x278e8dc
|
|
/* 0278E8DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0278E8E4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278E8E8 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E8E8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278E8E8 */ if (_t51) goto L_0278E8FC; else goto L_0278E8EC;
|
|
L_0278E8EC: ; // 0x278e8ec
|
|
/* 0278E8EC */ _t52 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E8EC */ cpu->r[7] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0278E8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0278E8F4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E8F4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0278E8F4 */ if (_t54) goto L_0278E8F8; else goto L_0278E8DC;
|
|
L_0278E8F8: ; // 0x278e8f8
|
|
/* 0278E8F8 */ goto L_0278E900;
|
|
L_0278E8FC: ; // 0x278e8fc
|
|
/* 0278E8FC */ cpu->r[29] = 0x00000000u;
|
|
L_0278E900: ; // 0x278e900
|
|
/* 0278E900 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E900 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0278E904 */ cpu->r[24] = cpu->r[29];
|
|
/* 0278E904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278E908 */ _t56 = cpu->r[8] + 0x00000014u;
|
|
/* 0278E908 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0278E90C */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E90C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0278E90C */ if (_t58) goto L_0278E910; else goto L_0278E914;
|
|
L_0278E910: ; // 0x278e910
|
|
/* 0278E910 */ cpu->r[24] = 0x00000000u;
|
|
L_0278E914: ; // 0x278e914
|
|
/* 0278E914 */ cpu->ctr = cpu->r[9];
|
|
/* 0278E918 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E91C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E920 */ _t59 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0278E924 */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 0278E924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0278E928 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E930 */ cpu->r[7] = 0x00080000u;
|
|
/* 0278E934 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E934 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278E934 */ if (_t62) goto L_0278E95C; else goto L_0278E938;
|
|
L_0278E938: ; // 0x278e938
|
|
/* 0278E938 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0278E940 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278E944 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E944 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0278E944 */ if (_t64) goto L_0278E958; else goto L_0278E948;
|
|
L_0278E948: ; // 0x278e948
|
|
/* 0278E948 */ _t65 = cpu->r[6] + 0x00000000u;
|
|
/* 0278E948 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0278E94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E950 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E950 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0278E950 */ if (_t67) goto L_0278E954; else goto L_0278E938;
|
|
L_0278E954: ; // 0x278e954
|
|
/* 0278E954 */ goto L_0278E95C;
|
|
L_0278E958: ; // 0x278e958
|
|
/* 0278E958 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E95C: ; // 0x278e95c
|
|
/* 0278E95C */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E95C */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278E960 */ cpu->r[8] = cpu->r[5] - cpu->r[24];
|
|
/* 0278E964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0278E968 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E968 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278E968 */ if (_t70) goto L_0278E970; else goto L_0278E96C;
|
|
L_0278E96C: ; // 0x278e96c
|
|
/* 0278E96C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278E970: ; // 0x278e970
|
|
/* 0278E970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E974 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E974 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0278E974 */ if (_t72) goto L_0278E978; else goto L_0278E9B4;
|
|
L_0278E978: ; // 0x278e978
|
|
/* 0278E978 */ _t73 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278E97C */ _t74 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0278E980 */ cpu->ctr = cpu->r[5];
|
|
/* 0278E984 */ cpu->r[23] = cpu->r[25] + cpu->r[24];
|
|
/* 0278E988 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E98C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E990 */ _t75 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0278E994 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E998 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E99C */ cpu->r[3] = cpu->r[23];
|
|
/* 0278E9A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E9A4 */ cpu->r[10] = cpu->r[24] + cpu->r[30];
|
|
/* 0278E9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[29]);
|
|
/* 0278E9AC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E9AC */ _t77 = _t76 & 0x00000001u;
|
|
/* 0278E9AC */ if (_t77) goto L_0278E9B0; else goto L_0278E9B4;
|
|
L_0278E9B0: ; // 0x278e9b0
|
|
/* 0278E9B0 */ _t78 = cpu->r[25] + cpu->r[10];
|
|
/* 0278E9B0 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[31]);
|
|
L_0278E9B4: ; // 0x278e9b4
|
|
/* 0278E9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E9B8 */ Gambit_fn_027E2BBC(cpu);
|
|
/* 0278E9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E9C0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E9C0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0278E9C0 */ if (_t80) goto L_0278E9E0; else goto L_0278E9C4;
|
|
L_0278E9C4: ; // 0x278e9c4
|
|
/* 0278E9C4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278E9C8 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278E9CC */ cpu->r[4] = cpu->r[27];
|
|
/* 0278E9D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E9D4 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278E9D8 */ cpu->r[7] = cpu->r[3];
|
|
/* 0278E9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278E9DC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E9DC */ _t82 = _t81 & 0x00000001u;
|
|
/* 0278E9DC */ if (_t82) goto L_0278E9E0; else goto L_0278E9F8;
|
|
L_0278E9E0: ; // 0x278e9e0
|
|
/* 0278E9E0 */ /* nop */
|
|
/* 0278E9E4 */ _t83 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278E9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0278E9E8 */ cpu->lr = cpu->r[0];
|
|
/* 0278E9EC */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0278E9F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278E9F4 */ return;
|
|
L_0278E9F8: ; // 0x278e9f8
|
|
/* 0278E9F8 */ _t84 = cpu->r[7] + 0x00000004u;
|
|
/* 0278E9F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0278E9FC */ cpu->r[5] = cpu->r[28];
|
|
/* 0278EA00 */ _t85 = cpu->r[7] + 0x00000008u;
|
|
/* 0278EA00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0278EA04 */ cpu->r[6] = cpu->r[26];
|
|
/* 0278EA08 */ Gambit_fn_028E6BF4(cpu);
|
|
/* 0278EA0C */ /* nop */
|
|
/* 0278EA10 */ _t86 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278EA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0278EA14 */ cpu->lr = cpu->r[0];
|
|
/* 0278EA18 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0278EA1C */ return;
|
|
}
|
|
|
|
// fn_0278E764 @ 0x278e764
|
|
void Gambit_fn_0278E764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_0278E764: ; // 0x278e764
|
|
/* 0278E764 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 0278E764 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278E764 */ cpu->r[1] = _t0;
|
|
/* 0278E768 */ _t1 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278E768 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278E76C */ /* nop */
|
|
/* 0278E770 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278E774 */ cpu->r[28] = cpu->r[6];
|
|
/* 0278E774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278E778 */ cpu->r[27] = cpu->r[5];
|
|
/* 0278E77C */ cpu->r[26] = cpu->r[4];
|
|
/* 0278E780 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E780 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278E780 */ if (_t3) goto L_0278E784; else goto L_0278E788;
|
|
L_0278E784: ; // 0x278e784
|
|
/* 0278E784 */ cpu->r[28] = cpu->r[27];
|
|
L_0278E788: ; // 0x278e788
|
|
/* 0278E788 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278E78C */ cpu->r[0] = 0x00000080u;
|
|
/* 0278E790 */ _t4 = cpu->r[31] + 0x00007399u;
|
|
/* 0278E790 */ cpu->r[31] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0278E794 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E794 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278E798 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278E79C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0278E79C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 0278E7A0 */ cpu->r[0] = cpu->r[0] + 0x000068ACu;
|
|
/* 0278E7A4 */ _t7 = cpu->r[1] + 0x00000093u;
|
|
/* 0278E7A4 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0278E7A8 */ cpu->r[24] = cpu->r[1] + 0x00000014u;
|
|
/* 0278E7AC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E7AC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278E7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7B4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[24]);
|
|
/* 0278E7B8 */ Gambit_fn_0278ED04(cpu);
|
|
/* 0278E7BC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278E7C0 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E7C0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0278E7C4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E7C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0278E7CC */ cpu->r[11] = 0x00080000u;
|
|
/* 0278E7D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E7D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278E7D0 */ if (_t13) goto L_0278E7F8; else goto L_0278E7D4;
|
|
L_0278E7D4: ; // 0x278e7d4
|
|
/* 0278E7D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0278E7DC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278E7E0 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E7E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278E7E0 */ if (_t15) goto L_0278E7F4; else goto L_0278E7E4;
|
|
L_0278E7E4: ; // 0x278e7e4
|
|
/* 0278E7E4 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0278E7E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0278E7E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E7EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E7EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278E7EC */ if (_t18) goto L_0278E7F0; else goto L_0278E7D4;
|
|
L_0278E7F0: ; // 0x278e7f0
|
|
/* 0278E7F0 */ goto L_0278E7F8;
|
|
L_0278E7F4: ; // 0x278e7f4
|
|
/* 0278E7F4 */ cpu->r[29] = 0x00000000u;
|
|
L_0278E7F8: ; // 0x278e7f8
|
|
/* 0278E7F8 */ _t19 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0278E7F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278E7FC */ cpu->r[23] = cpu->r[29];
|
|
/* 0278E7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278E800 */ _t20 = cpu->r[6] + 0x00000014u;
|
|
/* 0278E800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278E804 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E804 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278E804 */ if (_t22) goto L_0278E808; else goto L_0278E80C;
|
|
L_0278E808: ; // 0x278e808
|
|
/* 0278E808 */ cpu->r[23] = 0x00000000u;
|
|
L_0278E80C: ; // 0x278e80c
|
|
/* 0278E80C */ cpu->ctr = cpu->r[7];
|
|
/* 0278E810 */ cpu->r[3] = cpu->r[25] + 0x00000008u;
|
|
/* 0278E814 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E818 */ _t23 = cpu->r[25] + 0x00000008u;
|
|
/* 0278E818 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278E81C */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 0278E81C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0278E820 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E828 */ cpu->r[0] = 0x00080000u;
|
|
/* 0278E82C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E82C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278E82C */ if (_t26) goto L_0278E854; else goto L_0278E830;
|
|
L_0278E830: ; // 0x278e830
|
|
/* 0278E830 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278E838 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278E83C */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E83C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278E83C */ if (_t28) goto L_0278E850; else goto L_0278E840;
|
|
L_0278E840: ; // 0x278e840
|
|
/* 0278E840 */ _t29 = cpu->r[10] + 0x00000000u;
|
|
/* 0278E840 */ cpu->r[9] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0278E844 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278E848 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E848 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0278E848 */ if (_t31) goto L_0278E84C; else goto L_0278E830;
|
|
L_0278E84C: ; // 0x278e84c
|
|
/* 0278E84C */ goto L_0278E854;
|
|
L_0278E850: ; // 0x278e850
|
|
/* 0278E850 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E854: ; // 0x278e854
|
|
/* 0278E854 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E854 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0278E858 */ cpu->r[6] = cpu->r[5] - cpu->r[23];
|
|
/* 0278E85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278E860 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E860 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278E860 */ if (_t34) goto L_0278E868; else goto L_0278E864;
|
|
L_0278E864: ; // 0x278e864
|
|
/* 0278E864 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0278E868: ; // 0x278e868
|
|
/* 0278E868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E86C */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E86C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0278E86C */ if (_t36) goto L_0278E870; else goto L_0278E8AC;
|
|
L_0278E870: ; // 0x278e870
|
|
/* 0278E870 */ _t37 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0278E870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278E874 */ _t38 = cpu->r[10] + 0x00000014u;
|
|
/* 0278E874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278E878 */ cpu->ctr = cpu->r[0];
|
|
/* 0278E87C */ cpu->r[22] = cpu->r[24] + cpu->r[23];
|
|
/* 0278E880 */ cpu->r[3] = cpu->r[25] + 0x00000008u;
|
|
/* 0278E884 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E888 */ _t39 = cpu->r[25] + 0x00000008u;
|
|
/* 0278E888 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0278E88C */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E890 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E894 */ cpu->r[3] = cpu->r[22];
|
|
/* 0278E898 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E89C */ cpu->r[9] = cpu->r[23] + cpu->r[30];
|
|
/* 0278E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[29]);
|
|
/* 0278E8A4 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E8A4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0278E8A4 */ if (_t41) goto L_0278E8A8; else goto L_0278E8AC;
|
|
L_0278E8A8: ; // 0x278e8a8
|
|
/* 0278E8A8 */ _t42 = cpu->r[24] + cpu->r[9];
|
|
/* 0278E8A8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
L_0278E8AC: ; // 0x278e8ac
|
|
/* 0278E8AC */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278E8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278E8B0 */ _t44 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E8B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278E8B4 */ cpu->ctr = cpu->r[5];
|
|
/* 0278E8B8 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8B8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0278E8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E8C4 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0278E8C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0278E8C8 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E8C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0278E8CC */ cpu->r[9] = 0x00080000u;
|
|
/* 0278E8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E8D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278E8D8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E8D8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278E8D8 */ if (_t49) goto L_0278E900; else goto L_0278E8DC;
|
|
L_0278E8DC: ; // 0x278e8dc
|
|
/* 0278E8DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278E8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0278E8E4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278E8E8 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E8E8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0278E8E8 */ if (_t51) goto L_0278E8FC; else goto L_0278E8EC;
|
|
L_0278E8EC: ; // 0x278e8ec
|
|
/* 0278E8EC */ _t52 = cpu->r[8] + 0x00000000u;
|
|
/* 0278E8EC */ cpu->r[7] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0278E8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0278E8F4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E8F4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0278E8F4 */ if (_t54) goto L_0278E8F8; else goto L_0278E8DC;
|
|
L_0278E8F8: ; // 0x278e8f8
|
|
/* 0278E8F8 */ goto L_0278E900;
|
|
L_0278E8FC: ; // 0x278e8fc
|
|
/* 0278E8FC */ cpu->r[29] = 0x00000000u;
|
|
L_0278E900: ; // 0x278e900
|
|
/* 0278E900 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E900 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0278E904 */ cpu->r[24] = cpu->r[29];
|
|
/* 0278E904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278E908 */ _t56 = cpu->r[8] + 0x00000014u;
|
|
/* 0278E908 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0278E90C */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E90C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0278E90C */ if (_t58) goto L_0278E910; else goto L_0278E914;
|
|
L_0278E910: ; // 0x278e910
|
|
/* 0278E910 */ cpu->r[24] = 0x00000000u;
|
|
L_0278E914: ; // 0x278e914
|
|
/* 0278E914 */ cpu->ctr = cpu->r[9];
|
|
/* 0278E918 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E91C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E920 */ _t59 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0278E924 */ _t60 = cpu->r[6] + 0x00000000u;
|
|
/* 0278E924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0278E928 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278E92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E930 */ cpu->r[7] = 0x00080000u;
|
|
/* 0278E934 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E934 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278E934 */ if (_t62) goto L_0278E95C; else goto L_0278E938;
|
|
L_0278E938: ; // 0x278e938
|
|
/* 0278E938 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278E93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0278E940 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278E944 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E944 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0278E944 */ if (_t64) goto L_0278E958; else goto L_0278E948;
|
|
L_0278E948: ; // 0x278e948
|
|
/* 0278E948 */ _t65 = cpu->r[6] + 0x00000000u;
|
|
/* 0278E948 */ cpu->r[0] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0278E94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278E950 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E950 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0278E950 */ if (_t67) goto L_0278E954; else goto L_0278E938;
|
|
L_0278E954: ; // 0x278e954
|
|
/* 0278E954 */ goto L_0278E95C;
|
|
L_0278E958: ; // 0x278e958
|
|
/* 0278E958 */ cpu->r[30] = 0x00000000u;
|
|
L_0278E95C: ; // 0x278e95c
|
|
/* 0278E95C */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 0278E95C */ cpu->r[5] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278E960 */ cpu->r[8] = cpu->r[5] - cpu->r[24];
|
|
/* 0278E964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0278E968 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278E968 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278E968 */ if (_t70) goto L_0278E970; else goto L_0278E96C;
|
|
L_0278E96C: ; // 0x278e96c
|
|
/* 0278E96C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278E970: ; // 0x278e970
|
|
/* 0278E970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278E974 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E974 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0278E974 */ if (_t72) goto L_0278E978; else goto L_0278E9B4;
|
|
L_0278E978: ; // 0x278e978
|
|
/* 0278E978 */ _t73 = cpu->r[26] + 0x00000004u;
|
|
/* 0278E978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278E97C */ _t74 = cpu->r[12] + 0x00000014u;
|
|
/* 0278E97C */ cpu->r[5] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0278E980 */ cpu->ctr = cpu->r[5];
|
|
/* 0278E984 */ cpu->r[23] = cpu->r[25] + cpu->r[24];
|
|
/* 0278E988 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278E98C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278E990 */ _t75 = cpu->r[26] + 0x00000000u;
|
|
/* 0278E990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0278E994 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278E998 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278E99C */ cpu->r[3] = cpu->r[23];
|
|
/* 0278E9A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278E9A4 */ cpu->r[10] = cpu->r[24] + cpu->r[30];
|
|
/* 0278E9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[29]);
|
|
/* 0278E9AC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278E9AC */ _t77 = _t76 & 0x00000001u;
|
|
/* 0278E9AC */ if (_t77) goto L_0278E9B0; else goto L_0278E9B4;
|
|
L_0278E9B0: ; // 0x278e9b0
|
|
/* 0278E9B0 */ _t78 = cpu->r[25] + cpu->r[10];
|
|
/* 0278E9B0 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[31]);
|
|
L_0278E9B4: ; // 0x278e9b4
|
|
/* 0278E9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E9B8 */ Gambit_fn_027E2BBC(cpu);
|
|
/* 0278E9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278E9C0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E9C0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0278E9C0 */ if (_t80) goto L_0278E9E0; else goto L_0278E9C4;
|
|
L_0278E9C4: ; // 0x278e9c4
|
|
/* 0278E9C4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278E9C8 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278E9CC */ cpu->r[4] = cpu->r[27];
|
|
/* 0278E9D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278E9D4 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278E9D8 */ cpu->r[7] = cpu->r[3];
|
|
/* 0278E9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278E9DC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278E9DC */ _t82 = _t81 & 0x00000001u;
|
|
/* 0278E9DC */ if (_t82) goto L_0278E9E0; else goto L_0278E9F8;
|
|
L_0278E9E0: ; // 0x278e9e0
|
|
/* 0278E9E0 */ /* nop */
|
|
/* 0278E9E4 */ _t83 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278E9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0278E9E8 */ cpu->lr = cpu->r[0];
|
|
/* 0278E9EC */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0278E9F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278E9F4 */ return;
|
|
L_0278E9F8: ; // 0x278e9f8
|
|
/* 0278E9F8 */ _t84 = cpu->r[7] + 0x00000004u;
|
|
/* 0278E9F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0278E9FC */ cpu->r[5] = cpu->r[28];
|
|
/* 0278EA00 */ _t85 = cpu->r[7] + 0x00000008u;
|
|
/* 0278EA00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0278EA04 */ cpu->r[6] = cpu->r[26];
|
|
/* 0278EA08 */ Gambit_fn_028E6BF4(cpu);
|
|
/* 0278EA0C */ /* nop */
|
|
/* 0278EA10 */ _t86 = cpu->r[1] + 0x000000C4u;
|
|
/* 0278EA10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0278EA14 */ cpu->lr = cpu->r[0];
|
|
/* 0278EA18 */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 0278EA1C */ return;
|
|
}
|
|
|
|
// fn_0278EA20 @ 0x278ea20
|
|
void Gambit_fn_0278EA20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278EA20: ; // 0x278ea20
|
|
/* 0278EA20 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 0278EA20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EA20 */ cpu->r[1] = _t0;
|
|
/* 0278EA24 */ /* nop */
|
|
/* 0278EA28 */ cpu->r[0] = cpu->lr;
|
|
/* 0278EA2C */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 0278EA2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278EA30 */ cpu->r[25] = cpu->r[1] + 0x00000014u;
|
|
/* 0278EA34 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EA34 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 0278EA38 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278EA3C */ cpu->r[11] = 0x00000080u;
|
|
/* 0278EA40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EA40 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0278EA44 */ cpu->r[12] = cpu->r[12] + 0x000068ACu;
|
|
/* 0278EA48 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EA48 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278EA4C */ cpu->r[31] = 0x10110000u;
|
|
/* 0278EA50 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0278EA50 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0278EA54 */ cpu->r[27] = cpu->r[4];
|
|
/* 0278EA58 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278EA5C */ cpu->r[26] = cpu->r[3];
|
|
/* 0278EA60 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EA60 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[31]);
|
|
/* 0278EA64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EA68 */ _t7 = cpu->r[1] + 0x00000093u;
|
|
/* 0278EA68 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0278EA6C */ Gambit_fn_0278ED04(cpu);
|
|
/* 0278EA70 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EA70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278EA74 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0278EA74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0278EA78 */ cpu->r[11] = 0x00080000u;
|
|
/* 0278EA7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EA80 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278EA84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EA84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278EA84 */ if (_t11) goto L_0278EAAC; else goto L_0278EA88;
|
|
L_0278EA88: ; // 0x278ea88
|
|
/* 0278EA88 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0278EA90 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278EA94 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EA94 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0278EA94 */ if (_t13) goto L_0278EAA8; else goto L_0278EA98;
|
|
L_0278EA98: ; // 0x278ea98
|
|
/* 0278EA98 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 0278EA98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0278EA9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EAA0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EAA0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278EAA0 */ if (_t16) goto L_0278EAA4; else goto L_0278EA88;
|
|
L_0278EAA4: ; // 0x278eaa4
|
|
/* 0278EAA4 */ goto L_0278EAAC;
|
|
L_0278EAA8: ; // 0x278eaa8
|
|
/* 0278EAA8 */ cpu->r[29] = 0x00000000u;
|
|
L_0278EAAC: ; // 0x278eaac
|
|
/* 0278EAAC */ _t17 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278EAAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278EAB0 */ cpu->r[24] = cpu->r[29];
|
|
/* 0278EAB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278EAB4 */ _t18 = cpu->r[6] + 0x00000014u;
|
|
/* 0278EAB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278EAB8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278EAB8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278EAB8 */ if (_t20) goto L_0278EABC; else goto L_0278EAC0;
|
|
L_0278EABC: ; // 0x278eabc
|
|
/* 0278EABC */ cpu->r[24] = 0x00000000u;
|
|
L_0278EAC0: ; // 0x278eac0
|
|
/* 0278EAC0 */ cpu->ctr = cpu->r[7];
|
|
/* 0278EAC4 */ cpu->r[3] = cpu->r[26] + 0x00000008u;
|
|
/* 0278EAC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EACC */ _t21 = cpu->r[26] + 0x00000008u;
|
|
/* 0278EACC */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278EAD0 */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 0278EAD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0278EAD4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0278EAD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EADC */ cpu->r[0] = 0x00080000u;
|
|
/* 0278EAE0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EAE0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278EAE0 */ if (_t24) goto L_0278EB08; else goto L_0278EAE4;
|
|
L_0278EAE4: ; // 0x278eae4
|
|
/* 0278EAE4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278EAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0278EAEC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0278EAF0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EAF0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0278EAF0 */ if (_t26) goto L_0278EB04; else goto L_0278EAF4;
|
|
L_0278EAF4: ; // 0x278eaf4
|
|
/* 0278EAF4 */ _t27 = cpu->r[10] + 0x00000000u;
|
|
/* 0278EAF4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0278EAF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278EAFC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EAFC */ _t29 = _t28 & 0x00000001u;
|
|
/* 0278EAFC */ if (_t29) goto L_0278EB00; else goto L_0278EAE4;
|
|
L_0278EB00: ; // 0x278eb00
|
|
/* 0278EB00 */ goto L_0278EB08;
|
|
L_0278EB04: ; // 0x278eb04
|
|
/* 0278EB04 */ cpu->r[30] = 0x00000000u;
|
|
L_0278EB08: ; // 0x278eb08
|
|
/* 0278EB08 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EB08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278EB0C */ cpu->r[6] = cpu->r[5] - cpu->r[24];
|
|
/* 0278EB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0278EB14 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278EB14 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0278EB14 */ if (_t32) goto L_0278EB1C; else goto L_0278EB18;
|
|
L_0278EB18: ; // 0x278eb18
|
|
/* 0278EB18 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0278EB1C: ; // 0x278eb1c
|
|
/* 0278EB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EB20 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EB20 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0278EB20 */ if (_t34) goto L_0278EB24; else goto L_0278EB60;
|
|
L_0278EB24: ; // 0x278eb24
|
|
/* 0278EB24 */ _t35 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278EB24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278EB28 */ _t36 = cpu->r[10] + 0x00000014u;
|
|
/* 0278EB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278EB2C */ cpu->ctr = cpu->r[0];
|
|
/* 0278EB30 */ cpu->r[23] = cpu->r[25] + cpu->r[24];
|
|
/* 0278EB34 */ cpu->r[3] = cpu->r[26] + 0x00000008u;
|
|
/* 0278EB38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EB3C */ _t37 = cpu->r[26] + 0x00000008u;
|
|
/* 0278EB3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278EB40 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278EB44 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EB48 */ cpu->r[3] = cpu->r[23];
|
|
/* 0278EB4C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278EB50 */ cpu->r[9] = cpu->r[24] + cpu->r[30];
|
|
/* 0278EB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[29]);
|
|
/* 0278EB58 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EB58 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0278EB58 */ if (_t39) goto L_0278EB5C; else goto L_0278EB60;
|
|
L_0278EB5C: ; // 0x278eb5c
|
|
/* 0278EB5C */ _t40 = cpu->r[25] + cpu->r[9];
|
|
/* 0278EB5C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
L_0278EB60: ; // 0x278eb60
|
|
/* 0278EB60 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EB60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0278EB64 */ _t42 = cpu->r[12] + 0x00000014u;
|
|
/* 0278EB64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0278EB68 */ cpu->ctr = cpu->r[5];
|
|
/* 0278EB6C */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EB6C */ cpu->r[26] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0278EB70 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EB74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EB78 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EB78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0278EB7C */ _t45 = cpu->r[8] + 0x00000000u;
|
|
/* 0278EB7C */ cpu->r[6] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0278EB80 */ cpu->r[9] = 0x00080000u;
|
|
/* 0278EB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0278EB88 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278EB8C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EB8C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0278EB8C */ if (_t47) goto L_0278EBB4; else goto L_0278EB90;
|
|
L_0278EB90: ; // 0x278eb90
|
|
/* 0278EB90 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278EB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0278EB98 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0278EB9C */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EB9C */ _t49 = _t48 & 0x00000001u;
|
|
/* 0278EB9C */ if (_t49) goto L_0278EBB0; else goto L_0278EBA0;
|
|
L_0278EBA0: ; // 0x278eba0
|
|
/* 0278EBA0 */ _t50 = cpu->r[8] + 0x00000000u;
|
|
/* 0278EBA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0278EBA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EBA8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EBA8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0278EBA8 */ if (_t52) goto L_0278EBAC; else goto L_0278EB90;
|
|
L_0278EBAC: ; // 0x278ebac
|
|
/* 0278EBAC */ goto L_0278EBB4;
|
|
L_0278EBB0: ; // 0x278ebb0
|
|
/* 0278EBB0 */ cpu->r[29] = 0x00000000u;
|
|
L_0278EBB4: ; // 0x278ebb4
|
|
/* 0278EBB4 */ _t53 = cpu->r[27] + 0x00000004u;
|
|
/* 0278EBB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0278EBB8 */ cpu->r[24] = cpu->r[29];
|
|
/* 0278EBB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278EBBC */ _t54 = cpu->r[8] + 0x00000014u;
|
|
/* 0278EBBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0278EBC0 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278EBC0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0278EBC0 */ if (_t56) goto L_0278EBC4; else goto L_0278EBC8;
|
|
L_0278EBC4: ; // 0x278ebc4
|
|
/* 0278EBC4 */ cpu->r[24] = 0x00000000u;
|
|
L_0278EBC8: ; // 0x278ebc8
|
|
/* 0278EBC8 */ cpu->ctr = cpu->r[9];
|
|
/* 0278EBCC */ cpu->r[3] = cpu->r[27];
|
|
/* 0278EBD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EBD4 */ _t57 = cpu->r[27] + 0x00000000u;
|
|
/* 0278EBD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0278EBD8 */ _t58 = cpu->r[6] + 0x00000000u;
|
|
/* 0278EBD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0278EBDC */ cpu->r[30] = 0x00000000u;
|
|
/* 0278EBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EBE4 */ cpu->r[7] = 0x00080000u;
|
|
/* 0278EBE8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EBE8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0278EBE8 */ if (_t60) goto L_0278EC10; else goto L_0278EBEC;
|
|
L_0278EBEC: ; // 0x278ebec
|
|
/* 0278EBEC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0278EBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0278EBF4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278EBF8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EBF8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0278EBF8 */ if (_t62) goto L_0278EC0C; else goto L_0278EBFC;
|
|
L_0278EBFC: ; // 0x278ebfc
|
|
/* 0278EBFC */ _t63 = cpu->r[6] + 0x00000000u;
|
|
/* 0278EBFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0278EC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278EC04 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EC04 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0278EC04 */ if (_t65) goto L_0278EC08; else goto L_0278EBEC;
|
|
L_0278EC08: ; // 0x278ec08
|
|
/* 0278EC08 */ goto L_0278EC10;
|
|
L_0278EC0C: ; // 0x278ec0c
|
|
/* 0278EC0C */ cpu->r[30] = 0x00000000u;
|
|
L_0278EC10: ; // 0x278ec10
|
|
/* 0278EC10 */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EC10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0278EC14 */ cpu->r[8] = cpu->r[5] - cpu->r[24];
|
|
/* 0278EC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0278EC1C */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278EC1C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0278EC1C */ if (_t68) goto L_0278EC24; else goto L_0278EC20;
|
|
L_0278EC20: ; // 0x278ec20
|
|
/* 0278EC20 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0278EC24: ; // 0x278ec24
|
|
/* 0278EC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EC28 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EC28 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0278EC28 */ if (_t70) goto L_0278EC2C; else goto L_0278EC68;
|
|
L_0278EC2C: ; // 0x278ec2c
|
|
/* 0278EC2C */ _t71 = cpu->r[27] + 0x00000004u;
|
|
/* 0278EC2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278EC30 */ _t72 = cpu->r[12] + 0x00000014u;
|
|
/* 0278EC30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278EC34 */ cpu->ctr = cpu->r[5];
|
|
/* 0278EC38 */ cpu->r[25] = cpu->r[26] + cpu->r[24];
|
|
/* 0278EC3C */ cpu->r[3] = cpu->r[27];
|
|
/* 0278EC40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EC44 */ _t73 = cpu->r[27] + 0x00000000u;
|
|
/* 0278EC44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278EC48 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278EC4C */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EC50 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278EC54 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278EC58 */ cpu->r[10] = cpu->r[24] + cpu->r[30];
|
|
/* 0278EC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[29]);
|
|
/* 0278EC60 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278EC60 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0278EC60 */ if (_t75) goto L_0278EC64; else goto L_0278EC68;
|
|
L_0278EC64: ; // 0x278ec64
|
|
/* 0278EC64 */ _t76 = cpu->r[26] + cpu->r[10];
|
|
/* 0278EC64 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[31]);
|
|
L_0278EC68: ; // 0x278ec68
|
|
/* 0278EC68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EC6C */ Gambit_fn_027E2BBC(cpu);
|
|
/* 0278EC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EC74 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EC74 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0278EC74 */ if (_t78) goto L_0278EC90; else goto L_0278EC78;
|
|
L_0278EC78: ; // 0x278ec78
|
|
/* 0278EC78 */ cpu->r[5] = 0x00000001u;
|
|
/* 0278EC7C */ cpu->r[4] = 0x00000100u;
|
|
/* 0278EC80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EC84 */ Gambit_fn_027E273C(cpu);
|
|
/* 0278EC88 */ cpu->r[7] = cpu->r[3];
|
|
/* 0278EC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278EC8C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EC8C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0278EC8C */ if (_t80) goto L_0278EC90; else goto L_0278ECA8;
|
|
L_0278EC90: ; // 0x278ec90
|
|
/* 0278EC90 */ /* nop */
|
|
/* 0278EC94 */ _t81 = cpu->r[1] + 0x000000BCu;
|
|
/* 0278EC94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0278EC98 */ cpu->lr = cpu->r[0];
|
|
/* 0278EC9C */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0278ECA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278ECA4 */ return;
|
|
L_0278ECA8: ; // 0x278eca8
|
|
/* 0278ECA8 */ _t82 = cpu->r[7] + 0x00000004u;
|
|
/* 0278ECA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0278ECAC */ cpu->r[5] = cpu->r[28];
|
|
/* 0278ECB0 */ _t83 = cpu->r[7] + 0x00000008u;
|
|
/* 0278ECB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0278ECB4 */ cpu->r[6] = cpu->r[27];
|
|
/* 0278ECB8 */ Gambit_fn_028E6BF4(cpu);
|
|
/* 0278ECBC */ /* nop */
|
|
/* 0278ECC0 */ _t84 = cpu->r[1] + 0x000000BCu;
|
|
/* 0278ECC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0278ECC4 */ cpu->lr = cpu->r[0];
|
|
/* 0278ECC8 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 0278ECCC */ return;
|
|
}
|
|
|
|
// fn_0278ECD0 @ 0x278ecd0
|
|
void Gambit_fn_0278ECD0(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_0278DD30: ; // 0x278dd30
|
|
/* 0278DD30 */ cpu->r[0] = cpu->lr;
|
|
/* 0278DD34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278DD34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278DD34 */ cpu->r[1] = _t0;
|
|
/* 0278DD38 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278DD3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278DD40 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD40 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0278DD44 */ cpu->r[28] = cpu->r[5];
|
|
/* 0278DD48 */ cpu->r[30] = cpu->r[3] + 0x00000004u;
|
|
/* 0278DD4C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278DD50 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD50 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0278DD54 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD54 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278DD58 */ cpu->r[29] = 0x00000002u;
|
|
L_0278DD5C: ; // 0x278dd5c
|
|
/* 0278DD5C */ cpu->r[5] = cpu->r[28];
|
|
/* 0278DD60 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278DD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278DD68 */ Gambit_fn_0278C79C(cpu);
|
|
/* 0278DD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278DD70 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278DD70 */ if (_t7) goto L_0278DD98; else goto L_0278DD74;
|
|
L_0278DD74: ; // 0x278dd74
|
|
/* 0278DD74 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DD74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278DD78 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DD78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278DD7C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278DD80 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DD80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278DD84 */ cpu->lr = cpu->r[0];
|
|
/* 0278DD88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DD88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278DD8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DD90 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278DD94 */ return;
|
|
L_0278DD98: ; // 0x278dd98
|
|
/* 0278DD98 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0278DD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278DD9C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 0278DDA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278DDA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278DDA0 */ if (_t14) goto L_0278DDA4; else goto L_0278DD5C;
|
|
L_0278DDA4: ; // 0x278dda4
|
|
/* 0278DDA4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0278DDA4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278DDA8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278DDA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278DDAC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278DDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278DDB0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0278DDB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278DDB4 */ cpu->lr = cpu->r[0];
|
|
/* 0278DDB8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0278DDB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278DDBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278DDC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278DDC4 */ return;
|
|
L_0278ECD0: ; // 0x278ecd0
|
|
/* 0278ECD0 */ cpu->r[3] = cpu->r[3] + 0x000000A0u;
|
|
/* 0278ECD4 */ goto L_0278DD30;
|
|
}
|
|
|
|
// fn_0278ECD8 @ 0x278ecd8
|
|
void Gambit_fn_0278ECD8(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_0278ECD8: ; // 0x278ecd8
|
|
/* 0278ECD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ECDC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ECDC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ECDC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ECDC */ goto L_0278ECE0;
|
|
L_0278ECE0: ; // 0x278ece0
|
|
/* 0278ECE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ECE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ECE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ECE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ECE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ECE4 */ goto L_0278ECE8;
|
|
L_0278ECE8: ; // 0x278ece8
|
|
/* 0278ECE8 */ 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_0278ECEC @ 0x278ecec
|
|
void Gambit_fn_0278ECEC(CPUState* cpu) {
|
|
L_0278ECEC: ; // 0x278ecec
|
|
/* 0278ECEC */ return;
|
|
}
|
|
|
|
// fn_0278ECF0 @ 0x278ecf0
|
|
void Gambit_fn_0278ECF0(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_0278ECF0: ; // 0x278ecf0
|
|
/* 0278ECF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ECF4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ECF4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ECF4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ECF4 */ goto L_0278ECF8;
|
|
L_0278ECF8: ; // 0x278ecf8
|
|
/* 0278ECF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ECF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ECFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ECFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ECFC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ECFC */ goto L_0278ED00;
|
|
L_0278ED00: ; // 0x278ed00
|
|
/* 0278ED00 */ 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_0278ED04 @ 0x278ed04
|
|
void Gambit_fn_0278ED04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0278ED04: ; // 0x278ed04
|
|
/* 0278ED04 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0278ED04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278ED08 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0278ED08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278ED0C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0278ED10 */ cpu->r[11] = 0x10110000u;
|
|
/* 0278ED14 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0278ED14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0278ED18 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278ED18 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0278ED1C */ return;
|
|
}
|
|
|
|
// fn_0278ED20 @ 0x278ed20
|
|
void Gambit_fn_0278ED20(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_0278ED20: ; // 0x278ed20
|
|
/* 0278ED20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ED24 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED24 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ED24 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED24 */ goto L_0278ED28;
|
|
L_0278ED28: ; // 0x278ed28
|
|
/* 0278ED28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ED28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ED2C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED2C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ED2C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED2C */ goto L_0278ED30;
|
|
L_0278ED30: ; // 0x278ed30
|
|
/* 0278ED30 */ 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_0278ED34 @ 0x278ed34
|
|
void Gambit_fn_0278ED34(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_0278ED34: ; // 0x278ed34
|
|
/* 0278ED34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ED38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ED38 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED38 */ goto L_0278ED3C;
|
|
L_0278ED3C: ; // 0x278ed3c
|
|
/* 0278ED3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ED3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ED40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ED40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED40 */ goto L_0278ED44;
|
|
L_0278ED44: ; // 0x278ed44
|
|
/* 0278ED44 */ 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_0278ED48 @ 0x278ed48
|
|
void Gambit_fn_0278ED48(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_0278ED48: ; // 0x278ed48
|
|
/* 0278ED48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ED4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ED4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED4C */ goto L_0278ED50;
|
|
L_0278ED50: ; // 0x278ed50
|
|
/* 0278ED50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ED50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ED54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ED54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED54 */ goto L_0278ED58;
|
|
L_0278ED58: ; // 0x278ed58
|
|
/* 0278ED58 */ 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_0278ED5C @ 0x278ed5c
|
|
void Gambit_fn_0278ED5C(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_0278ED5C: ; // 0x278ed5c
|
|
/* 0278ED5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278ED60 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED60 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278ED60 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED60 */ goto L_0278ED64;
|
|
L_0278ED64: ; // 0x278ed64
|
|
/* 0278ED64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278ED64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278ED68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278ED68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278ED68 */ goto L_0278ED6C;
|
|
L_0278ED6C: ; // 0x278ed6c
|
|
/* 0278ED6C */ 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_0278ED70 @ 0x278ed70
|
|
void Gambit_fn_0278ED70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0278ED70: ; // 0x278ed70
|
|
/* 0278ED70 */ cpu->r[0] = cpu->lr;
|
|
/* 0278ED74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278ED74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ED74 */ cpu->r[1] = _t0;
|
|
/* 0278ED78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ED78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ED7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ED7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ED80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ED80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278ED84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278ED84 */ if (_t4) goto L_0278ED88; else goto L_0278ED98;
|
|
L_0278ED88: ; // 0x278ed88
|
|
/* 0278ED88 */ cpu->r[3] = 0x000000E4u;
|
|
/* 0278ED8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278ED90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ED94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278ED94 */ if (_t6) goto L_0278EDAC; else goto L_0278ED98;
|
|
L_0278ED98: ; // 0x278ed98
|
|
/* 0278ED98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278ED9C */ Gambit_fn_027B6CCC(cpu);
|
|
/* 0278EDA0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278EDA4 */ cpu->r[0] = cpu->r[0] + 0x00006948u;
|
|
/* 0278EDA8 */ _t7 = cpu->r[31] + 0x000000E0u;
|
|
/* 0278EDA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0278EDAC: ; // 0x278edac
|
|
/* 0278EDAC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278EDB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278EDB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278EDB8 */ cpu->lr = cpu->r[0];
|
|
/* 0278EDBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278EDC0 */ return;
|
|
}
|
|
|
|
// fn_0278ED74 @ 0x278ed74
|
|
void Gambit_fn_0278ED74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0278ED74: ; // 0x278ed74
|
|
/* 0278ED74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278ED74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278ED74 */ cpu->r[1] = _t0;
|
|
/* 0278ED78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278ED78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278ED7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ED7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ED80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278ED80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278ED84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278ED84 */ if (_t4) goto L_0278ED88; else goto L_0278ED98;
|
|
L_0278ED88: ; // 0x278ed88
|
|
/* 0278ED88 */ cpu->r[3] = 0x000000E4u;
|
|
/* 0278ED8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278ED90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278ED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278ED94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278ED94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278ED94 */ if (_t6) goto L_0278EDAC; else goto L_0278ED98;
|
|
L_0278ED98: ; // 0x278ed98
|
|
/* 0278ED98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278ED9C */ Gambit_fn_027B6CCC(cpu);
|
|
/* 0278EDA0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278EDA4 */ cpu->r[0] = cpu->r[0] + 0x00006948u;
|
|
/* 0278EDA8 */ _t7 = cpu->r[31] + 0x000000E0u;
|
|
/* 0278EDA8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0278EDAC: ; // 0x278edac
|
|
/* 0278EDAC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278EDB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278EDB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278EDB8 */ cpu->lr = cpu->r[0];
|
|
/* 0278EDBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278EDC0 */ return;
|
|
}
|
|
|
|
// fn_0278EDC4 @ 0x278edc4
|
|
void Gambit_fn_0278EDC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0278EDC4: ; // 0x278edc4
|
|
/* 0278EDC4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278EDC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278EDC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EDC8 */ cpu->r[1] = _t0;
|
|
/* 0278EDCC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EDCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278EDD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EDD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278EDD4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EDD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278EDD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EDD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278EDDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278EDE0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278EDE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278EDE4 */ _t6 = cpu->r[12] + 0xFFFF9028u;
|
|
/* 0278EDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278EDE8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0278EDEC */ _t7 = cpu->r[12] + 0x00000028u;
|
|
/* 0278EDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278EDF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278EDF4 */ cpu->r[31] = cpu->r[6];
|
|
/* 0278EDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278EDFC */ cpu->r[30] = cpu->r[5];
|
|
/* 0278EE00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EE00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278EE00 */ if (_t9) goto L_0278EE04; else goto L_0278EE58;
|
|
L_0278EE04: ; // 0x278ee04
|
|
/* 0278EE04 */ _t10 = cpu->r[28] + 0x000000E0u;
|
|
/* 0278EE04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278EE08 */ _t11 = cpu->r[8] + 0x000000DCu;
|
|
/* 0278EE08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278EE0C */ cpu->ctr = cpu->r[9];
|
|
/* 0278EE10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE14 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE18 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE1C */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EE24 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE28 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE2C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE30 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE34 */ Gambit_fn_027BA48C(cpu);
|
|
/* 0278EE38 */ _t12 = cpu->r[28] + 0x000000E0u;
|
|
/* 0278EE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278EE3C */ _t13 = cpu->r[10] + 0x000000E4u;
|
|
/* 0278EE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278EE40 */ cpu->ctr = cpu->r[0];
|
|
/* 0278EE44 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE48 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE4C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE50 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278EE58: ; // 0x278ee58
|
|
/* 0278EE58 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EE58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278EE5C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EE5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278EE60 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278EE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278EE64 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EE64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278EE68 */ cpu->lr = cpu->r[0];
|
|
/* 0278EE6C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EE6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278EE70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278EE74 */ return;
|
|
}
|
|
|
|
// fn_0278EDC8 @ 0x278edc8
|
|
void Gambit_fn_0278EDC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0278EDC8: ; // 0x278edc8
|
|
/* 0278EDC8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278EDC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EDC8 */ cpu->r[1] = _t0;
|
|
/* 0278EDCC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EDCC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278EDD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EDD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278EDD4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EDD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278EDD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EDD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278EDDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278EDE0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278EDE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278EDE4 */ _t6 = cpu->r[12] + 0xFFFF9028u;
|
|
/* 0278EDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278EDE8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0278EDEC */ _t7 = cpu->r[12] + 0x00000028u;
|
|
/* 0278EDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278EDF0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278EDF4 */ cpu->r[31] = cpu->r[6];
|
|
/* 0278EDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278EDFC */ cpu->r[30] = cpu->r[5];
|
|
/* 0278EE00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EE00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278EE00 */ if (_t9) goto L_0278EE04; else goto L_0278EE58;
|
|
L_0278EE04: ; // 0x278ee04
|
|
/* 0278EE04 */ _t10 = cpu->r[28] + 0x000000E0u;
|
|
/* 0278EE04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278EE08 */ _t11 = cpu->r[8] + 0x000000DCu;
|
|
/* 0278EE08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278EE0C */ cpu->ctr = cpu->r[9];
|
|
/* 0278EE10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE14 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE18 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE1C */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278EE24 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE28 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE2C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE30 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE34 */ Gambit_fn_027BA48C(cpu);
|
|
/* 0278EE38 */ _t12 = cpu->r[28] + 0x000000E0u;
|
|
/* 0278EE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278EE3C */ _t13 = cpu->r[10] + 0x000000E4u;
|
|
/* 0278EE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278EE40 */ cpu->ctr = cpu->r[0];
|
|
/* 0278EE44 */ cpu->r[6] = cpu->r[31];
|
|
/* 0278EE48 */ cpu->r[5] = cpu->r[30];
|
|
/* 0278EE4C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278EE50 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278EE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278EE58: ; // 0x278ee58
|
|
/* 0278EE58 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EE58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278EE5C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EE5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278EE60 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278EE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278EE64 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0278EE64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278EE68 */ cpu->lr = cpu->r[0];
|
|
/* 0278EE6C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EE6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278EE70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278EE74 */ return;
|
|
}
|
|
|
|
// fn_0278EE78 @ 0x278ee78
|
|
void Gambit_fn_0278EE78(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278EE78: ; // 0x278ee78
|
|
/* 0278EE78 */ _t0 = cpu->r[3] + 0x000000D4u;
|
|
/* 0278EE78 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0278EE7C */ return;
|
|
}
|
|
|
|
// fn_0278EE80 @ 0x278ee80
|
|
void Gambit_fn_0278EE80(CPUState* cpu) {
|
|
L_0278EE80: ; // 0x278ee80
|
|
/* 0278EE80 */ return;
|
|
}
|
|
|
|
// fn_0278EE84 @ 0x278ee84
|
|
void Gambit_fn_0278EE84(CPUState* cpu) {
|
|
L_0278EE84: ; // 0x278ee84
|
|
/* 0278EE84 */ return;
|
|
}
|
|
|
|
// fn_0278EE88 @ 0x278ee88
|
|
void Gambit_fn_0278EE88(CPUState* cpu) {
|
|
L_0278EE88: ; // 0x278ee88
|
|
/* 0278EE88 */ return;
|
|
}
|
|
|
|
// fn_0278EE8C @ 0x278ee8c
|
|
void Gambit_fn_0278EE8C(CPUState* cpu) {
|
|
L_0278EE8C: ; // 0x278ee8c
|
|
/* 0278EE8C */ return;
|
|
}
|
|
|
|
// fn_0278EE90 @ 0x278ee90
|
|
void Gambit_fn_0278EE90(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278EE90: ; // 0x278ee90
|
|
/* 0278EE90 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278EE94 */ _t0 = cpu->r[12] + 0x00006944u;
|
|
/* 0278EE94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0278EE98 */ return;
|
|
}
|
|
|
|
// fn_0278EE9C @ 0x278ee9c
|
|
void Gambit_fn_0278EE9C(CPUState* cpu) {
|
|
L_0278EE9C: ; // 0x278ee9c
|
|
/* 0278EE9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0278EEA0 */ return;
|
|
}
|
|
|
|
// fn_0278EEA4 @ 0x278eea4
|
|
void Gambit_fn_0278EEA4(CPUState* cpu) {
|
|
L_0278EEA4: ; // 0x278eea4
|
|
/* 0278EEA4 */ return;
|
|
}
|
|
|
|
// fn_0278EEA8 @ 0x278eea8
|
|
void Gambit_fn_0278EEA8(CPUState* cpu) {
|
|
L_0278EEA8: ; // 0x278eea8
|
|
/* 0278EEA8 */ return;
|
|
}
|
|
|
|
// fn_0278EEAC @ 0x278eeac
|
|
void Gambit_fn_0278EEAC(CPUState* cpu) {
|
|
L_0278EEAC: ; // 0x278eeac
|
|
/* 0278EEAC */ return;
|
|
}
|
|
|
|
// fn_0278EEB0 @ 0x278eeb0
|
|
void Gambit_fn_0278EEB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0278EEB0: ; // 0x278eeb0
|
|
/* 0278EEB0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278EEB4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0278EEB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0278EEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EEBC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0278EEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0278EEBC */ cpu->r[1] = _t1;
|
|
/* 0278EEC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EEC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278EEC0 */ if (_t3) goto L_0278EEC4; else goto L_0278EED4;
|
|
L_0278EEC4: ; // 0x278eec4
|
|
/* 0278EEC4 */ cpu->r[3] = 0x00000010u;
|
|
/* 0278EEC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EED0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EED0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278EED0 */ if (_t5) goto L_0278EEF4; else goto L_0278EED4;
|
|
L_0278EED4: ; // 0x278eed4
|
|
/* 0278EED4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278EED8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0278EEDC */ cpu->r[0] = cpu->r[0] + 0x00006A30u;
|
|
/* 0278EEE0 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 0278EEE0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 0278EEE4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278EEE8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0278EEE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278EEEC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278EEEC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0278EEF0 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 0278EEF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_0278EEF4: ; // 0x278eef4
|
|
/* 0278EEF4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278EEF8 */ cpu->lr = cpu->r[0];
|
|
/* 0278EEFC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EF00 */ return;
|
|
}
|
|
|
|
// fn_0278EEBC @ 0x278eebc
|
|
void Gambit_fn_0278EEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0278EEBC: ; // 0x278eebc
|
|
/* 0278EEBC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0278EEBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EEBC */ cpu->r[1] = _t0;
|
|
/* 0278EEC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EEC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0278EEC0 */ if (_t2) goto L_0278EEC4; else goto L_0278EED4;
|
|
L_0278EEC4: ; // 0x278eec4
|
|
/* 0278EEC4 */ cpu->r[3] = 0x00000010u;
|
|
/* 0278EEC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EED0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EED0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0278EED0 */ if (_t4) goto L_0278EEF4; else goto L_0278EED4;
|
|
L_0278EED4: ; // 0x278eed4
|
|
/* 0278EED4 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278EED8 */ cpu->r[10] = 0x00000001u;
|
|
/* 0278EEDC */ cpu->r[0] = cpu->r[0] + 0x00006A30u;
|
|
/* 0278EEE0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0278EEE0 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]);
|
|
/* 0278EEE4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278EEE8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0278EEE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0278EEEC */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278EEEC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0278EEF0 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 0278EEF0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_0278EEF4: ; // 0x278eef4
|
|
/* 0278EEF4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EEF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278EEF8 */ cpu->lr = cpu->r[0];
|
|
/* 0278EEFC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0278EF00 */ return;
|
|
}
|
|
|
|
// fn_0278EF04 @ 0x278ef04
|
|
void Gambit_fn_0278EF04(CPUState* cpu) {
|
|
L_0278EF04: ; // 0x278ef04
|
|
/* 0278EF04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278EF08 */ return;
|
|
}
|
|
|
|
// fn_0278EF0C @ 0x278ef0c
|
|
void Gambit_fn_0278EF0C(CPUState* cpu) {
|
|
L_0278EF0C: ; // 0x278ef0c
|
|
/* 0278EF0C */ return;
|
|
}
|
|
|
|
// fn_0278EF10 @ 0x278ef10
|
|
void Gambit_fn_0278EF10(CPUState* cpu) {
|
|
L_0278EF10: ; // 0x278ef10
|
|
/* 0278EF10 */ return;
|
|
}
|
|
|
|
// fn_0278EF14 @ 0x278ef14
|
|
void Gambit_fn_0278EF14(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_0278EF14: ; // 0x278ef14
|
|
/* 0278EF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EF18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0278EF18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278EF18 */ goto L_0278EF1C;
|
|
L_0278EF1C: ; // 0x278ef1c
|
|
/* 0278EF1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278EF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278EF20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278EF20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0278EF20 */ goto L_0278EF24;
|
|
L_0278EF24: ; // 0x278ef24
|
|
/* 0278EF24 */ 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_0278EF28 @ 0x278ef28
|
|
void Gambit_fn_0278EF28(CPUState* cpu) {
|
|
L_0278EF28: ; // 0x278ef28
|
|
/* 0278EF28 */ return;
|
|
}
|
|
|
|
// fn_0278EF2C @ 0x278ef2c
|
|
void Gambit_fn_0278EF2C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0278EF2C: ; // 0x278ef2c
|
|
/* 0278EF2C */ cpu->r[0] = cpu->lr;
|
|
/* 0278EF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278EF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EF30 */ cpu->r[1] = _t0;
|
|
/* 0278EF34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278EF38 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EF38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278EF3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278EF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278EF40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278EF44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278EF44 */ if (_t5) goto L_0278EF48; else goto L_0278EF58;
|
|
L_0278EF48: ; // 0x278ef48
|
|
/* 0278EF48 */ cpu->r[3] = 0x00000014u;
|
|
/* 0278EF4C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278EF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278EF54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278EF54 */ if (_t7) goto L_0278EFB4; else goto L_0278EF58;
|
|
L_0278EF58: ; // 0x278ef58
|
|
/* 0278EF58 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278EF5C */ cpu->r[10] = cpu->r[10] + 0x00006D30u;
|
|
/* 0278EF60 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0278EF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EF64 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278EF64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0278EF68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278EF68 */ if (_t10) goto L_0278EF6C; else goto L_0278EF7C;
|
|
L_0278EF6C: ; // 0x278ef6c
|
|
/* 0278EF6C */ cpu->r[3] = 0x00000010u;
|
|
/* 0278EF70 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF74 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278EF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EF78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF78 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278EF78 */ if (_t12) goto L_0278EFAC; else goto L_0278EF7C;
|
|
L_0278EF7C: ; // 0x278ef7c
|
|
/* 0278EF7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278EF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EF80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278EF80 */ if (_t14) goto L_0278EF84; else goto L_0278EF94;
|
|
L_0278EF84: ; // 0x278ef84
|
|
/* 0278EF84 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278EF88 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EF90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF90 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278EF90 */ if (_t16) goto L_0278EFA4; else goto L_0278EF94;
|
|
L_0278EF94: ; // 0x278ef94
|
|
/* 0278EF94 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0278EF94 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0278EF98 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278EF9C */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0278EF9C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 0278EFA0 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 0278EFA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
L_0278EFA4: ; // 0x278efa4
|
|
/* 0278EFA4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0278EFA8 */ _t20 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278EFA8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
L_0278EFAC: ; // 0x278efac
|
|
/* 0278EFAC */ cpu->r[0] = 0x00000008u;
|
|
/* 0278EFB0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 0278EFB0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0278EFB4: ; // 0x278efb4
|
|
/* 0278EFB4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278EFB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278EFBC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EFBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278EFC0 */ cpu->lr = cpu->r[0];
|
|
/* 0278EFC4 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EFC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278EFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278EFCC */ return;
|
|
}
|
|
|
|
// fn_0278EF30 @ 0x278ef30
|
|
void Gambit_fn_0278EF30(CPUState* cpu) {
|
|
uint32_t _t0, _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_0278EF30: ; // 0x278ef30
|
|
/* 0278EF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278EF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EF30 */ cpu->r[1] = _t0;
|
|
/* 0278EF34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278EF38 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EF38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278EF3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278EF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278EF40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EF40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278EF44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278EF44 */ if (_t5) goto L_0278EF48; else goto L_0278EF58;
|
|
L_0278EF48: ; // 0x278ef48
|
|
/* 0278EF48 */ cpu->r[3] = 0x00000014u;
|
|
/* 0278EF4C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278EF50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278EF54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278EF54 */ if (_t7) goto L_0278EFB4; else goto L_0278EF58;
|
|
L_0278EF58: ; // 0x278ef58
|
|
/* 0278EF58 */ cpu->r[10] = 0x10100000u;
|
|
/* 0278EF5C */ cpu->r[10] = cpu->r[10] + 0x00006D30u;
|
|
/* 0278EF60 */ cpu->r[30] = cpu->r[31] + 0x00000004u;
|
|
/* 0278EF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EF64 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0278EF64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0278EF68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278EF68 */ if (_t10) goto L_0278EF6C; else goto L_0278EF7C;
|
|
L_0278EF6C: ; // 0x278ef6c
|
|
/* 0278EF6C */ cpu->r[3] = 0x00000010u;
|
|
/* 0278EF70 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF74 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278EF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EF78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF78 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278EF78 */ if (_t12) goto L_0278EFAC; else goto L_0278EF7C;
|
|
L_0278EF7C: ; // 0x278ef7c
|
|
/* 0278EF7C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278EF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EF80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278EF80 */ if (_t14) goto L_0278EF84; else goto L_0278EF94;
|
|
L_0278EF84: ; // 0x278ef84
|
|
/* 0278EF84 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278EF88 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278EF90 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EF90 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278EF90 */ if (_t16) goto L_0278EFA4; else goto L_0278EF94;
|
|
L_0278EF94: ; // 0x278ef94
|
|
/* 0278EF94 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0278EF94 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0278EF98 */ cpu->r[11] = 0x00000000u;
|
|
/* 0278EF9C */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 0278EF9C */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 0278EFA0 */ _t19 = cpu->r[3] + 0x00000008u;
|
|
/* 0278EFA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
L_0278EFA4: ; // 0x278efa4
|
|
/* 0278EFA4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0278EFA8 */ _t20 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278EFA8 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
L_0278EFAC: ; // 0x278efac
|
|
/* 0278EFAC */ cpu->r[0] = 0x00000008u;
|
|
/* 0278EFB0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 0278EFB0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0278EFB4: ; // 0x278efb4
|
|
/* 0278EFB4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278EFB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278EFBC */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278EFBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278EFC0 */ cpu->lr = cpu->r[0];
|
|
/* 0278EFC4 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0278EFC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278EFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278EFCC */ return;
|
|
}
|
|
|
|
// fn_0278EFD0 @ 0x278efd0
|
|
void Gambit_fn_0278EFD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_0278EFD0: ; // 0x278efd0
|
|
/* 0278EFD0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0278EFD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278EFD0 */ cpu->r[1] = _t0;
|
|
/* 0278EFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278EFD8 */ /* nop */
|
|
/* 0278EFDC */ cpu->r[30] = cpu->r[3];
|
|
/* 0278EFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EFE0 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278EFE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278EFE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EFE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278EFE4 */ if (_t3) goto L_0278EFE8; else goto L_0278EFF8;
|
|
L_0278EFE8: ; // 0x278efe8
|
|
/* 0278EFE8 */ cpu->r[3] = 0x00000164u;
|
|
/* 0278EFEC */ Gambit_fn_02801A78(cpu);
|
|
/* 0278EFF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278EFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278EFF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278EFF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278EFF4 */ if (_t5) goto L_0278F41C; else goto L_0278EFF8;
|
|
L_0278EFF8: ; // 0x278eff8
|
|
/* 0278EFF8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278EFFC */ cpu->r[12] = 0x00000001u;
|
|
/* 0278F000 */ _t6 = cpu->r[30] + 0x00000028u;
|
|
/* 0278F000 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 0278F004 */ cpu->r[11] = 0x10100000u;
|
|
/* 0278F008 */ _t7 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0278F008 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 0278F00C */ cpu->r[11] = cpu->r[11] + 0x00006B64u;
|
|
/* 0278F010 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 0278F010 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0278F014 */ cpu->r[28] = 0x10100000u;
|
|
/* 0278F018 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 0278F018 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0278F01C */ cpu->r[31] = cpu->r[30] + 0x00000030u;
|
|
/* 0278F01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F020 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0278F020 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0278F024 */ cpu->r[28] = cpu->r[28] + 0x00006A8Cu;
|
|
/* 0278F028 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 0278F028 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0278F02C */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278F02C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0278F030 */ _t13 = cpu->r[30] + 0x00000014u;
|
|
/* 0278F030 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 0278F034 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F034 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278F034 */ if (_t15) goto L_0278F038; else goto L_0278F048;
|
|
L_0278F038: ; // 0x278f038
|
|
/* 0278F038 */ cpu->r[3] = 0x00000044u;
|
|
/* 0278F03C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F040 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278F040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F044 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F044 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278F044 */ if (_t17) goto L_0278F0F4; else goto L_0278F048;
|
|
L_0278F048: ; // 0x278f048
|
|
/* 0278F048 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F04C */ Gambit_fn_02821D00(cpu);
|
|
/* 0278F050 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0278F050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F054 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F054 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0278F054 */ if (_t19) goto L_0278F058; else goto L_0278F068;
|
|
L_0278F058: ; // 0x278f058
|
|
/* 0278F058 */ cpu->r[3] = 0x00000008u;
|
|
/* 0278F05C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F064 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F064 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0278F064 */ if (_t21) goto L_0278F078; else goto L_0278F068;
|
|
L_0278F068: ; // 0x278f068
|
|
/* 0278F068 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F06C */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F06C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 0278F070 */ cpu->r[0] = cpu->r[0] + 0x00006A78u;
|
|
/* 0278F074 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F074 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0278F078: ; // 0x278f078
|
|
/* 0278F078 */ _t24 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0278F078 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0278F07C */ cpu->r[6] = 0x10140000u;
|
|
/* 0278F080 */ _t25 = cpu->r[31] + 0x00000018u;
|
|
/* 0278F080 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 0278F084 */ cpu->r[6] = cpu->r[6] + 0x00004214u;
|
|
/* 0278F088 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 0278F088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F08C */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278F08C */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
/* 0278F090 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F090 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0278F090 */ if (_t28) goto L_0278F094; else goto L_0278F0A4;
|
|
L_0278F094: ; // 0x278f094
|
|
/* 0278F094 */ cpu->r[3] = 0x00000004u;
|
|
/* 0278F098 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F0A0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F0A0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0278F0A0 */ if (_t30) goto L_0278F0AC; else goto L_0278F0A4;
|
|
L_0278F0A4: ; // 0x278f0a4
|
|
/* 0278F0A4 */ cpu->r[7] = 0x00000001u;
|
|
/* 0278F0A8 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F0A8 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
L_0278F0AC: ; // 0x278f0ac
|
|
/* 0278F0AC */ cpu->r[31] = cpu->r[31] + 0x00000024u;
|
|
/* 0278F0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F0B0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F0B0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278F0B0 */ if (_t33) goto L_0278F0F4; else goto L_0278F0B4;
|
|
L_0278F0B4: ; // 0x278f0b4
|
|
/* 0278F0B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F0B8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F0B8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0278F0B8 */ if (_t35) goto L_0278F0BC; else goto L_0278F0CC;
|
|
L_0278F0BC: ; // 0x278f0bc
|
|
/* 0278F0BC */ cpu->r[3] = 0x00000010u;
|
|
/* 0278F0C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F0C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F0C8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278F0C8 */ if (_t37) goto L_0278F0E8; else goto L_0278F0CC;
|
|
L_0278F0CC: ; // 0x278f0cc
|
|
/* 0278F0CC */ cpu->r[8] = 0x10100000u;
|
|
/* 0278F0D0 */ _t38 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278F0D0 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0278F0D4 */ cpu->r[8] = cpu->r[8] + 0x00006AB4u;
|
|
/* 0278F0D8 */ _t39 = cpu->r[3] + 0x00000008u;
|
|
/* 0278F0D8 */ rbrew_write16(cpu->mem, _t39, (uint16_t)cpu->r[29]);
|
|
/* 0278F0DC */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F0DC */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 0278F0E0 */ _t41 = cpu->r[3] + 0x0000000Au;
|
|
/* 0278F0E0 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[29]);
|
|
/* 0278F0E4 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F0E4 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
L_0278F0E8: ; // 0x278f0e8
|
|
/* 0278F0E8 */ cpu->r[9] = 0x10100000u;
|
|
/* 0278F0EC */ cpu->r[9] = cpu->r[9] + 0x00006B14u;
|
|
/* 0278F0F0 */ _t43 = cpu->r[31] + 0x00000000u;
|
|
/* 0278F0F0 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
L_0278F0F4: ; // 0x278f0f4
|
|
/* 0278F0F4 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 0278F0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F0F8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F0F8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0278F0F8 */ if (_t45) goto L_0278F0FC; else goto L_0278F10C;
|
|
L_0278F0FC: ; // 0x278f0fc
|
|
/* 0278F0FC */ cpu->r[3] = 0x00000018u;
|
|
/* 0278F100 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F108 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F108 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0278F108 */ if (_t47) goto L_0278F138; else goto L_0278F10C;
|
|
L_0278F10C: ; // 0x278f10c
|
|
/* 0278F10C */ _t48 = cpu->r[3] + 0x00000014u;
|
|
/* 0278F10C */ rbrew_write32(cpu->mem, _t48, cpu->r[29]);
|
|
/* 0278F110 */ cpu->r[0] = 0x00000200u;
|
|
/* 0278F114 */ _t49 = cpu->r[3] + 0x00000002u;
|
|
/* 0278F114 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 0278F118 */ cpu->r[10] = 0x00000100u;
|
|
/* 0278F11C */ _t50 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278F11C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 0278F120 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 0278F120 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
/* 0278F124 */ _t52 = cpu->r[3] + 0x00000001u;
|
|
/* 0278F124 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[29]);
|
|
/* 0278F128 */ _t53 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F128 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 0278F12C */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F12C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[29]);
|
|
/* 0278F130 */ _t55 = cpu->r[3] + 0x00000003u;
|
|
/* 0278F130 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[29]);
|
|
/* 0278F134 */ _t56 = cpu->r[3] + 0x00000010u;
|
|
/* 0278F134 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
L_0278F138: ; // 0x278f138
|
|
/* 0278F138 */ cpu->r[3] = cpu->r[30] + 0x0000008Cu;
|
|
/* 0278F13C */ Gambit_fn_0278EF2C(cpu);
|
|
/* 0278F140 */ cpu->r[27] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278F140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278F144 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F144 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0278F144 */ if (_t58) goto L_0278F148; else goto L_0278F158;
|
|
L_0278F148: ; // 0x278f148
|
|
/* 0278F148 */ cpu->r[3] = 0x000000C4u;
|
|
/* 0278F14C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F150 */ cpu->r[27] = cpu->r[3];
|
|
/* 0278F150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0278F154 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F154 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0278F154 */ if (_t60) goto L_0278F39C; else goto L_0278F158;
|
|
L_0278F158: ; // 0x278f158
|
|
/* 0278F158 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278F15C */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F15C */ rbrew_write32(cpu->mem, _t61, cpu->r[28]);
|
|
/* 0278F160 */ cpu->r[6] = cpu->r[6] + 0x00006BBCu;
|
|
/* 0278F164 */ cpu->r[25] = cpu->r[27];
|
|
/* 0278F164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278F168 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F168 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 0278F16C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F16C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0278F16C */ if (_t64) goto L_0278F170; else goto L_0278F180;
|
|
L_0278F170: ; // 0x278f170
|
|
/* 0278F170 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 0278F174 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F178 */ cpu->r[25] = cpu->r[3];
|
|
/* 0278F178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0278F17C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F17C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0278F17C */ if (_t66) goto L_0278F33C; else goto L_0278F180;
|
|
L_0278F180: ; // 0x278f180
|
|
/* 0278F180 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278F184 */ Gambit_fn_02821D00(cpu);
|
|
/* 0278F188 */ cpu->r[7] = 0x10100000u;
|
|
/* 0278F18C */ cpu->r[24] = cpu->r[25] + 0x00000010u;
|
|
/* 0278F18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F190 */ cpu->r[7] = cpu->r[7] + 0x00006B44u;
|
|
/* 0278F194 */ cpu->r[31] = 0x10110000u;
|
|
/* 0278F198 */ _t67 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0278F198 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 0278F19C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F19C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0278F19C */ if (_t69) goto L_0278F1A0; else goto L_0278F1F8;
|
|
L_0278F1A0: ; // 0x278f1a0
|
|
/* 0278F1A0 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278F1A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F1A8 */ cpu->r[24] = cpu->r[3];
|
|
/* 0278F1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F1AC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F1AC */ _t71 = _t70 & 0x00000001u;
|
|
/* 0278F1AC */ if (_t71) goto L_0278F1B0; else goto L_0278F1F8;
|
|
L_0278F1B0: ; // 0x278f1b0
|
|
/* 0278F1B0 */ _t72 = cpu->r[31] + 0x00007399u;
|
|
/* 0278F1B0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0278F1B4 */ _t73 = cpu->r[25] + 0x00000040u;
|
|
/* 0278F1B4 */ rbrew_write32(cpu->mem, _t73, cpu->r[29]);
|
|
/* 0278F1B8 */ _t74 = cpu->r[25] + 0x00000048u;
|
|
/* 0278F1B8 */ rbrew_write32(cpu->mem, _t74, cpu->r[29]);
|
|
/* 0278F1BC */ _t75 = cpu->r[25] + 0x00000044u;
|
|
/* 0278F1BC */ rbrew_write32(cpu->mem, _t75, cpu->r[29]);
|
|
/* 0278F1C0 */ _t76 = cpu->r[25] + 0x0000003Cu;
|
|
/* 0278F1C0 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
/* 0278F1C4 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F1C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0278F1C8 */ _t78 = cpu->r[6] + 0x00000014u;
|
|
/* 0278F1C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0278F1CC */ cpu->ctr = cpu->r[7];
|
|
/* 0278F1D0 */ _t79 = cpu->r[25] + 0x00000010u;
|
|
/* 0278F1D0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0278F1D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278F1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F1DC */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F1DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0278F1E0 */ _t81 = cpu->r[7] + 0x00000000u;
|
|
/* 0278F1E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t81);
|
|
/* 0278F1E4 */ cpu->r[8] = 0x00080000u;
|
|
/* 0278F1E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278F1EC */ cpu->r[29] = 0x00000000u;
|
|
/* 0278F1F0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F1F0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0278F1F0 */ if (_t83) goto L_0278F1F4; else goto L_0278F2DC;
|
|
L_0278F1F4: ; // 0x278f1f4
|
|
/* 0278F1F4 */ goto L_0278F300;
|
|
L_0278F1F8: ; // 0x278f1f8
|
|
/* 0278F1F8 */ cpu->r[26] = cpu->r[24];
|
|
/* 0278F1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0278F1FC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F1FC */ _t85 = _t84 & 0x00000001u;
|
|
/* 0278F1FC */ if (_t85) goto L_0278F200; else goto L_0278F224;
|
|
L_0278F200: ; // 0x278f200
|
|
/* 0278F200 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278F204 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F208 */ cpu->r[26] = cpu->r[3];
|
|
/* 0278F208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0278F20C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F20C */ _t87 = _t86 & 0x00000001u;
|
|
/* 0278F20C */ if (_t87) goto L_0278F210; else goto L_0278F224;
|
|
L_0278F210: ; // 0x278f210
|
|
/* 0278F210 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F214 */ _t88 = cpu->r[31] + 0x00007399u;
|
|
/* 0278F214 */ cpu->r[31] = rbrew_read8(cpu->mem, _t88);
|
|
/* 0278F218 */ cpu->r[0] = cpu->r[0] + 0x00006AFCu;
|
|
/* 0278F21C */ _t89 = cpu->r[24] + 0x00000004u;
|
|
/* 0278F21C */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 0278F220 */ goto L_0278F29C;
|
|
L_0278F224: ; // 0x278f224
|
|
/* 0278F224 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278F224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F228 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F228 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0278F228 */ if (_t91) goto L_0278F22C; else goto L_0278F258;
|
|
L_0278F22C: ; // 0x278f22c
|
|
/* 0278F22C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278F230 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F238 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F238 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0278F238 */ if (_t93) goto L_0278F23C; else goto L_0278F258;
|
|
L_0278F23C: ; // 0x278f23c
|
|
/* 0278F23C */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F240 */ _t94 = cpu->r[31] + 0x00007399u;
|
|
/* 0278F240 */ cpu->r[31] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0278F244 */ cpu->r[0] = cpu->r[0] + 0x00006AE4u;
|
|
/* 0278F248 */ _t95 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0278F24C */ _t96 = cpu->r[26] + 0x00000004u;
|
|
/* 0278F24C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0278F250 */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 0278F250 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[31]);
|
|
/* 0278F254 */ goto L_0278F290;
|
|
L_0278F258: ; // 0x278f258
|
|
/* 0278F258 */ cpu->r[8] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0278F25C */ cpu->r[10] = 0x00000020u;
|
|
/* 0278F260 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F264 */ _t98 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F264 */ rbrew_write32(cpu->mem, _t98, cpu->r[8]);
|
|
/* 0278F268 */ cpu->r[0] = cpu->r[0] + 0x00006ACCu;
|
|
/* 0278F26C */ _t99 = cpu->r[3] + 0x00000008u;
|
|
/* 0278F26C */ rbrew_write32(cpu->mem, _t99, cpu->r[10]);
|
|
/* 0278F270 */ _t100 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F270 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 0278F274 */ _t101 = cpu->r[31] + 0x00007399u;
|
|
/* 0278F274 */ cpu->r[31] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0278F278 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F27C */ _t102 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0278F280 */ cpu->r[0] = cpu->r[0] + 0x00006AE4u;
|
|
/* 0278F284 */ _t103 = cpu->r[26] + 0x0000002Bu;
|
|
/* 0278F284 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[31]);
|
|
/* 0278F288 */ _t104 = cpu->r[26] + 0x00000004u;
|
|
/* 0278F288 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
/* 0278F28C */ _t105 = cpu->r[12] + 0x00000000u;
|
|
/* 0278F28C */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[31]);
|
|
L_0278F290: ; // 0x278f290
|
|
/* 0278F290 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F294 */ cpu->r[0] = cpu->r[0] + 0x00006AFCu;
|
|
/* 0278F298 */ _t106 = cpu->r[24] + 0x00000004u;
|
|
/* 0278F298 */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
L_0278F29C: ; // 0x278f29c
|
|
/* 0278F29C */ _t107 = cpu->r[25] + 0x00000048u;
|
|
/* 0278F29C */ rbrew_write32(cpu->mem, _t107, cpu->r[29]);
|
|
/* 0278F2A0 */ _t108 = cpu->r[25] + 0x00000040u;
|
|
/* 0278F2A0 */ rbrew_write32(cpu->mem, _t108, cpu->r[29]);
|
|
/* 0278F2A4 */ _t109 = cpu->r[25] + 0x00000044u;
|
|
/* 0278F2A4 */ rbrew_write32(cpu->mem, _t109, cpu->r[29]);
|
|
/* 0278F2A8 */ _t110 = cpu->r[25] + 0x0000003Cu;
|
|
/* 0278F2A8 */ rbrew_write32(cpu->mem, _t110, cpu->r[29]);
|
|
/* 0278F2AC */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F2AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0278F2B0 */ _t112 = cpu->r[6] + 0x00000014u;
|
|
/* 0278F2B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0278F2B4 */ cpu->ctr = cpu->r[7];
|
|
/* 0278F2B8 */ _t113 = cpu->r[25] + 0x00000010u;
|
|
/* 0278F2B8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0278F2BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278F2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F2C4 */ _t114 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F2C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0278F2C8 */ _t115 = cpu->r[7] + 0x00000000u;
|
|
/* 0278F2C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t115);
|
|
/* 0278F2CC */ cpu->r[8] = 0x00080000u;
|
|
/* 0278F2D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0278F2D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278F2D8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F2D8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 0278F2D8 */ if (_t117) goto L_0278F1F4; else goto L_0278F2DC;
|
|
L_0278F2DC: ; // 0x278f2dc
|
|
/* 0278F2DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0278F2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0278F2E4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0278F2E8 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278F2E8 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0278F2E8 */ if (_t119) goto L_0278F2FC; else goto L_0278F2EC;
|
|
L_0278F2EC: ; // 0x278f2ec
|
|
/* 0278F2EC */ _t120 = cpu->r[7] + 0x00000000u;
|
|
/* 0278F2EC */ cpu->r[9] = rbrew_read8(cpu->mem, _t120);
|
|
/* 0278F2F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0278F2F4 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F2F4 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0278F2F4 */ if (_t122) goto L_0278F2F8; else goto L_0278F2DC;
|
|
L_0278F2F8: ; // 0x278f2f8
|
|
/* 0278F2F8 */ goto L_0278F300;
|
|
L_0278F2FC: ; // 0x278f2fc
|
|
/* 0278F2FC */ cpu->r[29] = 0x00000000u;
|
|
L_0278F300: ; // 0x278f300
|
|
/* 0278F300 */ _t123 = cpu->r[25] + 0x00000018u;
|
|
/* 0278F300 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0278F304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 0278F308 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0278F308 */ _t125 = _t124 & 0x00000001u;
|
|
/* 0278F308 */ if (_t125) goto L_0278F310; else goto L_0278F30C;
|
|
L_0278F30C: ; // 0x278f30c
|
|
/* 0278F30C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0278F310: ; // 0x278f310
|
|
/* 0278F310 */ _t126 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F310 */ cpu->r[10] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0278F314 */ _t127 = cpu->r[10] + 0x00000014u;
|
|
/* 0278F314 */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0278F318 */ cpu->ctr = cpu->r[11];
|
|
/* 0278F31C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0278F320 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F324 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F324 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0278F328 */ cpu->r[6] = 0x00000000u;
|
|
/* 0278F32C */ cpu->r[5] = cpu->r[29];
|
|
/* 0278F330 */ cpu->r[3] = cpu->r[26];
|
|
/* 0278F334 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0278F338 */ _t129 = cpu->r[26] + cpu->r[29];
|
|
/* 0278F338 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[31]);
|
|
L_0278F33C: ; // 0x278f33c
|
|
/* 0278F33C */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F340 */ cpu->r[12] = cpu->r[12] + 0x00006D10u;
|
|
/* 0278F344 */ cpu->r[3] = cpu->r[27] + 0x0000004Cu;
|
|
/* 0278F348 */ _t130 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0278F348 */ rbrew_write32(cpu->mem, _t130, cpu->r[12]);
|
|
/* 0278F34C */ Gambit_fn_02828D90(cpu);
|
|
/* 0278F350 */ cpu->r[31] = cpu->r[27] + 0x000000B8u;
|
|
/* 0278F350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F354 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F354 */ _t132 = _t131 & 0x00000001u;
|
|
/* 0278F354 */ if (_t132) goto L_0278F358; else goto L_0278F368;
|
|
L_0278F358: ; // 0x278f358
|
|
/* 0278F358 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0278F35C */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F360 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F364 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F364 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0278F364 */ if (_t134) goto L_0278F39C; else goto L_0278F368;
|
|
L_0278F368: ; // 0x278f368
|
|
/* 0278F368 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F36C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F36C */ _t136 = _t135 & 0x00000001u;
|
|
/* 0278F36C */ if (_t136) goto L_0278F370; else goto L_0278F380;
|
|
L_0278F370: ; // 0x278f370
|
|
/* 0278F370 */ cpu->r[3] = 0x00000008u;
|
|
/* 0278F374 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F37C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F37C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0278F37C */ if (_t138) goto L_0278F390; else goto L_0278F380;
|
|
L_0278F380: ; // 0x278f380
|
|
/* 0278F380 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F384 */ _t139 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F384 */ rbrew_write32(cpu->mem, _t139, cpu->r[28]);
|
|
/* 0278F388 */ cpu->r[0] = cpu->r[0] + 0x00006A79u;
|
|
/* 0278F38C */ _t140 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F38C */ rbrew_write32(cpu->mem, _t140, cpu->r[0]);
|
|
L_0278F390: ; // 0x278f390
|
|
/* 0278F390 */ cpu->r[6] = 0x10100000u;
|
|
/* 0278F394 */ cpu->r[6] = cpu->r[6] + 0x00006B74u;
|
|
/* 0278F398 */ _t141 = cpu->r[31] + 0x00000008u;
|
|
/* 0278F398 */ rbrew_write32(cpu->mem, _t141, cpu->r[6]);
|
|
L_0278F39C: ; // 0x278f39c
|
|
/* 0278F39C */ cpu->r[7] = cpu->r[30] + 0x00000030u;
|
|
/* 0278F3A0 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0278F3A4 */ cpu->r[9] = 0x02790000u;
|
|
/* 0278F3A8 */ cpu->r[31] = cpu->r[7] + 0x00000024u;
|
|
/* 0278F3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278F3AC */ cpu->r[0] = 0x00000000u;
|
|
/* 0278F3B0 */ cpu->r[9] = cpu->r[9] + 0x00000388u;
|
|
/* 0278F3B4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F3B4 */ _t143 = _t142 & 0x00000001u;
|
|
/* 0278F3B4 */ if (_t143) goto L_0278F408; else goto L_0278F3B8;
|
|
L_0278F3B8: ; // 0x278f3b8
|
|
/* 0278F3B8 */ _t144 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F3B8 */ rbrew_write32(cpu->mem, _t144, cpu->r[9]);
|
|
/* 0278F3BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F3C0 */ _t145 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F3C0 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[0]);
|
|
/* 0278F3C4 */ _t146 = cpu->r[1] + 0x00000012u;
|
|
/* 0278F3C4 */ rbrew_write16(cpu->mem, _t146, (uint16_t)cpu->r[10]);
|
|
/* 0278F3C8 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F3C8 */ _t148 = _t147 & 0x00000001u;
|
|
/* 0278F3C8 */ if (_t148) goto L_0278F3CC; else goto L_0278F3DC;
|
|
L_0278F3CC: ; // 0x278f3cc
|
|
/* 0278F3CC */ cpu->r[3] = 0x00000010u;
|
|
/* 0278F3D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0278F3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F3D8 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F3D8 */ _t150 = _t149 & 0x00000001u;
|
|
/* 0278F3D8 */ if (_t150) goto L_0278F3FC; else goto L_0278F3DC;
|
|
L_0278F3DC: ; // 0x278f3dc
|
|
/* 0278F3DC */ cpu->r[8] = 0x10100000u;
|
|
/* 0278F3E0 */ _t151 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F3E0 */ rbrew_write32(cpu->mem, _t151, cpu->r[30]);
|
|
/* 0278F3E4 */ cpu->r[8] = cpu->r[8] + 0x00006B2Cu;
|
|
/* 0278F3E8 */ _t152 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F3E8 */ rbrew_write32(cpu->mem, _t152, cpu->r[8]);
|
|
/* 0278F3EC */ _t153 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F3EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0278F3F0 */ _t154 = cpu->r[3] + 0x00000008u;
|
|
/* 0278F3F0 */ rbrew_write32(cpu->mem, _t154, cpu->r[10]);
|
|
/* 0278F3F4 */ _t155 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F3F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0278F3F8 */ _t156 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278F3F8 */ rbrew_write32(cpu->mem, _t156, cpu->r[11]);
|
|
L_0278F3FC: ; // 0x278f3fc
|
|
/* 0278F3FC */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F400 */ cpu->r[12] = cpu->r[12] + 0x00006BA4u;
|
|
/* 0278F404 */ _t157 = cpu->r[31] + 0x00000000u;
|
|
/* 0278F404 */ rbrew_write32(cpu->mem, _t157, cpu->r[12]);
|
|
L_0278F408: ; // 0x278f408
|
|
/* 0278F408 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F40C */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F410 */ cpu->r[0] = cpu->r[0] + 0x00006BC8u;
|
|
/* 0278F414 */ _t158 = cpu->r[30] + 0x00000048u;
|
|
/* 0278F414 */ rbrew_write32(cpu->mem, _t158, cpu->r[6]);
|
|
/* 0278F418 */ _t159 = cpu->r[30] + 0x00000040u;
|
|
/* 0278F418 */ rbrew_write32(cpu->mem, _t159, cpu->r[0]);
|
|
L_0278F41C: ; // 0x278f41c
|
|
/* 0278F41C */ cpu->r[3] = cpu->r[30];
|
|
/* 0278F420 */ /* nop */
|
|
/* 0278F424 */ _t160 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0278F424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 0278F428 */ cpu->lr = cpu->r[0];
|
|
/* 0278F42C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0278F430 */ return;
|
|
}
|
|
|
|
// fn_0278F434 @ 0x278f434
|
|
void Gambit_fn_0278F434(CPUState* 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_0278F434: ; // 0x278f434
|
|
/* 0278F434 */ cpu->r[0] = cpu->lr;
|
|
/* 0278F438 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278F438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F438 */ cpu->r[1] = _t0;
|
|
/* 0278F43C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F43C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278F440 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F440 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278F444 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F444 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278F448 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F448 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278F44C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F44C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278F450 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0278F454 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278F458 */ _t6 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278F458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278F458 */ cpu->r[29] = _t6;
|
|
/* 0278F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F460 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F460 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278F460 */ if (_t8) goto L_0278F464; else goto L_0278F4B4;
|
|
L_0278F464: ; // 0x278f464
|
|
/* 0278F464 */ cpu->r[4] = cpu->r[30];
|
|
/* 0278F468 */ cpu->r[3] = 0x00000164u;
|
|
/* 0278F46C */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F470 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0278F474 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278F478 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 0278F478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278F47C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F47C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278F47C */ if (_t10) goto L_0278F49C; else goto L_0278F480;
|
|
L_0278F480: ; // 0x278f480
|
|
/* 0278F480 */ cpu->r[5] = 0x00000003u;
|
|
/* 0278F484 */ cpu->r[4] = cpu->r[30];
|
|
/* 0278F488 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278F48C */ Gambit_fn_02821D88(cpu);
|
|
/* 0278F490 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F494 */ cpu->r[0] = cpu->r[0] + 0x00006D00u;
|
|
/* 0278F498 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0278F498 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0278F49C: ; // 0x278f49c
|
|
/* 0278F49C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278F4A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F4A4 */ _t12 = cpu->r[12] + 0xFFFF902Cu;
|
|
/* 0278F4A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 0278F4A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F4A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278F4A8 */ if (_t14) goto L_0278F4B0; else goto L_0278F4AC;
|
|
L_0278F4AC: ; // 0x278f4ac
|
|
/* 0278F4AC */ Gambit_fn_0278EFD0(cpu);
|
|
L_0278F4B0: ; // 0x278f4b0
|
|
/* 0278F4B0 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0278F4B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_0278F4B4: ; // 0x278f4b4
|
|
/* 0278F4B4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F4B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278F4B8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F4BC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F4C0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278F4C4 */ cpu->lr = cpu->r[0];
|
|
/* 0278F4C8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F4D0 */ return;
|
|
}
|
|
|
|
// fn_0278F438 @ 0x278f438
|
|
void Gambit_fn_0278F438(CPUState* 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_0278F438: ; // 0x278f438
|
|
/* 0278F438 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278F438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F438 */ cpu->r[1] = _t0;
|
|
/* 0278F43C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F43C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278F440 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F440 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278F444 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F444 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278F448 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F448 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278F44C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F44C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278F450 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0278F454 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278F458 */ _t6 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278F458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278F458 */ cpu->r[29] = _t6;
|
|
/* 0278F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F460 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F460 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278F460 */ if (_t8) goto L_0278F464; else goto L_0278F4B4;
|
|
L_0278F464: ; // 0x278f464
|
|
/* 0278F464 */ cpu->r[4] = cpu->r[30];
|
|
/* 0278F468 */ cpu->r[3] = 0x00000164u;
|
|
/* 0278F46C */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F470 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0278F474 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278F478 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 0278F478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0278F47C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F47C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278F47C */ if (_t10) goto L_0278F49C; else goto L_0278F480;
|
|
L_0278F480: ; // 0x278f480
|
|
/* 0278F480 */ cpu->r[5] = 0x00000003u;
|
|
/* 0278F484 */ cpu->r[4] = cpu->r[30];
|
|
/* 0278F488 */ cpu->r[3] = cpu->r[28];
|
|
/* 0278F48C */ Gambit_fn_02821D88(cpu);
|
|
/* 0278F490 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F494 */ cpu->r[0] = cpu->r[0] + 0x00006D00u;
|
|
/* 0278F498 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0278F498 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0278F49C: ; // 0x278f49c
|
|
/* 0278F49C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278F4A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0278F4A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F4A4 */ _t12 = cpu->r[12] + 0xFFFF902Cu;
|
|
/* 0278F4A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 0278F4A8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F4A8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0278F4A8 */ if (_t14) goto L_0278F4B0; else goto L_0278F4AC;
|
|
L_0278F4AC: ; // 0x278f4ac
|
|
/* 0278F4AC */ Gambit_fn_0278EFD0(cpu);
|
|
L_0278F4B0: ; // 0x278f4b0
|
|
/* 0278F4B0 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0278F4B0 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_0278F4B4: ; // 0x278f4b4
|
|
/* 0278F4B4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F4B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278F4B8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F4BC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F4C0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278F4C4 */ cpu->lr = cpu->r[0];
|
|
/* 0278F4C8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F4D0 */ return;
|
|
}
|
|
|
|
// fn_0278F4D4 @ 0x278f4d4
|
|
void Gambit_fn_0278F4D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_0278F4D4: ; // 0x278f4d4
|
|
/* 0278F4D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0278F4D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278F4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F4D8 */ cpu->r[1] = _t0;
|
|
/* 0278F4DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278F4E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F4E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278F4E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278F4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278F4E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278F4EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F4EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278F4F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F4F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278F4F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F4F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278F4F4 */ if (_t6) goto L_0278F5CC; else goto L_0278F4F8;
|
|
L_0278F4F8: ; // 0x278f4f8
|
|
/* 0278F4F8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F4FC */ cpu->r[12] = cpu->r[12] + 0x00006B64u;
|
|
/* 0278F500 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0278F500 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278F504 */ Gambit_fn_028C20A8(cpu);
|
|
/* 0278F508 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 0278F508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278F50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F510 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278F514 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F514 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278F514 */ if (_t10) goto L_0278F530; else goto L_0278F518;
|
|
L_0278F518: ; // 0x278f518
|
|
/* 0278F518 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F518 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278F51C */ _t12 = cpu->r[11] + 0x00000024u;
|
|
/* 0278F51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278F520 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F524 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F52C */ _t13 = cpu->r[30] + 0x00000020u;
|
|
/* 0278F52C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_0278F530: ; // 0x278f530
|
|
/* 0278F530 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278F530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278F534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F538 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278F538 */ if (_t16) goto L_0278F554; else goto L_0278F53C;
|
|
L_0278F53C: ; // 0x278f53c
|
|
/* 0278F53C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F53C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F540 */ _t18 = cpu->r[10] + 0x00000024u;
|
|
/* 0278F540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F544 */ cpu->ctr = cpu->r[11];
|
|
/* 0278F548 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F54C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F550 */ _t19 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278F550 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_0278F554: ; // 0x278f554
|
|
/* 0278F554 */ _t20 = cpu->r[30] + 0x00000018u;
|
|
/* 0278F554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F55C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F55C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278F55C */ if (_t22) goto L_0278F578; else goto L_0278F560;
|
|
L_0278F560: ; // 0x278f560
|
|
/* 0278F560 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278F564 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 0278F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278F568 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F56C */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F574 */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 0278F574 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_0278F578: ; // 0x278f578
|
|
/* 0278F578 */ cpu->r[29] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278F578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F57C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F57C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278F57C */ if (_t27) goto L_0278F5B0; else goto L_0278F580;
|
|
L_0278F580: ; // 0x278f580
|
|
/* 0278F580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F584 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F584 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0278F584 */ if (_t29) goto L_0278F5B0; else goto L_0278F588;
|
|
L_0278F588: ; // 0x278f588
|
|
/* 0278F588 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F58C */ cpu->r[0] = cpu->r[0] + 0x00006B44u;
|
|
/* 0278F590 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F594 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0278F594 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0278F598 */ _t31 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 0278F598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278F59C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F5A0 */ Gambit_fn_027987D0(cpu);
|
|
/* 0278F5A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F5A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278F5AC */ Gambit_fn_02821E68(cpu);
|
|
L_0278F5B0: ; // 0x278f5b0
|
|
/* 0278F5B0 */ cpu->r[3] = cpu->r[30] + 0x00000030u;
|
|
/* 0278F5B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278F5B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278F5BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278F5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278F5C0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F5C0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278F5C0 */ if (_t33) goto L_0278F5CC; else goto L_0278F5C4;
|
|
L_0278F5C4: ; // 0x278f5c4
|
|
/* 0278F5C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278F5C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278F5CC: ; // 0x278f5cc
|
|
/* 0278F5CC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F5CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278F5D0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278F5D4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F5D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278F5D8 */ cpu->lr = cpu->r[0];
|
|
/* 0278F5DC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F5DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278F5E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F5E4 */ return;
|
|
}
|
|
|
|
// fn_0278F4D8 @ 0x278f4d8
|
|
void Gambit_fn_0278F4D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_0278F4D8: ; // 0x278f4d8
|
|
/* 0278F4D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278F4D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F4D8 */ cpu->r[1] = _t0;
|
|
/* 0278F4DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F4DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278F4E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F4E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278F4E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278F4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278F4E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0278F4EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F4EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0278F4F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F4F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278F4F4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F4F4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278F4F4 */ if (_t6) goto L_0278F5CC; else goto L_0278F4F8;
|
|
L_0278F4F8: ; // 0x278f4f8
|
|
/* 0278F4F8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F4FC */ cpu->r[12] = cpu->r[12] + 0x00006B64u;
|
|
/* 0278F500 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0278F500 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0278F504 */ Gambit_fn_028C20A8(cpu);
|
|
/* 0278F508 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 0278F508 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278F50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F510 */ cpu->r[29] = 0x00000000u;
|
|
/* 0278F514 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F514 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278F514 */ if (_t10) goto L_0278F530; else goto L_0278F518;
|
|
L_0278F518: ; // 0x278f518
|
|
/* 0278F518 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F518 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278F51C */ _t12 = cpu->r[11] + 0x00000024u;
|
|
/* 0278F51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278F520 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F524 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F52C */ _t13 = cpu->r[30] + 0x00000020u;
|
|
/* 0278F52C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_0278F530: ; // 0x278f530
|
|
/* 0278F530 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278F530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278F534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F538 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F538 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278F538 */ if (_t16) goto L_0278F554; else goto L_0278F53C;
|
|
L_0278F53C: ; // 0x278f53c
|
|
/* 0278F53C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F53C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F540 */ _t18 = cpu->r[10] + 0x00000024u;
|
|
/* 0278F540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F544 */ cpu->ctr = cpu->r[11];
|
|
/* 0278F548 */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F54C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F550 */ _t19 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0278F550 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_0278F554: ; // 0x278f554
|
|
/* 0278F554 */ _t20 = cpu->r[30] + 0x00000018u;
|
|
/* 0278F554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F55C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F55C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0278F55C */ if (_t22) goto L_0278F578; else goto L_0278F560;
|
|
L_0278F560: ; // 0x278f560
|
|
/* 0278F560 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0278F564 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 0278F564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0278F568 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F56C */ cpu->r[4] = 0x00000003u;
|
|
/* 0278F570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F574 */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 0278F574 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_0278F578: ; // 0x278f578
|
|
/* 0278F578 */ cpu->r[29] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278F578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F57C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F57C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0278F57C */ if (_t27) goto L_0278F5B0; else goto L_0278F580;
|
|
L_0278F580: ; // 0x278f580
|
|
/* 0278F580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F584 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F584 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0278F584 */ if (_t29) goto L_0278F5B0; else goto L_0278F588;
|
|
L_0278F588: ; // 0x278f588
|
|
/* 0278F588 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F58C */ cpu->r[0] = cpu->r[0] + 0x00006B44u;
|
|
/* 0278F590 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F594 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0278F594 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0278F598 */ _t31 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 0278F598 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0278F59C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F5A0 */ Gambit_fn_027987D0(cpu);
|
|
/* 0278F5A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F5A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278F5AC */ Gambit_fn_02821E68(cpu);
|
|
L_0278F5B0: ; // 0x278f5b0
|
|
/* 0278F5B0 */ cpu->r[3] = cpu->r[30] + 0x00000030u;
|
|
/* 0278F5B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278F5B8 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0278F5BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278F5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0278F5C0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F5C0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278F5C0 */ if (_t33) goto L_0278F5CC; else goto L_0278F5C4;
|
|
L_0278F5C4: ; // 0x278f5c4
|
|
/* 0278F5C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278F5C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278F5CC: ; // 0x278f5cc
|
|
/* 0278F5CC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F5CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0278F5D0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0278F5D4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F5D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0278F5D8 */ cpu->lr = cpu->r[0];
|
|
/* 0278F5DC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F5DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0278F5E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F5E4 */ return;
|
|
}
|
|
|
|
// fn_0278F5E8 @ 0x278f5e8
|
|
void Gambit_fn_0278F5E8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0278F5E8: ; // 0x278f5e8
|
|
/* 0278F5E8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0278F5E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278F5EC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0278F5F0 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0278F5F4 */ return;
|
|
}
|
|
|
|
// fn_0278F5F8 @ 0x278f5f8
|
|
void Gambit_fn_0278F5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278F5F8: ; // 0x278f5f8
|
|
/* 0278F5F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278F5FC */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 0278F5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F5FC */ cpu->r[1] = _t0;
|
|
/* 0278F600 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 0278F600 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278F604 */ /* nop */
|
|
/* 0278F608 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278F60C */ cpu->r[29] = cpu->r[4];
|
|
/* 0278F60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F610 */ cpu->r[30] = cpu->r[6];
|
|
/* 0278F614 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0278F618 */ cpu->r[31] = 0x00000001u;
|
|
/* 0278F61C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F61C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278F61C */ if (_t3) goto L_0278F630; else goto L_0278F620;
|
|
L_0278F620: ; // 0x278f620
|
|
/* 0278F620 */ _t4 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0278F620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278F624 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F628 */ Gambit_fn_02827008(cpu);
|
|
/* 0278F62C */ cpu->r[31] = cpu->r[3];
|
|
L_0278F630: ; // 0x278f630
|
|
/* 0278F630 */ cpu->r[26] = 0x101D0000u;
|
|
/* 0278F634 */ _t5 = cpu->r[28] + 0x00000024u;
|
|
/* 0278F634 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0278F638 */ _t6 = cpu->r[26] + 0xFFFF9024u;
|
|
/* 0278F638 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278F638 */ cpu->r[26] = _t6;
|
|
/* 0278F63C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F63C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278F640 */ _t8 = cpu->r[5] + 0x00000024u;
|
|
/* 0278F640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278F644 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F648 */ cpu->r[4] = cpu->r[28] + 0x00000074u;
|
|
/* 0278F64C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F650 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F654 */ Gambit_fn_028C1E30(cpu);
|
|
/* 0278F658 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278F65C */ Gambit_fn_028C274C(cpu);
|
|
/* 0278F660 */ cpu->r[25] = 0x101F0000u;
|
|
/* 0278F664 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 0278F664 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0278F668 */ cpu->r[25] = cpu->r[25] + 0x00002388u;
|
|
/* 0278F66C */ _t10 = cpu->r[25] + 0x00000004u;
|
|
/* 0278F66C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278F670 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0278F670 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0278F674 */ _t12 = cpu->r[7] + 0x00000014u;
|
|
/* 0278F674 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278F678 */ cpu->ctr = cpu->r[9];
|
|
/* 0278F67C */ cpu->r[3] = cpu->r[25];
|
|
/* 0278F680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F684 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 0278F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278F688 */ cpu->r[25] = 0x101F0000u;
|
|
/* 0278F68C */ cpu->r[25] = cpu->r[25] + 0x000023C0u;
|
|
/* 0278F690 */ _t14 = cpu->r[25] + 0x00000004u;
|
|
/* 0278F690 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278F694 */ _t15 = cpu->r[1] + 0x000000A8u;
|
|
/* 0278F694 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278F698 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 0278F698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278F69C */ cpu->ctr = cpu->r[5];
|
|
/* 0278F6A0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278F6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F6A8 */ _t17 = cpu->r[25] + 0x00000000u;
|
|
/* 0278F6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F6AC */ cpu->r[6] = 0x10100000u;
|
|
/* 0278F6B0 */ _t18 = cpu->r[28] + 0x00000080u;
|
|
/* 0278F6B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F6B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F6B8 */ _t19 = cpu->r[28] + 0x00000084u;
|
|
/* 0278F6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278F6BC */ cpu->r[25] = 0x10100000u;
|
|
/* 0278F6C0 */ _t20 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0278F6C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F6C4 */ cpu->r[25] = cpu->r[25] + 0x00006A8Cu;
|
|
/* 0278F6C8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F6CC */ _t21 = cpu->r[1] + 0x000000A0u;
|
|
/* 0278F6CC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0278F6D0 */ cpu->r[12] = cpu->r[12] + 0x00006BD4u;
|
|
/* 0278F6D4 */ _t22 = cpu->r[6] + 0x00006BD0u;
|
|
/* 0278F6D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0278F6D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278F6DC */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F6DC */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 0278F6E0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F6E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 0278F6E4 */ _t25 = cpu->r[1] + 0x000000E0u;
|
|
/* 0278F6E4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 0278F6E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F6EC */ _t26 = cpu->r[28] + 0x00000076u;
|
|
/* 0278F6EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0278F6F0 */ _t27 = cpu->r[1] + 0x00000060u;
|
|
/* 0278F6F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0278F6F4 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 0278F6F4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 0278F6F8 */ _t29 = cpu->r[28] + 0x00000077u;
|
|
/* 0278F6F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0278F6FC */ _t30 = cpu->r[1] + 0x00000064u;
|
|
/* 0278F6FC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 0278F700 */ _t31 = cpu->r[1] + 0x000000A4u;
|
|
/* 0278F700 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 0278F704 */ Gambit_fn_02809494(cpu);
|
|
/* 0278F708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F70C */ cpu->r[12] = 0x00000000u;
|
|
/* 0278F710 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F710 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278F710 */ if (_t33) goto L_0278F718; else goto L_0278F714;
|
|
L_0278F714: ; // 0x278f714
|
|
/* 0278F714 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_0278F718: ; // 0x278f718
|
|
/* 0278F718 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 0278F71C */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F720 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F724 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F728 */ cpu->r[3] = cpu->r[3] + 0x00002398u;
|
|
/* 0278F72C */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F730 */ _t35 = cpu->r[1] + 0x000000B0u;
|
|
/* 0278F730 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0278F734 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F738 */ cpu->r[22] = cpu->r[3];
|
|
/* 0278F73C */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F740 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F744 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F748 */ cpu->r[3] = cpu->r[3] + 0x000023A0u;
|
|
/* 0278F74C */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F750 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F754 */ cpu->r[23] = cpu->r[3];
|
|
/* 0278F758 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F75C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F760 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F764 */ cpu->r[3] = cpu->r[3] + 0x000023A8u;
|
|
/* 0278F768 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F76C */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F770 */ cpu->r[24] = cpu->r[3];
|
|
/* 0278F774 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F778 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F77C */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F780 */ cpu->r[3] = cpu->r[3] + 0x000023B0u;
|
|
/* 0278F784 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F788 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0278F790 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F790 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278F790 */ if (_t37) goto L_0278F79C; else goto L_0278F794;
|
|
L_0278F794: ; // 0x278f794
|
|
/* 0278F794 */ _t38 = cpu->r[22] + 0x00000004u;
|
|
/* 0278F794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278F798 */ _t39 = cpu->r[1] + 0x00000074u;
|
|
/* 0278F798 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
L_0278F79C: ; // 0x278f79c
|
|
/* 0278F79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278F7A0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0278F7A0 */ if (_t41) goto L_0278F7AC; else goto L_0278F7A4;
|
|
L_0278F7A4: ; // 0x278f7a4
|
|
/* 0278F7A4 */ _t42 = cpu->r[23] + 0x00000004u;
|
|
/* 0278F7A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0278F7A8 */ _t43 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0278F7A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
L_0278F7AC: ; // 0x278f7ac
|
|
/* 0278F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F7B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7B0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0278F7B0 */ if (_t45) goto L_0278F7BC; else goto L_0278F7B4;
|
|
L_0278F7B4: ; // 0x278f7b4
|
|
/* 0278F7B4 */ _t46 = cpu->r[24] + 0x00000004u;
|
|
/* 0278F7B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0278F7B8 */ _t47 = cpu->r[1] + 0x00000044u;
|
|
/* 0278F7B8 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
L_0278F7BC: ; // 0x278f7bc
|
|
/* 0278F7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F7C0 */ _t48 = cpu->r[28] + 0x00000075u;
|
|
/* 0278F7C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0278F7C4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7C4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0278F7C4 */ if (_t50) goto L_0278F7D0; else goto L_0278F7C8;
|
|
L_0278F7C8: ; // 0x278f7c8
|
|
/* 0278F7C8 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0278F7CC */ _t52 = cpu->r[1] + 0x00000070u;
|
|
/* 0278F7CC */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_0278F7D0: ; // 0x278f7d0
|
|
/* 0278F7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278F7D4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7D4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0278F7D4 */ if (_t54) goto L_0278F81C; else goto L_0278F7D8;
|
|
L_0278F7D8: ; // 0x278f7d8
|
|
/* 0278F7D8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F7DC */ cpu->r[3] = 0x00000034u;
|
|
/* 0278F7E0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F7E4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F7E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 0278F7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0278F7EC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7EC */ _t56 = _t55 & 0x00000001u;
|
|
/* 0278F7EC */ if (_t56) goto L_0278F7FC; else goto L_0278F7F0;
|
|
L_0278F7F0: ; // 0x278f7f0
|
|
/* 0278F7F0 */ cpu->r[3] = cpu->r[8];
|
|
/* 0278F7F4 */ Gambit_fn_0278C5E4(cpu);
|
|
/* 0278F7F8 */ cpu->r[8] = cpu->r[3];
|
|
L_0278F7FC: ; // 0x278f7fc
|
|
/* 0278F7FC */ _t57 = cpu->r[1] + 0x000000D4u;
|
|
/* 0278F7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0278F800 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278F804 */ _t58 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0278F804 */ rbrew_write32(cpu->mem, _t58, cpu->r[8]);
|
|
/* 0278F808 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 0278F80C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278F810 */ _t59 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0278F814 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278F818 */ _t60 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F818 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
|
|
L_0278F81C: ; // 0x278f81c
|
|
/* 0278F81C */ _t61 = cpu->r[28] + 0x00000074u;
|
|
/* 0278F81C */ cpu->r[6] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0278F820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0278F824 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F824 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0278F824 */ if (_t63) goto L_0278F870; else goto L_0278F828;
|
|
L_0278F828: ; // 0x278f828
|
|
/* 0278F828 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F82C */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278F830 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F834 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F838 */ cpu->r[9] = cpu->r[3];
|
|
/* 0278F838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0278F83C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F83C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0278F83C */ if (_t65) goto L_0278F850; else goto L_0278F840;
|
|
L_0278F840: ; // 0x278f840
|
|
/* 0278F840 */ cpu->r[3] = cpu->r[9];
|
|
/* 0278F844 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278F848 */ Gambit_fn_0278C6DC(cpu);
|
|
/* 0278F84C */ cpu->r[9] = cpu->r[3];
|
|
L_0278F850: ; // 0x278f850
|
|
/* 0278F850 */ _t66 = cpu->r[1] + 0x000000D4u;
|
|
/* 0278F850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0278F854 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278F858 */ _t67 = cpu->r[28] + 0x00000020u;
|
|
/* 0278F858 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 0278F85C */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 0278F860 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278F864 */ _t68 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278F868 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278F86C */ _t69 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F86C */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
L_0278F870: ; // 0x278f870
|
|
/* 0278F870 */ cpu->r[23] = 0x101D0000u;
|
|
/* 0278F874 */ _t70 = cpu->r[23] + 0xFFFF9A84u;
|
|
/* 0278F874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0278F874 */ cpu->r[23] = _t70;
|
|
/* 0278F878 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0278F87C */ Gambit_fn_028C2114(cpu);
|
|
/* 0278F880 */ _t71 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278F884 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278F888 */ _t73 = cpu->r[8] + 0x0000002Cu;
|
|
/* 0278F888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278F88C */ cpu->ctr = cpu->r[0];
|
|
/* 0278F890 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F898 */ _t74 = cpu->r[28] + 0x00000018u;
|
|
/* 0278F898 */ rbrew_write32(cpu->mem, _t74, cpu->r[3]);
|
|
/* 0278F89C */ cpu->r[3] = cpu->r[3] + 0x000000A0u;
|
|
/* 0278F8A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8A4 */ Gambit_fn_0278D2A8(cpu);
|
|
/* 0278F8A8 */ _t75 = cpu->r[28] + 0x00000018u;
|
|
/* 0278F8A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0278F8AC */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8B0 */ Gambit_fn_0278E404(cpu);
|
|
/* 0278F8B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F8B8 */ Gambit_fn_028B3E0C(cpu);
|
|
/* 0278F8BC */ cpu->r[7] = cpu->r[3];
|
|
/* 0278F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278F8C0 */ _t76 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F8C0 */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 0278F8C4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F8C4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0278F8C4 */ if (_t78) goto L_0278F990; else goto L_0278F8C8;
|
|
L_0278F8C8: ; // 0x278f8c8
|
|
/* 0278F8C8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278F8CC */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8D0 */ _t79 = cpu->r[10] + 0xFFFF9030u;
|
|
/* 0278F8D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0278F8D4 */ cpu->r[3] = 0x00000040u;
|
|
/* 0278F8D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F8DC */ _t80 = cpu->r[7] + 0x00000018u;
|
|
/* 0278F8DC */ rbrew_write32(cpu->mem, _t80, cpu->r[10]);
|
|
/* 0278F8E0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F8E4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0278F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F8E8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F8E8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0278F8E8 */ if (_t82) goto L_0278F90C; else goto L_0278F8EC;
|
|
L_0278F8EC: ; // 0x278f8ec
|
|
/* 0278F8EC */ cpu->r[3] = cpu->r[24];
|
|
/* 0278F8F0 */ cpu->r[4] = 0x00000040u;
|
|
/* 0278F8F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 0278F8F8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F8FC */ cpu->r[0] = cpu->r[0] + 0x00006B84u;
|
|
/* 0278F900 */ cpu->r[3] = cpu->r[24] + 0x00000004u;
|
|
/* 0278F904 */ _t83 = cpu->r[24] + 0x00000000u;
|
|
/* 0278F904 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 0278F908 */ Gambit_fn_02837344(cpu);
|
|
L_0278F90C: ; // 0x278f90c
|
|
/* 0278F90C */ _t84 = cpu->r[23] + 0x00000000u;
|
|
/* 0278F90C */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0278F910 */ cpu->r[9] = cpu->r[24];
|
|
/* 0278F914 */ _t85 = cpu->r[28] + 0x0000007Cu;
|
|
/* 0278F914 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0278F918 */ cpu->r[6] = cpu->r[30];
|
|
/* 0278F91C */ _t86 = cpu->r[28] + 0x00000078u;
|
|
/* 0278F91C */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0278F920 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278F924 */ _t87 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0278F928 */ Gambit_fn_028B3EAC(cpu);
|
|
/* 0278F92C */ cpu->r[10] = cpu->r[28] + 0x0000008Cu;
|
|
/* 0278F930 */ cpu->r[3] = cpu->r[10];
|
|
/* 0278F934 */ Gambit_fn_0278F5E8(cpu);
|
|
/* 0278F938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F93C */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F93C */ _t89 = _t88 & 0x00000001u;
|
|
/* 0278F93C */ if (_t89) goto L_0278F948; else goto L_0278F940;
|
|
L_0278F940: ; // 0x278f940
|
|
/* 0278F940 */ _t90 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F940 */ cpu->r[6] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0278F944 */ _t91 = cpu->r[6] + 0x00000070u;
|
|
/* 0278F944 */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
L_0278F948: ; // 0x278f948
|
|
/* 0278F948 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0278F94C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F950 */ _t92 = cpu->r[12] + 0x000023B8u;
|
|
/* 0278F950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0278F954 */ cpu->r[4] = 0x00000100u;
|
|
/* 0278F958 */ _t93 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F958 */ rbrew_write32(cpu->mem, _t93, cpu->r[25]);
|
|
/* 0278F95C */ cpu->r[5] = 0x00000001u;
|
|
/* 0278F960 */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 0278F960 */ rbrew_write32(cpu->mem, _t94, cpu->r[12]);
|
|
/* 0278F964 */ Gambit_fn_027E273C(cpu);
|
|
/* 0278F968 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F96C */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F96C */ rbrew_write32(cpu->mem, _t95, cpu->r[25]);
|
|
/* 0278F970 */ cpu->r[0] = cpu->r[0] + 0x00006BE4u;
|
|
/* 0278F974 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0278F978 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F97C */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F97C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0278F980 */ Gambit_fn_027E2C10(cpu);
|
|
/* 0278F984 */ cpu->r[4] = cpu->r[3];
|
|
/* 0278F988 */ _t97 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0278F98C */ Gambit_fn_028A99F4(cpu);
|
|
L_0278F990: ; // 0x278f990
|
|
/* 0278F990 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F994 */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
|
|
/* 0278F998 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278F99C */ cpu->r[25] = cpu->r[28] + 0x000000A0u;
|
|
/* 0278F9A0 */ Gambit_fn_02828E20(cpu);
|
|
/* 0278F9A4 */ _t98 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0278F9A8 */ _t99 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F9A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0278F9AC */ _t100 = cpu->r[8] + 0x0000008Cu;
|
|
/* 0278F9AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0278F9B0 */ cpu->ctr = cpu->r[10];
|
|
/* 0278F9B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F9B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0278F9BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F9C0 */ _t101 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 0278F9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0278F9C4 */ cpu->r[5] = cpu->r[25];
|
|
/* 0278F9C8 */ Gambit_fn_0279875C(cpu);
|
|
/* 0278F9CC */ _t102 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F9CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0278F9D0 */ _t103 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F9D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0278F9D4 */ _t104 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0278F9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0278F9D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F9DC */ cpu->r[5] = cpu->r[30];
|
|
/* 0278F9E0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F9E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 0278F9EC */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F9EC */ _t106 = _t105 & 0x00000001u;
|
|
/* 0278F9EC */ if (_t106) goto L_0278F9FC; else goto L_0278F9F0;
|
|
L_0278F9F0: ; // 0x278f9f0
|
|
/* 0278F9F0 */ _t107 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0278F9F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0278F9F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278F9F8 */ Gambit_fn_02827008(cpu);
|
|
L_0278F9FC: ; // 0x278f9fc
|
|
/* 0278F9FC */ /* nop */
|
|
/* 0278FA00 */ _t108 = cpu->r[1] + 0x00000114u;
|
|
/* 0278FA00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0278FA04 */ cpu->lr = cpu->r[0];
|
|
/* 0278FA08 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 0278FA0C */ return;
|
|
}
|
|
|
|
// fn_0278F5FC @ 0x278f5fc
|
|
void Gambit_fn_0278F5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0278F5FC: ; // 0x278f5fc
|
|
/* 0278F5FC */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 0278F5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278F5FC */ cpu->r[1] = _t0;
|
|
/* 0278F600 */ _t1 = cpu->r[1] + 0x00000114u;
|
|
/* 0278F600 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0278F604 */ /* nop */
|
|
/* 0278F608 */ cpu->r[28] = cpu->r[3];
|
|
/* 0278F60C */ cpu->r[29] = cpu->r[4];
|
|
/* 0278F60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0278F610 */ cpu->r[30] = cpu->r[6];
|
|
/* 0278F614 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0278F618 */ cpu->r[31] = 0x00000001u;
|
|
/* 0278F61C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F61C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0278F61C */ if (_t3) goto L_0278F630; else goto L_0278F620;
|
|
L_0278F620: ; // 0x278f620
|
|
/* 0278F620 */ _t4 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0278F620 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278F624 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F628 */ Gambit_fn_02827008(cpu);
|
|
/* 0278F62C */ cpu->r[31] = cpu->r[3];
|
|
L_0278F630: ; // 0x278f630
|
|
/* 0278F630 */ cpu->r[26] = 0x101D0000u;
|
|
/* 0278F634 */ _t5 = cpu->r[28] + 0x00000024u;
|
|
/* 0278F634 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0278F638 */ _t6 = cpu->r[26] + 0xFFFF9024u;
|
|
/* 0278F638 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278F638 */ cpu->r[26] = _t6;
|
|
/* 0278F63C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F63C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278F640 */ _t8 = cpu->r[5] + 0x00000024u;
|
|
/* 0278F640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278F644 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F648 */ cpu->r[4] = cpu->r[28] + 0x00000074u;
|
|
/* 0278F64C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F650 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F654 */ Gambit_fn_028C1E30(cpu);
|
|
/* 0278F658 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0278F65C */ Gambit_fn_028C274C(cpu);
|
|
/* 0278F660 */ cpu->r[25] = 0x101F0000u;
|
|
/* 0278F664 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 0278F664 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0278F668 */ cpu->r[25] = cpu->r[25] + 0x00002388u;
|
|
/* 0278F66C */ _t10 = cpu->r[25] + 0x00000004u;
|
|
/* 0278F66C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278F670 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0278F670 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 0278F674 */ _t12 = cpu->r[7] + 0x00000014u;
|
|
/* 0278F674 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278F678 */ cpu->ctr = cpu->r[9];
|
|
/* 0278F67C */ cpu->r[3] = cpu->r[25];
|
|
/* 0278F680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F684 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 0278F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278F688 */ cpu->r[25] = 0x101F0000u;
|
|
/* 0278F68C */ cpu->r[25] = cpu->r[25] + 0x000023C0u;
|
|
/* 0278F690 */ _t14 = cpu->r[25] + 0x00000004u;
|
|
/* 0278F690 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278F694 */ _t15 = cpu->r[1] + 0x000000A8u;
|
|
/* 0278F694 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0278F698 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 0278F698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278F69C */ cpu->ctr = cpu->r[5];
|
|
/* 0278F6A0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0278F6A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F6A8 */ _t17 = cpu->r[25] + 0x00000000u;
|
|
/* 0278F6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278F6AC */ cpu->r[6] = 0x10100000u;
|
|
/* 0278F6B0 */ _t18 = cpu->r[28] + 0x00000080u;
|
|
/* 0278F6B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278F6B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F6B8 */ _t19 = cpu->r[28] + 0x00000084u;
|
|
/* 0278F6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278F6BC */ cpu->r[25] = 0x10100000u;
|
|
/* 0278F6C0 */ _t20 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0278F6C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278F6C4 */ cpu->r[25] = cpu->r[25] + 0x00006A8Cu;
|
|
/* 0278F6C8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0278F6CC */ _t21 = cpu->r[1] + 0x000000A0u;
|
|
/* 0278F6CC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0278F6D0 */ cpu->r[12] = cpu->r[12] + 0x00006BD4u;
|
|
/* 0278F6D4 */ _t22 = cpu->r[6] + 0x00006BD0u;
|
|
/* 0278F6D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0278F6D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0278F6DC */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0278F6DC */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 0278F6E0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278F6E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 0278F6E4 */ _t25 = cpu->r[1] + 0x000000E0u;
|
|
/* 0278F6E4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 0278F6E8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F6EC */ _t26 = cpu->r[28] + 0x00000076u;
|
|
/* 0278F6EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0278F6F0 */ _t27 = cpu->r[1] + 0x00000060u;
|
|
/* 0278F6F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0278F6F4 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 0278F6F4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 0278F6F8 */ _t29 = cpu->r[28] + 0x00000077u;
|
|
/* 0278F6F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0278F6FC */ _t30 = cpu->r[1] + 0x00000064u;
|
|
/* 0278F6FC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 0278F700 */ _t31 = cpu->r[1] + 0x000000A4u;
|
|
/* 0278F700 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 0278F704 */ Gambit_fn_02809494(cpu);
|
|
/* 0278F708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F70C */ cpu->r[12] = 0x00000000u;
|
|
/* 0278F710 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F710 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0278F710 */ if (_t33) goto L_0278F718; else goto L_0278F714;
|
|
L_0278F714: ; // 0x278f714
|
|
/* 0278F714 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F714 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_0278F718: ; // 0x278f718
|
|
/* 0278F718 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 0278F71C */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F720 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F724 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F728 */ cpu->r[3] = cpu->r[3] + 0x00002398u;
|
|
/* 0278F72C */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F730 */ _t35 = cpu->r[1] + 0x000000B0u;
|
|
/* 0278F730 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0278F734 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F738 */ cpu->r[22] = cpu->r[3];
|
|
/* 0278F73C */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F740 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F744 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F748 */ cpu->r[3] = cpu->r[3] + 0x000023A0u;
|
|
/* 0278F74C */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F750 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F754 */ cpu->r[23] = cpu->r[3];
|
|
/* 0278F758 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F75C */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F760 */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F764 */ cpu->r[3] = cpu->r[3] + 0x000023A8u;
|
|
/* 0278F768 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F76C */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F770 */ cpu->r[24] = cpu->r[3];
|
|
/* 0278F774 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0278F778 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F77C */ cpu->r[5] = 0x00000100u;
|
|
/* 0278F780 */ cpu->r[3] = cpu->r[3] + 0x000023B0u;
|
|
/* 0278F784 */ cpu->r[6] = 0x00000001u;
|
|
/* 0278F788 */ Gambit_fn_027E27F4(cpu);
|
|
/* 0278F78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0278F790 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F790 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0278F790 */ if (_t37) goto L_0278F79C; else goto L_0278F794;
|
|
L_0278F794: ; // 0x278f794
|
|
/* 0278F794 */ _t38 = cpu->r[22] + 0x00000004u;
|
|
/* 0278F794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0278F798 */ _t39 = cpu->r[1] + 0x00000074u;
|
|
/* 0278F798 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
L_0278F79C: ; // 0x278f79c
|
|
/* 0278F79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0278F7A0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7A0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0278F7A0 */ if (_t41) goto L_0278F7AC; else goto L_0278F7A4;
|
|
L_0278F7A4: ; // 0x278f7a4
|
|
/* 0278F7A4 */ _t42 = cpu->r[23] + 0x00000004u;
|
|
/* 0278F7A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0278F7A8 */ _t43 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0278F7A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
L_0278F7AC: ; // 0x278f7ac
|
|
/* 0278F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F7B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7B0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0278F7B0 */ if (_t45) goto L_0278F7BC; else goto L_0278F7B4;
|
|
L_0278F7B4: ; // 0x278f7b4
|
|
/* 0278F7B4 */ _t46 = cpu->r[24] + 0x00000004u;
|
|
/* 0278F7B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0278F7B8 */ _t47 = cpu->r[1] + 0x00000044u;
|
|
/* 0278F7B8 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
L_0278F7BC: ; // 0x278f7bc
|
|
/* 0278F7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F7C0 */ _t48 = cpu->r[28] + 0x00000075u;
|
|
/* 0278F7C0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0278F7C4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7C4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0278F7C4 */ if (_t50) goto L_0278F7D0; else goto L_0278F7C8;
|
|
L_0278F7C8: ; // 0x278f7c8
|
|
/* 0278F7C8 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 0278F7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0278F7CC */ _t52 = cpu->r[1] + 0x00000070u;
|
|
/* 0278F7CC */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_0278F7D0: ; // 0x278f7d0
|
|
/* 0278F7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0278F7D4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7D4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0278F7D4 */ if (_t54) goto L_0278F81C; else goto L_0278F7D8;
|
|
L_0278F7D8: ; // 0x278f7d8
|
|
/* 0278F7D8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F7DC */ cpu->r[3] = 0x00000034u;
|
|
/* 0278F7E0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F7E4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F7E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 0278F7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0278F7EC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F7EC */ _t56 = _t55 & 0x00000001u;
|
|
/* 0278F7EC */ if (_t56) goto L_0278F7FC; else goto L_0278F7F0;
|
|
L_0278F7F0: ; // 0x278f7f0
|
|
/* 0278F7F0 */ cpu->r[3] = cpu->r[8];
|
|
/* 0278F7F4 */ Gambit_fn_0278C5E4(cpu);
|
|
/* 0278F7F8 */ cpu->r[8] = cpu->r[3];
|
|
L_0278F7FC: ; // 0x278f7fc
|
|
/* 0278F7FC */ _t57 = cpu->r[1] + 0x000000D4u;
|
|
/* 0278F7FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0278F800 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278F804 */ _t58 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0278F804 */ rbrew_write32(cpu->mem, _t58, cpu->r[8]);
|
|
/* 0278F808 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 0278F80C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278F810 */ _t59 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F810 */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0278F814 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0278F818 */ _t60 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F818 */ rbrew_write32(cpu->mem, _t60, cpu->r[5]);
|
|
L_0278F81C: ; // 0x278f81c
|
|
/* 0278F81C */ _t61 = cpu->r[28] + 0x00000074u;
|
|
/* 0278F81C */ cpu->r[6] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0278F820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0278F824 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F824 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0278F824 */ if (_t63) goto L_0278F870; else goto L_0278F828;
|
|
L_0278F828: ; // 0x278f828
|
|
/* 0278F828 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F82C */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0278F830 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F834 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F838 */ cpu->r[9] = cpu->r[3];
|
|
/* 0278F838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0278F83C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F83C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0278F83C */ if (_t65) goto L_0278F850; else goto L_0278F840;
|
|
L_0278F840: ; // 0x278f840
|
|
/* 0278F840 */ cpu->r[3] = cpu->r[9];
|
|
/* 0278F844 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278F848 */ Gambit_fn_0278C6DC(cpu);
|
|
/* 0278F84C */ cpu->r[9] = cpu->r[3];
|
|
L_0278F850: ; // 0x278f850
|
|
/* 0278F850 */ _t66 = cpu->r[1] + 0x000000D4u;
|
|
/* 0278F850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0278F854 */ cpu->r[3] = cpu->r[1] + 0x000000C8u;
|
|
/* 0278F858 */ _t67 = cpu->r[28] + 0x00000020u;
|
|
/* 0278F858 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 0278F85C */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 0278F860 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278F864 */ _t68 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0278F868 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0278F86C */ _t69 = cpu->r[1] + 0x000000D0u;
|
|
/* 0278F86C */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
L_0278F870: ; // 0x278f870
|
|
/* 0278F870 */ cpu->r[23] = 0x101D0000u;
|
|
/* 0278F874 */ _t70 = cpu->r[23] + 0xFFFF9A84u;
|
|
/* 0278F874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0278F874 */ cpu->r[23] = _t70;
|
|
/* 0278F878 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0278F87C */ Gambit_fn_028C2114(cpu);
|
|
/* 0278F880 */ _t71 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0278F884 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0278F888 */ _t73 = cpu->r[8] + 0x0000002Cu;
|
|
/* 0278F888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0278F88C */ cpu->ctr = cpu->r[0];
|
|
/* 0278F890 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F898 */ _t74 = cpu->r[28] + 0x00000018u;
|
|
/* 0278F898 */ rbrew_write32(cpu->mem, _t74, cpu->r[3]);
|
|
/* 0278F89C */ cpu->r[3] = cpu->r[3] + 0x000000A0u;
|
|
/* 0278F8A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8A4 */ Gambit_fn_0278D2A8(cpu);
|
|
/* 0278F8A8 */ _t75 = cpu->r[28] + 0x00000018u;
|
|
/* 0278F8A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0278F8AC */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8B0 */ Gambit_fn_0278E404(cpu);
|
|
/* 0278F8B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278F8B8 */ Gambit_fn_028B3E0C(cpu);
|
|
/* 0278F8BC */ cpu->r[7] = cpu->r[3];
|
|
/* 0278F8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0278F8C0 */ _t76 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F8C0 */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 0278F8C4 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F8C4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0278F8C4 */ if (_t78) goto L_0278F990; else goto L_0278F8C8;
|
|
L_0278F8C8: ; // 0x278f8c8
|
|
/* 0278F8C8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0278F8CC */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F8D0 */ _t79 = cpu->r[10] + 0xFFFF9030u;
|
|
/* 0278F8D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0278F8D4 */ cpu->r[3] = 0x00000040u;
|
|
/* 0278F8D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0278F8DC */ _t80 = cpu->r[7] + 0x00000018u;
|
|
/* 0278F8DC */ rbrew_write32(cpu->mem, _t80, cpu->r[10]);
|
|
/* 0278F8E0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0278F8E4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0278F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0278F8E8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F8E8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0278F8E8 */ if (_t82) goto L_0278F90C; else goto L_0278F8EC;
|
|
L_0278F8EC: ; // 0x278f8ec
|
|
/* 0278F8EC */ cpu->r[3] = cpu->r[24];
|
|
/* 0278F8F0 */ cpu->r[4] = 0x00000040u;
|
|
/* 0278F8F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 0278F8F8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F8FC */ cpu->r[0] = cpu->r[0] + 0x00006B84u;
|
|
/* 0278F900 */ cpu->r[3] = cpu->r[24] + 0x00000004u;
|
|
/* 0278F904 */ _t83 = cpu->r[24] + 0x00000000u;
|
|
/* 0278F904 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 0278F908 */ Gambit_fn_02837344(cpu);
|
|
L_0278F90C: ; // 0x278f90c
|
|
/* 0278F90C */ _t84 = cpu->r[23] + 0x00000000u;
|
|
/* 0278F90C */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0278F910 */ cpu->r[9] = cpu->r[24];
|
|
/* 0278F914 */ _t85 = cpu->r[28] + 0x0000007Cu;
|
|
/* 0278F914 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0278F918 */ cpu->r[6] = cpu->r[30];
|
|
/* 0278F91C */ _t86 = cpu->r[28] + 0x00000078u;
|
|
/* 0278F91C */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0278F920 */ cpu->r[5] = cpu->r[29];
|
|
/* 0278F924 */ _t87 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0278F928 */ Gambit_fn_028B3EAC(cpu);
|
|
/* 0278F92C */ cpu->r[10] = cpu->r[28] + 0x0000008Cu;
|
|
/* 0278F930 */ cpu->r[3] = cpu->r[10];
|
|
/* 0278F934 */ Gambit_fn_0278F5E8(cpu);
|
|
/* 0278F938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278F93C */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F93C */ _t89 = _t88 & 0x00000001u;
|
|
/* 0278F93C */ if (_t89) goto L_0278F948; else goto L_0278F940;
|
|
L_0278F940: ; // 0x278f940
|
|
/* 0278F940 */ _t90 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F940 */ cpu->r[6] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0278F944 */ _t91 = cpu->r[6] + 0x00000070u;
|
|
/* 0278F944 */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
L_0278F948: ; // 0x278f948
|
|
/* 0278F948 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0278F94C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0278F950 */ _t92 = cpu->r[12] + 0x000023B8u;
|
|
/* 0278F950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0278F954 */ cpu->r[4] = 0x00000100u;
|
|
/* 0278F958 */ _t93 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278F958 */ rbrew_write32(cpu->mem, _t93, cpu->r[25]);
|
|
/* 0278F95C */ cpu->r[5] = 0x00000001u;
|
|
/* 0278F960 */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 0278F960 */ rbrew_write32(cpu->mem, _t94, cpu->r[12]);
|
|
/* 0278F964 */ Gambit_fn_027E273C(cpu);
|
|
/* 0278F968 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278F96C */ _t95 = cpu->r[1] + 0x00000014u;
|
|
/* 0278F96C */ rbrew_write32(cpu->mem, _t95, cpu->r[25]);
|
|
/* 0278F970 */ cpu->r[0] = cpu->r[0] + 0x00006BE4u;
|
|
/* 0278F974 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0278F978 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F97C */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 0278F97C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 0278F980 */ Gambit_fn_027E2C10(cpu);
|
|
/* 0278F984 */ cpu->r[4] = cpu->r[3];
|
|
/* 0278F988 */ _t97 = cpu->r[28] + 0x00000014u;
|
|
/* 0278F988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0278F98C */ Gambit_fn_028A99F4(cpu);
|
|
L_0278F990: ; // 0x278f990
|
|
/* 0278F990 */ cpu->r[5] = 0x00000000u;
|
|
/* 0278F994 */ cpu->r[3] = cpu->r[28] + 0x000000ECu;
|
|
/* 0278F998 */ cpu->r[4] = 0x00000001u;
|
|
/* 0278F99C */ cpu->r[25] = cpu->r[28] + 0x000000A0u;
|
|
/* 0278F9A0 */ Gambit_fn_02828E20(cpu);
|
|
/* 0278F9A4 */ _t98 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0278F9A8 */ _t99 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F9A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0278F9AC */ _t100 = cpu->r[8] + 0x0000008Cu;
|
|
/* 0278F9AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0278F9B0 */ cpu->ctr = cpu->r[10];
|
|
/* 0278F9B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F9B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 0278F9BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278F9C0 */ _t101 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 0278F9C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0278F9C4 */ cpu->r[5] = cpu->r[25];
|
|
/* 0278F9C8 */ Gambit_fn_0279875C(cpu);
|
|
/* 0278F9CC */ _t102 = cpu->r[26] + 0x00000000u;
|
|
/* 0278F9CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0278F9D0 */ _t103 = cpu->r[3] + 0x00000000u;
|
|
/* 0278F9D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0278F9D4 */ _t104 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0278F9D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0278F9D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0278F9DC */ cpu->r[5] = cpu->r[30];
|
|
/* 0278F9E0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0278F9E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278F9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 0278F9EC */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278F9EC */ _t106 = _t105 & 0x00000001u;
|
|
/* 0278F9EC */ if (_t106) goto L_0278F9FC; else goto L_0278F9F0;
|
|
L_0278F9F0: ; // 0x278f9f0
|
|
/* 0278F9F0 */ _t107 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0278F9F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0278F9F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0278F9F8 */ Gambit_fn_02827008(cpu);
|
|
L_0278F9FC: ; // 0x278f9fc
|
|
/* 0278F9FC */ /* nop */
|
|
/* 0278FA00 */ _t108 = cpu->r[1] + 0x00000114u;
|
|
/* 0278FA00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0278FA04 */ cpu->lr = cpu->r[0];
|
|
/* 0278FA08 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 0278FA0C */ return;
|
|
}
|
|
|
|
// fn_0278FA10 @ 0x278fa10
|
|
void Gambit_fn_0278FA10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0278FA10: ; // 0x278fa10
|
|
/* 0278FA10 */ cpu->r[11] = cpu->r[3];
|
|
/* 0278FA14 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FA18 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FA1C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FA1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FA20 */ _t2 = cpu->r[12] + 0x00000034u;
|
|
/* 0278FA20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FA24 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FA28 */ _t3 = cpu->r[11] + 0x00000024u;
|
|
/* 0278FA28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278FA2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FA34 @ 0x278fa34
|
|
void Gambit_fn_0278FA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0278FA34: ; // 0x278fa34
|
|
/* 0278FA34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FA34 */ cpu->r[1] = _t0;
|
|
/* 0278FA38 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FA38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FA3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FA40 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FA40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278FA44 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0278FA48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278FA4C */ cpu->r[12] = cpu->r[12] + 0x101F0000u;
|
|
/* 0278FA50 */ _t3 = cpu->r[12] + 0x000065D0u;
|
|
/* 0278FA50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278FA54 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FA58 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FA58 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278FA5C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278FA60 */ _t6 = cpu->r[3] + 0xFFFF92D0u;
|
|
/* 0278FA60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FA64 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FA64 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278FA68 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FA68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278FA6C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FA70 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FA70 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0278FA74 */ Gambit_fn_027A8ECC(cpu);
|
|
/* 0278FA78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FA7C */ _t10 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FA80 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FA80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FA84 */ _t12 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0278FA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FA88 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FA8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FA90 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 0278FA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FA98 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FA98 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278FA98 */ if (_t15) goto L_0278FADC; else goto L_0278FA9C;
|
|
L_0278FA9C: ; // 0x278fa9c
|
|
/* 0278FA9C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0278FA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FAA0 */ _t16 = cpu->r[31] + 0x00000028u;
|
|
/* 0278FAA0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 0278FAA4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAA4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278FAA4 */ if (_t18) goto L_0278FAA8; else goto L_0278FADC;
|
|
L_0278FAA8: ; // 0x278faa8
|
|
/* 0278FAA8 */ Gambit_fn_027FA974(cpu);
|
|
/* 0278FAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FAB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAB0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278FAB0 */ if (_t20) goto L_0278FADC; else goto L_0278FAB4;
|
|
L_0278FAB4: ; // 0x278fab4
|
|
/* 0278FAB4 */ _t21 = cpu->r[3] + 0x00000070u;
|
|
/* 0278FAB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FAB8 */ _t22 = cpu->r[12] + 0x000000CCu;
|
|
/* 0278FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FABC */ cpu->ctr = cpu->r[0];
|
|
/* 0278FAC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FAC8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAC8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278FAC8 */ if (_t24) goto L_0278FADC; else goto L_0278FACC;
|
|
L_0278FACC: ; // 0x278facc
|
|
/* 0278FACC */ _t25 = cpu->r[3] + 0x000000E0u;
|
|
/* 0278FACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278FAD0 */ _t26 = cpu->r[11] + 0x000000D4u;
|
|
/* 0278FAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278FAD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FADC: ; // 0x278fadc
|
|
/* 0278FADC */ _t27 = cpu->r[31] + 0x00000014u;
|
|
/* 0278FADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278FAE0 */ Gambit_fn_028A98AC(cpu);
|
|
/* 0278FAE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FAE8 */ _t28 = cpu->r[3] + 0xFFFF9A84u;
|
|
/* 0278FAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278FAEC */ Gambit_fn_028C25F8(cpu);
|
|
/* 0278FAF0 */ cpu->r[3] = 0x00000006u;
|
|
/* 0278FAF4 */ Gambit_fn_02C31D94(cpu);
|
|
/* 0278FAF8 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278FAFC */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FAFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278FB00 */ cpu->lr = cpu->r[0];
|
|
/* 0278FB04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FB08 */ return;
|
|
}
|
|
|
|
// fn_0278FB1C @ 0x278fb1c
|
|
void Gambit_fn_0278FB1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FB1C: ; // 0x278fb1c
|
|
/* 0278FB1C */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FB20 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FB20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FB24 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FB24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FB28 */ _t2 = cpu->r[12] + 0x00000044u;
|
|
/* 0278FB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FB2C */ cpu->ctr = cpu->r[0];
|
|
/* 0278FB30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FB34 @ 0x278fb34
|
|
void Gambit_fn_0278FB34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FB34: ; // 0x278fb34
|
|
/* 0278FB34 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FB38 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FB38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FB3C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FB3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FB40 */ _t2 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0278FB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FB44 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FB48 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FB4C @ 0x278fb4c
|
|
void Gambit_fn_0278FB4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FB4C: ; // 0x278fb4c
|
|
/* 0278FB4C */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FB50 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FB50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FB54 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FB54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FB58 */ _t2 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0278FB58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FB5C */ cpu->ctr = cpu->r[0];
|
|
/* 0278FB60 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FB64 @ 0x278fb64
|
|
void Gambit_fn_0278FB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0278FB64: ; // 0x278fb64
|
|
/* 0278FB64 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FB68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278FB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FB68 */ cpu->r[1] = _t0;
|
|
/* 0278FB6C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278FB70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278FB74 */ cpu->r[31] = 0x00000000u;
|
|
/* 0278FB78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FB7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278FB80 */ Gambit_fn_027FA974(cpu);
|
|
/* 0278FB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FB88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FB88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278FB88 */ if (_t5) goto L_0278FBB8; else goto L_0278FB8C;
|
|
L_0278FB8C: ; // 0x278fb8c
|
|
/* 0278FB8C */ _t6 = cpu->r[3] + 0x00000070u;
|
|
/* 0278FB8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FB90 */ _t7 = cpu->r[12] + 0x000000CCu;
|
|
/* 0278FB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FB94 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FB98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FBA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FBA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FBA0 */ if (_t9) goto L_0278FBB8; else goto L_0278FBA4;
|
|
L_0278FBA4: ; // 0x278fba4
|
|
/* 0278FBA4 */ _t10 = cpu->r[3] + 0x000000E0u;
|
|
/* 0278FBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FBA8 */ _t11 = cpu->r[10] + 0x000000CCu;
|
|
/* 0278FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FBAC */ cpu->ctr = cpu->r[0];
|
|
/* 0278FBB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FBB4 */ cpu->r[31] = cpu->r[3];
|
|
L_0278FBB8: ; // 0x278fbb8
|
|
/* 0278FBB8 */ _t12 = cpu->r[30] + 0x00000028u;
|
|
/* 0278FBB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0278FBBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FBBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FBC0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FBC4 */ cpu->lr = cpu->r[0];
|
|
/* 0278FBC8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FBC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FBCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278FBD0 */ return;
|
|
}
|
|
|
|
// fn_0278FB68 @ 0x278fb68
|
|
void Gambit_fn_0278FB68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0278FB68: ; // 0x278fb68
|
|
/* 0278FB68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278FB68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FB68 */ cpu->r[1] = _t0;
|
|
/* 0278FB6C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FB6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278FB70 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FB70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278FB74 */ cpu->r[31] = 0x00000000u;
|
|
/* 0278FB78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FB7C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FB7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278FB80 */ Gambit_fn_027FA974(cpu);
|
|
/* 0278FB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FB88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FB88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0278FB88 */ if (_t5) goto L_0278FBB8; else goto L_0278FB8C;
|
|
L_0278FB8C: ; // 0x278fb8c
|
|
/* 0278FB8C */ _t6 = cpu->r[3] + 0x00000070u;
|
|
/* 0278FB8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FB90 */ _t7 = cpu->r[12] + 0x000000CCu;
|
|
/* 0278FB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FB94 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FB98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FBA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FBA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FBA0 */ if (_t9) goto L_0278FBB8; else goto L_0278FBA4;
|
|
L_0278FBA4: ; // 0x278fba4
|
|
/* 0278FBA4 */ _t10 = cpu->r[3] + 0x000000E0u;
|
|
/* 0278FBA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FBA8 */ _t11 = cpu->r[10] + 0x000000CCu;
|
|
/* 0278FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FBAC */ cpu->ctr = cpu->r[0];
|
|
/* 0278FBB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FBB4 */ cpu->r[31] = cpu->r[3];
|
|
L_0278FBB8: ; // 0x278fbb8
|
|
/* 0278FBB8 */ _t12 = cpu->r[30] + 0x00000028u;
|
|
/* 0278FBB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 0278FBBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FBBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FBC0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FBC4 */ cpu->lr = cpu->r[0];
|
|
/* 0278FBC8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FBC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FBCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278FBD0 */ return;
|
|
}
|
|
|
|
// fn_0278FBD4 @ 0x278fbd4
|
|
void Gambit_fn_0278FBD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FBD4: ; // 0x278fbd4
|
|
/* 0278FBD4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FBD8 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FBD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FBDC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FBDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FBE0 */ _t2 = cpu->r[12] + 0x00000054u;
|
|
/* 0278FBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FBE4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FBE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FBEC @ 0x278fbec
|
|
void Gambit_fn_0278FBEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0278FBEC: ; // 0x278fbec
|
|
/* 0278FBEC */ cpu->r[0] = cpu->lr;
|
|
/* 0278FBF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278FBF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FBF0 */ cpu->r[1] = _t0;
|
|
/* 0278FBF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FBF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FBF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FBFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FBFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278FC00 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278FC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278FC04 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0278FC08 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0278FC0C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278FC10 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278FC10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278FC14 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278FC18 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278FC18 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0278FC1C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FC20 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FC24 */ cpu->lr = cpu->r[0];
|
|
/* 0278FC28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC2C */ return;
|
|
}
|
|
|
|
// fn_0278FBF0 @ 0x278fbf0
|
|
void Gambit_fn_0278FBF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0278FBF0: ; // 0x278fbf0
|
|
/* 0278FBF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278FBF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FBF0 */ cpu->r[1] = _t0;
|
|
/* 0278FBF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FBF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FBF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FBFC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FBFC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278FC00 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0278FC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278FC04 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0278FC08 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0278FC0C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0278FC10 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278FC10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278FC14 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0278FC18 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0278FC18 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0278FC1C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FC20 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FC24 */ cpu->lr = cpu->r[0];
|
|
/* 0278FC28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC2C */ return;
|
|
}
|
|
|
|
// fn_0278FC30 @ 0x278fc30
|
|
void Gambit_fn_0278FC30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0278FC30: ; // 0x278fc30
|
|
/* 0278FC30 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FC34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FC34 */ cpu->r[1] = _t0;
|
|
/* 0278FC38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC38 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278FC40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC40 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FC44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FC48 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FC48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278FC4C */ cpu->r[29] = cpu->r[31] + 0x0000008Cu;
|
|
/* 0278FC50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FC54 */ Gambit_fn_0278F5E8(cpu);
|
|
/* 0278FC58 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FC5C */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FC60 */ Gambit_fn_0278FBEC(cpu);
|
|
/* 0278FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278FC68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FC68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278FC68 */ if (_t6) goto L_0278FC6C; else goto L_0278FC74;
|
|
L_0278FC6C: ; // 0x278fc6c
|
|
/* 0278FC6C */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 0278FC6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FC70 */ _t8 = cpu->r[12] + 0x00000070u;
|
|
/* 0278FC70 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
L_0278FC74: ; // 0x278fc74
|
|
/* 0278FC74 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278FC78 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FC7C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FC80 */ cpu->lr = cpu->r[0];
|
|
/* 0278FC84 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FC88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FC8C */ return;
|
|
}
|
|
|
|
// fn_0278FC34 @ 0x278fc34
|
|
void Gambit_fn_0278FC34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0278FC34: ; // 0x278fc34
|
|
/* 0278FC34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FC34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FC34 */ cpu->r[1] = _t0;
|
|
/* 0278FC38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC38 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FC3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278FC40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC40 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FC44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FC48 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FC48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0278FC4C */ cpu->r[29] = cpu->r[31] + 0x0000008Cu;
|
|
/* 0278FC50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FC54 */ Gambit_fn_0278F5E8(cpu);
|
|
/* 0278FC58 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FC5C */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FC60 */ Gambit_fn_0278FBEC(cpu);
|
|
/* 0278FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278FC68 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FC68 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0278FC68 */ if (_t6) goto L_0278FC6C; else goto L_0278FC74;
|
|
L_0278FC6C: ; // 0x278fc6c
|
|
/* 0278FC6C */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 0278FC6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FC70 */ _t8 = cpu->r[12] + 0x00000070u;
|
|
/* 0278FC70 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
L_0278FC74: ; // 0x278fc74
|
|
/* 0278FC74 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278FC78 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FC7C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FC7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FC80 */ cpu->lr = cpu->r[0];
|
|
/* 0278FC84 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FC84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FC88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FC8C */ return;
|
|
}
|
|
|
|
// fn_0278FC94 @ 0x278fc94
|
|
void Gambit_fn_0278FC94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0278FC94: ; // 0x278fc94
|
|
/* 0278FC94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0278FC94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FC94 */ cpu->r[1] = _t0;
|
|
/* 0278FC98 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FC98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278FC9C */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FCA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FCA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0278FCA4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FCA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FCA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0278FCAC */ _t4 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FCAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0278FCB0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FCB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278FCB4 */ _t6 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0278FCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FCB8 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FCBC */ cpu->r[31] = cpu->r[4];
|
|
/* 0278FCC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0278FCC8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0278FCCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FCCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0278FCCC */ if (_t8) goto L_0278FCE0; else goto L_0278FCD0;
|
|
L_0278FCD0: ; // 0x278fcd0
|
|
/* 0278FCD0 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFF8u;
|
|
/* 0278FCD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0278FCD8 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0278FCD8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0278FCD8 */ if (_t10) goto L_0278FCE0; else goto L_0278FCDC;
|
|
L_0278FCDC: ; // 0x278fcdc
|
|
/* 0278FCDC */ cpu->r[0] = 0x00000001u;
|
|
L_0278FCE0: ; // 0x278fce0
|
|
/* 0278FCE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0278FCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278FCE4 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0278FCE8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FCE8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FCE8 */ if (_t12) goto L_0278FCEC; else goto L_0278FCF0;
|
|
L_0278FCEC: ; // 0x278fcec
|
|
/* 0278FCEC */ cpu->r[4] = cpu->r[3];
|
|
L_0278FCF0: ; // 0x278fcf0
|
|
/* 0278FCF0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FCF4 */ _t13 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 0278FCF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FCF8 */ cpu->r[5] = cpu->r[30] + 0x000000A0u;
|
|
/* 0278FCFC */ Gambit_fn_02798948(cpu);
|
|
/* 0278FD00 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FD00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FD04 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FD04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FD08 */ cpu->lr = cpu->r[0];
|
|
/* 0278FD0C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FD0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0278FD10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0278FD14 */ return;
|
|
}
|
|
|
|
// fn_0278FD18 @ 0x278fd18
|
|
void Gambit_fn_0278FD18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FD18: ; // 0x278fd18
|
|
/* 0278FD18 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FD1C */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FD1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FD20 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FD20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FD24 */ _t2 = cpu->r[12] + 0x00000074u;
|
|
/* 0278FD24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FD28 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FD2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FD30 @ 0x278fd30
|
|
void Gambit_fn_0278FD30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FD30: ; // 0x278fd30
|
|
/* 0278FD30 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FD34 */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FD34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FD38 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FD38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FD3C */ _t2 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0278FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FD40 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FD44 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FD48 @ 0x278fd48
|
|
void Gambit_fn_0278FD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0278FD48: ; // 0x278fd48
|
|
/* 0278FD48 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FD4C */ _t0 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FD4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0278FD50 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FD50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0278FD54 */ _t2 = cpu->r[12] + 0x00000084u;
|
|
/* 0278FD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0278FD58 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FD5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0278FD60 @ 0x278fd60
|
|
void Gambit_fn_0278FD60(CPUState* cpu) {
|
|
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_0278FD60: ; // 0x278fd60
|
|
/* 0278FD60 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FD64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FD64 */ cpu->r[1] = _t0;
|
|
/* 0278FD68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FD68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FD6C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278FD70 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FD70 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278FD74 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FD74 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0278FD78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278FD7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FD7C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0278FD80 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FD80 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FD84 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FD84 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278FD84 */ if (_t7) goto L_0278FDDC; else goto L_0278FD88;
|
|
L_0278FD88: ; // 0x278fd88
|
|
/* 0278FD88 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278FD8C */ cpu->r[0] = cpu->r[0] + 0x00006D00u;
|
|
/* 0278FD90 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278FD94 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278FD94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278FD98 */ _t9 = cpu->r[12] + 0xFFFF902Cu;
|
|
/* 0278FD98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278FD98 */ cpu->r[12] = _t9;
|
|
/* 0278FD9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0278FDA0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FDA0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278FDA0 */ if (_t11) goto L_0278FDA4; else goto L_0278FDC0;
|
|
L_0278FDA4: ; // 0x278fda4
|
|
/* 0278FDA4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0278FDA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0278FDAC */ _t12 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278FDAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FDB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278FDB4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0278FDB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0278FDB8 */ Gambit_fn_0278F4D4(cpu);
|
|
/* 0278FDBC */ _t14 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278FDBC */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_0278FDC0: ; // 0x278fdc0
|
|
/* 0278FDC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278FDC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278FDC8 */ Gambit_fn_02821E68(cpu);
|
|
/* 0278FDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278FDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278FDD0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FDD0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278FDD0 */ if (_t16) goto L_0278FDDC; else goto L_0278FDD4;
|
|
L_0278FDD4: ; // 0x278fdd4
|
|
/* 0278FDD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278FDD8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278FDDC: ; // 0x278fddc
|
|
/* 0278FDDC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FDDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278FDE0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FDE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FDE4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FDE8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FDE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FDEC */ cpu->lr = cpu->r[0];
|
|
/* 0278FDF0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FDF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FDF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FDF8 */ return;
|
|
}
|
|
|
|
// fn_0278FD64 @ 0x278fd64
|
|
void Gambit_fn_0278FD64(CPUState* cpu) {
|
|
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_0278FD64: ; // 0x278fd64
|
|
/* 0278FD64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FD64 */ cpu->r[1] = _t0;
|
|
/* 0278FD68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FD68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FD6C */ cpu->r[31] = cpu->r[4];
|
|
/* 0278FD70 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FD70 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0278FD74 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FD74 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0278FD78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0278FD7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FD7C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0278FD80 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FD80 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FD84 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FD84 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0278FD84 */ if (_t7) goto L_0278FDDC; else goto L_0278FD88;
|
|
L_0278FD88: ; // 0x278fd88
|
|
/* 0278FD88 */ cpu->r[0] = 0x10100000u;
|
|
/* 0278FD8C */ cpu->r[0] = cpu->r[0] + 0x00006D00u;
|
|
/* 0278FD90 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0278FD94 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0278FD94 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0278FD98 */ _t9 = cpu->r[12] + 0xFFFF902Cu;
|
|
/* 0278FD98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0278FD98 */ cpu->r[12] = _t9;
|
|
/* 0278FD9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0278FDA0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FDA0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0278FDA0 */ if (_t11) goto L_0278FDA4; else goto L_0278FDC0;
|
|
L_0278FDA4: ; // 0x278fda4
|
|
/* 0278FDA4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0278FDA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0278FDAC */ _t12 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278FDAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FDB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0278FDB4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0278FDB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0278FDB8 */ Gambit_fn_0278F4D4(cpu);
|
|
/* 0278FDBC */ _t14 = cpu->r[29] + 0xFFFF9028u;
|
|
/* 0278FDBC */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_0278FDC0: ; // 0x278fdc0
|
|
/* 0278FDC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278FDC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0278FDC8 */ Gambit_fn_02821E68(cpu);
|
|
/* 0278FDCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0278FDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278FDD0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FDD0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278FDD0 */ if (_t16) goto L_0278FDDC; else goto L_0278FDD4;
|
|
L_0278FDD4: ; // 0x278fdd4
|
|
/* 0278FDD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0278FDD8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0278FDDC: ; // 0x278fddc
|
|
/* 0278FDDC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FDDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278FDE0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FDE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FDE4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FDE8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FDE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FDEC */ cpu->lr = cpu->r[0];
|
|
/* 0278FDF0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FDF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FDF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FDF8 */ return;
|
|
}
|
|
|
|
// fn_0278FDFC @ 0x278fdfc
|
|
void Gambit_fn_0278FDFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0278FDFC: ; // 0x278fdfc
|
|
/* 0278FDFC */ cpu->r[0] = cpu->lr;
|
|
/* 0278FE00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FE00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FE00 */ cpu->r[1] = _t0;
|
|
/* 0278FE04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FE04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FE08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FE0C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FE0C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FE10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FE10 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FE14 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FE14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FE18 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FE18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FE1C */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FE20 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FE20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FE24 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FE28 */ cpu->r[29] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FE2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FE30 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FE34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FE34 */ if (_t9) goto L_0278FE9C; else goto L_0278FE38;
|
|
L_0278FE38: ; // 0x278fe38
|
|
/* 0278FE38 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FE38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278FE40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FE40 */ if (_t12) goto L_0278FE88; else goto L_0278FE44;
|
|
L_0278FE44: ; // 0x278fe44
|
|
/* 0278FE44 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FE44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FE48 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0278FE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FE4C */ cpu->ctr = cpu->r[0];
|
|
/* 0278FE50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FE54 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FE60 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE60 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278FE60 */ if (_t16) goto L_0278FE88; else goto L_0278FE64;
|
|
L_0278FE64: ; // 0x278fe64
|
|
/* 0278FE64 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278FE68 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FE68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FE6C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FE70 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FE74 */ cpu->lr = cpu->r[0];
|
|
/* 0278FE78 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FE7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FE80 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278FE84 */ return;
|
|
L_0278FE88: ; // 0x278fe88
|
|
/* 0278FE88 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FE8C */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 0278FE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FE90 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 0278FE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FE98 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE98 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278FE98 */ if (_t24) goto L_0278FE9C; else goto L_0278FE38;
|
|
L_0278FE9C: ; // 0x278fe9c
|
|
/* 0278FE9C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278FEA0 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FEA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278FEA4 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278FEA8 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FEA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278FEAC */ cpu->lr = cpu->r[0];
|
|
/* 0278FEB0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278FEB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FEB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278FEBC */ return;
|
|
}
|
|
|
|
// fn_0278FE00 @ 0x278fe00
|
|
void Gambit_fn_0278FE00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0278FE00: ; // 0x278fe00
|
|
/* 0278FE00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FE00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FE00 */ cpu->r[1] = _t0;
|
|
/* 0278FE04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FE04 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FE08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE08 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FE0C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FE0C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FE10 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FE10 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FE14 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FE14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FE18 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FE18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FE1C */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FE20 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FE20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FE24 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FE28 */ cpu->r[29] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FE2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FE30 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FE34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FE34 */ if (_t9) goto L_0278FE9C; else goto L_0278FE38;
|
|
L_0278FE38: ; // 0x278fe38
|
|
/* 0278FE38 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FE38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0278FE40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FE40 */ if (_t12) goto L_0278FE88; else goto L_0278FE44;
|
|
L_0278FE44: ; // 0x278fe44
|
|
/* 0278FE44 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FE44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FE48 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0278FE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FE4C */ cpu->ctr = cpu->r[0];
|
|
/* 0278FE50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FE54 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FE60 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE60 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0278FE60 */ if (_t16) goto L_0278FE88; else goto L_0278FE64;
|
|
L_0278FE64: ; // 0x278fe64
|
|
/* 0278FE64 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0278FE68 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FE68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FE6C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FE70 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FE74 */ cpu->lr = cpu->r[0];
|
|
/* 0278FE78 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FE78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FE7C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FE80 */ cpu->r[3] = 0x00000001u;
|
|
/* 0278FE84 */ return;
|
|
L_0278FE88: ; // 0x278fe88
|
|
/* 0278FE88 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FE8C */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 0278FE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FE90 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 0278FE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FE98 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FE98 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278FE98 */ if (_t24) goto L_0278FE9C; else goto L_0278FE38;
|
|
L_0278FE9C: ; // 0x278fe9c
|
|
/* 0278FE9C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FE9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278FEA0 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FEA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278FEA4 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278FEA8 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FEA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278FEAC */ cpu->lr = cpu->r[0];
|
|
/* 0278FEB0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278FEB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FEB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0278FEBC */ return;
|
|
}
|
|
|
|
// fn_0278FEC0 @ 0x278fec0
|
|
void Gambit_fn_0278FEC0(CPUState* cpu) {
|
|
uint32_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_0278FEC0: ; // 0x278fec0
|
|
/* 0278FEC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FEC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FEC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FEC4 */ cpu->r[1] = _t0;
|
|
/* 0278FEC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FEC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FECC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FECC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FED0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FED4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FED4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FED8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FED8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FEDC */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FEE0 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FEE4 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FEE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FEE8 */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FEEC */ cpu->r[29] = cpu->r[7] - cpu->r[30];
|
|
/* 0278FEF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FEF4 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FEF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FEF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FEF8 */ if (_t9) goto L_0278FF34; else goto L_0278FEFC;
|
|
L_0278FEFC: ; // 0x278fefc
|
|
/* 0278FEFC */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FEFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FF04 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF04 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FF04 */ if (_t12) goto L_0278FF20; else goto L_0278FF08;
|
|
L_0278FF08: ; // 0x278ff08
|
|
/* 0278FF08 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FF08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FF0C */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 0278FF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FF14 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FF18 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FF20: ; // 0x278ff20
|
|
/* 0278FF20 */ cpu->r[8] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FF24 */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 0278FF24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FF28 */ cpu->r[29] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FF30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278FF30 */ if (_t17) goto L_0278FF34; else goto L_0278FEFC;
|
|
L_0278FF34: ; // 0x278ff34
|
|
/* 0278FF34 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FF34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FF38 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FF38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FF3C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FF40 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FF44 */ cpu->lr = cpu->r[0];
|
|
/* 0278FF48 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FF50 */ return;
|
|
}
|
|
|
|
// fn_0278FEC4 @ 0x278fec4
|
|
void Gambit_fn_0278FEC4(CPUState* cpu) {
|
|
uint32_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_0278FEC4: ; // 0x278fec4
|
|
/* 0278FEC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FEC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FEC4 */ cpu->r[1] = _t0;
|
|
/* 0278FEC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FEC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FECC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FECC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FED0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FED4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FED4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FED8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FED8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FEDC */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FEE0 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FEE4 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FEE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FEE8 */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FEEC */ cpu->r[29] = cpu->r[7] - cpu->r[30];
|
|
/* 0278FEF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FEF4 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FEF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FEF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FEF8 */ if (_t9) goto L_0278FF34; else goto L_0278FEFC;
|
|
L_0278FEFC: ; // 0x278fefc
|
|
/* 0278FEFC */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FEFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FF04 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF04 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FF04 */ if (_t12) goto L_0278FF20; else goto L_0278FF08;
|
|
L_0278FF08: ; // 0x278ff08
|
|
/* 0278FF08 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FF08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FF0C */ _t14 = cpu->r[12] + 0x00000014u;
|
|
/* 0278FF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FF14 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FF18 */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FF20: ; // 0x278ff20
|
|
/* 0278FF20 */ cpu->r[8] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FF24 */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 0278FF24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FF28 */ cpu->r[29] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FF30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278FF30 */ if (_t17) goto L_0278FF34; else goto L_0278FEFC;
|
|
L_0278FF34: ; // 0x278ff34
|
|
/* 0278FF34 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FF34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FF38 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FF38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FF3C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FF40 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FF44 */ cpu->lr = cpu->r[0];
|
|
/* 0278FF48 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FF4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FF50 */ return;
|
|
}
|
|
|
|
// fn_0278FF54 @ 0x278ff54
|
|
void Gambit_fn_0278FF54(CPUState* cpu) {
|
|
uint32_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_0278FF54: ; // 0x278ff54
|
|
/* 0278FF54 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FF58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FF58 */ cpu->r[1] = _t0;
|
|
/* 0278FF5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FF60 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FF60 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FF64 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FF64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FF68 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FF68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FF6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FF6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FF70 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FF70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FF74 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FF78 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FF78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FF7C */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FF80 */ cpu->r[29] = cpu->r[7] - cpu->r[30];
|
|
/* 0278FF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FF88 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FF8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FF8C */ if (_t9) goto L_0278FFC8; else goto L_0278FF90;
|
|
L_0278FF90: ; // 0x278ff90
|
|
/* 0278FF90 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FF90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FF98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FF98 */ if (_t12) goto L_0278FFB4; else goto L_0278FF9C;
|
|
L_0278FF9C: ; // 0x278ff9c
|
|
/* 0278FF9C */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FFA0 */ _t14 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0278FFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FFA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FFA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FFAC */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FFB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FFB4: ; // 0x278ffb4
|
|
/* 0278FFB4 */ cpu->r[8] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FFB8 */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 0278FFB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FFBC */ cpu->r[29] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FFC4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FFC4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278FFC4 */ if (_t17) goto L_0278FFC8; else goto L_0278FF90;
|
|
L_0278FFC8: ; // 0x278ffc8
|
|
/* 0278FFC8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FFC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FFCC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FFCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FFD0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FFD4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FFD8 */ cpu->lr = cpu->r[0];
|
|
/* 0278FFDC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FFE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FFE4 */ return;
|
|
}
|
|
|
|
// fn_0278FF58 @ 0x278ff58
|
|
void Gambit_fn_0278FF58(CPUState* cpu) {
|
|
uint32_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_0278FF58: ; // 0x278ff58
|
|
/* 0278FF58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FF58 */ cpu->r[1] = _t0;
|
|
/* 0278FF5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0278FF60 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FF60 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0278FF64 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FF64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0278FF68 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FF68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0278FF6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FF6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0278FF70 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0278FF70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FF74 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0278FF78 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0278FF78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0278FF7C */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 0278FF80 */ cpu->r[29] = cpu->r[7] - cpu->r[30];
|
|
/* 0278FF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FF88 */ cpu->r[28] = cpu->r[4];
|
|
/* 0278FF8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0278FF8C */ if (_t9) goto L_0278FFC8; else goto L_0278FF90;
|
|
L_0278FF90: ; // 0x278ff90
|
|
/* 0278FF90 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0278FF90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0278FF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FF98 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FF98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0278FF98 */ if (_t12) goto L_0278FFB4; else goto L_0278FF9C;
|
|
L_0278FF9C: ; // 0x278ff9c
|
|
/* 0278FF9C */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0278FF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FFA0 */ _t14 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0278FFA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0278FFA4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FFA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0278FFAC */ cpu->r[4] = cpu->r[28];
|
|
/* 0278FFB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FFB4: ; // 0x278ffb4
|
|
/* 0278FFB4 */ cpu->r[8] = cpu->r[29] + cpu->r[30];
|
|
/* 0278FFB8 */ _t15 = cpu->r[8] + 0x00000004u;
|
|
/* 0278FFB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0278FFBC */ cpu->r[29] = cpu->r[10] - cpu->r[30];
|
|
/* 0278FFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0278FFC4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FFC4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0278FFC4 */ if (_t17) goto L_0278FFC8; else goto L_0278FF90;
|
|
L_0278FFC8: ; // 0x278ffc8
|
|
/* 0278FFC8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FFC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0278FFCC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FFCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0278FFD0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0278FFD4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FFD8 */ cpu->lr = cpu->r[0];
|
|
/* 0278FFDC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FFE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FFE4 */ return;
|
|
}
|
|
|
|
// fn_0278FFE8 @ 0x278ffe8
|
|
void Gambit_fn_0278FFE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0278FFE8: ; // 0x278ffe8
|
|
/* 0278FFE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FFEC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0278FFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FFEC */ cpu->r[1] = _t0;
|
|
/* 0278FFF0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0278FFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278FFF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FFF8 */ cpu->r[3] = cpu->r[30] + 0x0000004Cu;
|
|
/* 0278FFFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FFFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02790000 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02790000 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790004 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02790004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02790008 */ Gambit_fn_028291AC(cpu);
|
|
/* 0279000C */ cpu->r[3] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02790010 */ cpu->r[4] = cpu->r[30] + 0x000000B8u;
|
|
/* 02790014 */ Gambit_fn_02829124(cpu);
|
|
/* 02790018 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279001C */ _t5 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0279001C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790020 */ cpu->r[11] = 0x00000000u;
|
|
/* 02790024 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02790024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02790028 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790028 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0279002C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0279002C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02790030 */ _t9 = cpu->r[10] + 0x00000094u;
|
|
/* 02790030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790034 */ cpu->ctr = cpu->r[0];
|
|
/* 02790038 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0279003C */ cpu->r[4] = 0x10100000u;
|
|
/* 02790040 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02790040 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02790044 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790048 */ cpu->r[4] = cpu->r[4] + 0x00006BF4u;
|
|
/* 0279004C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0279004C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02790050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790054 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02790058 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0279005C */ cpu->r[5] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02790060 */ Gambit_fn_028298E4(cpu);
|
|
/* 02790064 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02790064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790068 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02790068 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0279006C */ cpu->lr = cpu->r[0];
|
|
/* 02790070 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02790074 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02790078 */ return;
|
|
}
|
|
|
|
// fn_0278FFEC @ 0x278ffec
|
|
void Gambit_fn_0278FFEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0278FFEC: ; // 0x278ffec
|
|
/* 0278FFEC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0278FFEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FFEC */ cpu->r[1] = _t0;
|
|
/* 0278FFF0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0278FFF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0278FFF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0278FFF8 */ cpu->r[3] = cpu->r[30] + 0x0000004Cu;
|
|
/* 0278FFFC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FFFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02790000 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02790000 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790004 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02790004 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02790008 */ Gambit_fn_028291AC(cpu);
|
|
/* 0279000C */ cpu->r[3] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02790010 */ cpu->r[4] = cpu->r[30] + 0x000000B8u;
|
|
/* 02790014 */ Gambit_fn_02829124(cpu);
|
|
/* 02790018 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279001C */ _t5 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0279001C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790020 */ cpu->r[11] = 0x00000000u;
|
|
/* 02790024 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02790024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02790028 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790028 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0279002C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0279002C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02790030 */ _t9 = cpu->r[10] + 0x00000094u;
|
|
/* 02790030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790034 */ cpu->ctr = cpu->r[0];
|
|
/* 02790038 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0279003C */ cpu->r[4] = 0x10100000u;
|
|
/* 02790040 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02790040 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02790044 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790048 */ cpu->r[4] = cpu->r[4] + 0x00006BF4u;
|
|
/* 0279004C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0279004C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02790050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790054 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02790058 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 0279005C */ cpu->r[5] = cpu->r[30] + 0x0000004Cu;
|
|
/* 02790060 */ Gambit_fn_028298E4(cpu);
|
|
/* 02790064 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02790064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790068 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02790068 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0279006C */ cpu->lr = cpu->r[0];
|
|
/* 02790070 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790070 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02790074 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02790078 */ return;
|
|
}
|
|
|
|
// fn_0279007C @ 0x279007c
|
|
void Gambit_fn_0279007C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0279007C: ; // 0x279007c
|
|
/* 0279007C */ cpu->r[0] = cpu->lr;
|
|
/* 02790080 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02790084 */ cpu->r[11] = 0x10100000u;
|
|
/* 02790088 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0279008C */ cpu->r[10] = cpu->r[10] + 0x00002388u;
|
|
/* 02790090 */ cpu->r[11] = cpu->r[11] + 0x00006C98u;
|
|
/* 02790094 */ cpu->r[9] = cpu->r[9] + 0x00002390u;
|
|
/* 02790098 */ cpu->r[12] = 0x10100000u;
|
|
/* 0279009C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0279009C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027900A0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027900A4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027900A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027900A4 */ cpu->r[1] = _t1;
|
|
/* 027900A8 */ cpu->r[0] = cpu->r[0] + 0x00006A8Cu;
|
|
/* 027900AC */ cpu->r[8] = 0x101F0000u;
|
|
/* 027900B0 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 027900B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027900B4 */ cpu->r[12] = cpu->r[12] + 0x00006C28u;
|
|
/* 027900B8 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 027900B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027900BC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027900C0 */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 027900C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027900C4 */ cpu->r[11] = cpu->r[11] + 0x00002398u;
|
|
/* 027900C8 */ _t5 = cpu->r[9] + 0x00000000u;
|
|
/* 027900C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 027900CC */ cpu->r[9] = 0x10100000u;
|
|
/* 027900D0 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 027900D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027900D4 */ cpu->r[9] = cpu->r[9] + 0x00006CB0u;
|
|
/* 027900D8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027900DC */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 027900DC */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 027900E0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027900E4 */ cpu->r[9] = 0x10100000u;
|
|
/* 027900E8 */ cpu->r[10] = 0x10100000u;
|
|
/* 027900EC */ cpu->r[11] = cpu->r[11] + 0x000023B8u;
|
|
/* 027900F0 */ cpu->r[9] = cpu->r[9] + 0x00006C3Cu;
|
|
/* 027900F4 */ cpu->r[12] = cpu->r[12] + 0x000023A0u;
|
|
/* 027900F8 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 027900F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027900FC */ cpu->r[10] = cpu->r[10] + 0x00006CD0u;
|
|
/* 02790100 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02790100 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02790104 */ cpu->r[8] = cpu->r[8] + 0x000023A8u;
|
|
/* 02790108 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02790108 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0279010C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02790110 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02790110 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02790114 */ cpu->r[12] = cpu->r[12] + 0x000023B0u;
|
|
/* 02790118 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0279011C */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 0279011C */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02790120 */ cpu->r[10] = cpu->r[10] + 0x000023C0u;
|
|
/* 02790124 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02790124 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02790128 */ cpu->r[11] = 0x10100000u;
|
|
/* 0279012C */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 0279012C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02790130 */ cpu->r[0] = 0x10100000u;
|
|
/* 02790134 */ cpu->r[11] = cpu->r[11] + 0x00006C50u;
|
|
/* 02790138 */ cpu->r[0] = cpu->r[0] + 0x00006C00u;
|
|
/* 0279013C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0279013C */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02790140 */ cpu->r[11] = 0x10100000u;
|
|
/* 02790144 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02790148 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02790148 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0279014C */ cpu->r[11] = cpu->r[11] + 0x00006C74u;
|
|
/* 02790150 */ cpu->r[3] = cpu->r[3] + 0x000023C8u;
|
|
/* 02790154 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02790154 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02790158 */ Gambit_fn_02837344(cpu);
|
|
/* 0279015C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02790160 */ cpu->r[3] = cpu->r[3] + 0xFFFF9018u;
|
|
/* 02790164 */ Gambit_fn_02C83090(cpu);
|
|
/* 02790168 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0279016C */ cpu->lr = cpu->r[0];
|
|
/* 02790170 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02790174 */ return;
|
|
}
|
|
|
|
// fn_027900A4 @ 0x27900a4
|
|
void Gambit_fn_027900A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_027900A4: ; // 0x27900a4
|
|
/* 027900A4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027900A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027900A4 */ cpu->r[1] = _t0;
|
|
/* 027900A8 */ cpu->r[0] = cpu->r[0] + 0x00006A8Cu;
|
|
/* 027900AC */ cpu->r[8] = 0x101F0000u;
|
|
/* 027900B0 */ _t1 = cpu->r[10] + 0x00000004u;
|
|
/* 027900B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027900B4 */ cpu->r[12] = cpu->r[12] + 0x00006C28u;
|
|
/* 027900B8 */ _t2 = cpu->r[10] + 0x00000000u;
|
|
/* 027900B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 027900BC */ cpu->r[11] = 0x101F0000u;
|
|
/* 027900C0 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 027900C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027900C4 */ cpu->r[11] = cpu->r[11] + 0x00002398u;
|
|
/* 027900C8 */ _t4 = cpu->r[9] + 0x00000000u;
|
|
/* 027900C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 027900CC */ cpu->r[9] = 0x10100000u;
|
|
/* 027900D0 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 027900D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027900D4 */ cpu->r[9] = cpu->r[9] + 0x00006CB0u;
|
|
/* 027900D8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 027900DC */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 027900DC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027900E0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027900E4 */ cpu->r[9] = 0x10100000u;
|
|
/* 027900E8 */ cpu->r[10] = 0x10100000u;
|
|
/* 027900EC */ cpu->r[11] = cpu->r[11] + 0x000023B8u;
|
|
/* 027900F0 */ cpu->r[9] = cpu->r[9] + 0x00006C3Cu;
|
|
/* 027900F4 */ cpu->r[12] = cpu->r[12] + 0x000023A0u;
|
|
/* 027900F8 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 027900F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027900FC */ cpu->r[10] = cpu->r[10] + 0x00006CD0u;
|
|
/* 02790100 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02790100 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02790104 */ cpu->r[8] = cpu->r[8] + 0x000023A8u;
|
|
/* 02790108 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02790108 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0279010C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02790110 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 02790110 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02790114 */ cpu->r[12] = cpu->r[12] + 0x000023B0u;
|
|
/* 02790118 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0279011C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0279011C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02790120 */ cpu->r[10] = cpu->r[10] + 0x000023C0u;
|
|
/* 02790124 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02790124 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02790128 */ cpu->r[11] = 0x10100000u;
|
|
/* 0279012C */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 0279012C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02790130 */ cpu->r[0] = 0x10100000u;
|
|
/* 02790134 */ cpu->r[11] = cpu->r[11] + 0x00006C50u;
|
|
/* 02790138 */ cpu->r[0] = cpu->r[0] + 0x00006C00u;
|
|
/* 0279013C */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 0279013C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02790140 */ cpu->r[11] = 0x10100000u;
|
|
/* 02790144 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02790148 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02790148 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0279014C */ cpu->r[11] = cpu->r[11] + 0x00006C74u;
|
|
/* 02790150 */ cpu->r[3] = cpu->r[3] + 0x000023C8u;
|
|
/* 02790154 */ _t16 = cpu->r[8] + 0x00000000u;
|
|
/* 02790154 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02790158 */ Gambit_fn_02837344(cpu);
|
|
/* 0279015C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02790160 */ cpu->r[3] = cpu->r[3] + 0xFFFF9018u;
|
|
/* 02790164 */ Gambit_fn_02C83090(cpu);
|
|
/* 02790168 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0279016C */ cpu->lr = cpu->r[0];
|
|
/* 02790170 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02790174 */ return;
|
|
}
|
|
|
|
// fn_02790178 @ 0x2790178
|
|
void Gambit_fn_02790178(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_02790178: ; // 0x2790178
|
|
/* 02790178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0279017C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279017C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0279017C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279017C */ goto L_02790180;
|
|
L_02790180: ; // 0x2790180
|
|
/* 02790180 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790184 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790184 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02790184 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790184 */ goto L_02790188;
|
|
L_02790188: ; // 0x2790188
|
|
/* 02790188 */ 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_0279018C @ 0x279018c
|
|
void Gambit_fn_0279018C(CPUState* cpu) {
|
|
L_0279018C: ; // 0x279018c
|
|
/* 0279018C */ return;
|
|
}
|
|
|
|
// fn_02790190 @ 0x2790190
|
|
void Gambit_fn_02790190(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_02790190: ; // 0x2790190
|
|
/* 02790190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790194 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790194 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02790194 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790194 */ goto L_02790198;
|
|
L_02790198: ; // 0x2790198
|
|
/* 02790198 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0279019C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279019C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0279019C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279019C */ goto L_027901A0;
|
|
L_027901A0: ; // 0x27901a0
|
|
/* 027901A0 */ 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_027901A4 @ 0x27901a4
|
|
void Gambit_fn_027901A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_027901A4: ; // 0x27901a4
|
|
/* 027901A4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 027901A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027901A8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 027901A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027901AC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027901B0 */ cpu->r[11] = 0x10110000u;
|
|
/* 027901B4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 027901B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027901B8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 027901B8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 027901BC */ return;
|
|
}
|
|
|
|
// fn_027901C0 @ 0x27901c0
|
|
void Gambit_fn_027901C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_027901C0: ; // 0x27901c0
|
|
/* 027901C0 */ cpu->r[12] = cpu->r[3];
|
|
/* 027901C4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 027901C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027901C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027901CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027901CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027901CC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027901CC */ goto L_027901D0;
|
|
L_027901D0: ; // 0x27901d0
|
|
/* 027901D0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 027901D0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 027901D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027901D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027901D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027901D8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027901D8 */ goto L_027901DC;
|
|
L_027901DC: ; // 0x27901dc
|
|
/* 027901DC */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 027901DC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 027901E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027901E4 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 027901E8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027901E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027901E8 */ if (_t8) goto L_027901EC; else goto L_027901F8;
|
|
L_027901EC: ; // 0x27901ec
|
|
/* 027901EC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 027901EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027901F0 */ cpu->ctr = cpu->r[11];
|
|
/* 027901F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027901F8: ; // 0x27901f8
|
|
/* 027901F8 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 027901F8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 027901FC */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 027901FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02790200 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02790204 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02790208 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02790208 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0279020C */ cpu->ctr = cpu->r[11];
|
|
/* 02790210 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790214 @ 0x2790214
|
|
void Gambit_fn_02790214(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02790214: ; // 0x2790214
|
|
/* 02790214 */ cpu->r[12] = cpu->r[3];
|
|
/* 02790218 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02790218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279021C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02790220 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790220 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790220 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790220 */ goto L_02790224;
|
|
L_02790224: ; // 0x2790224
|
|
/* 02790224 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02790224 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02790228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0279022C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279022C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0279022C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279022C */ goto L_02790230;
|
|
L_02790230: ; // 0x2790230
|
|
/* 02790230 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02790230 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02790234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02790238 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 0279023C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279023C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0279023C */ if (_t8) goto L_02790240; else goto L_0279024C;
|
|
L_02790240: ; // 0x2790240
|
|
/* 02790240 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02790240 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790244 */ cpu->ctr = cpu->r[10];
|
|
/* 02790248 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0279024C: ; // 0x279024c
|
|
/* 0279024C */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0279024C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02790250 */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 02790250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02790254 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02790258 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 0279025C */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 0279025C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790260 */ cpu->ctr = cpu->r[10];
|
|
/* 02790264 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790268 @ 0x2790268
|
|
void Gambit_fn_02790268(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_02790268: ; // 0x2790268
|
|
/* 02790268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0279026C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279026C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0279026C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279026C */ goto L_02790270;
|
|
L_02790270: ; // 0x2790270
|
|
/* 02790270 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790274 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790274 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02790274 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790274 */ goto L_02790278;
|
|
L_02790278: ; // 0x2790278
|
|
/* 02790278 */ 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_0279027C @ 0x279027c
|
|
void Gambit_fn_0279027C(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_0279027C: ; // 0x279027c
|
|
/* 0279027C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790280 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790280 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02790280 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790280 */ goto L_02790284;
|
|
L_02790284: ; // 0x2790284
|
|
/* 02790284 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790288 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790288 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02790288 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790288 */ goto L_0279028C;
|
|
L_0279028C: ; // 0x279028c
|
|
/* 0279028C */ 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_02790290 @ 0x2790290
|
|
void Gambit_fn_02790290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02790290: ; // 0x2790290
|
|
/* 02790290 */ cpu->r[0] = cpu->lr;
|
|
/* 02790294 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790294 */ cpu->r[1] = _t0;
|
|
/* 02790298 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790298 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0279029C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0279029C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027902A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027902A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027902A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027902A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027902A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027902AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027902AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027902AC */ if (_t5) goto L_027902E8; else goto L_027902B0;
|
|
L_027902B0: ; // 0x27902b0
|
|
/* 027902B0 */ cpu->r[12] = 0x10100000u;
|
|
/* 027902B4 */ cpu->r[12] = cpu->r[12] + 0x00006B44u;
|
|
/* 027902B8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027902BC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027902BC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027902C0 */ _t7 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 027902C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027902C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027902C8 */ Gambit_fn_027987D0(cpu);
|
|
/* 027902CC */ cpu->r[3] = cpu->r[30];
|
|
/* 027902D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027902D4 */ Gambit_fn_02821E68(cpu);
|
|
/* 027902D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027902D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027902DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027902DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027902DC */ if (_t9) goto L_027902E8; else goto L_027902E0;
|
|
L_027902E0: ; // 0x27902e0
|
|
/* 027902E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027902E4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027902E8: ; // 0x27902e8
|
|
/* 027902E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027902E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027902EC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027902EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027902F0 */ cpu->lr = cpu->r[0];
|
|
/* 027902F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027902F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027902F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027902FC */ return;
|
|
}
|
|
|
|
// fn_02790294 @ 0x2790294
|
|
void Gambit_fn_02790294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02790294: ; // 0x2790294
|
|
/* 02790294 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790294 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790294 */ cpu->r[1] = _t0;
|
|
/* 02790298 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790298 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0279029C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0279029C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027902A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 027902A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027902A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 027902A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027902A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027902AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027902AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 027902AC */ if (_t5) goto L_027902E8; else goto L_027902B0;
|
|
L_027902B0: ; // 0x27902b0
|
|
/* 027902B0 */ cpu->r[12] = 0x10100000u;
|
|
/* 027902B4 */ cpu->r[12] = cpu->r[12] + 0x00006B44u;
|
|
/* 027902B8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 027902BC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 027902BC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027902C0 */ _t7 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 027902C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027902C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 027902C8 */ Gambit_fn_027987D0(cpu);
|
|
/* 027902CC */ cpu->r[3] = cpu->r[30];
|
|
/* 027902D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 027902D4 */ Gambit_fn_02821E68(cpu);
|
|
/* 027902D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027902D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027902DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027902DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027902DC */ if (_t9) goto L_027902E8; else goto L_027902E0;
|
|
L_027902E0: ; // 0x27902e0
|
|
/* 027902E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027902E4 */ Gambit_fn_02801BB0(cpu);
|
|
L_027902E8: ; // 0x27902e8
|
|
/* 027902E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027902E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027902EC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 027902EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027902F0 */ cpu->lr = cpu->r[0];
|
|
/* 027902F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027902F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027902F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027902FC */ return;
|
|
}
|
|
|
|
// fn_02790300 @ 0x2790300
|
|
void Gambit_fn_02790300(CPUState* cpu) {
|
|
L_02790300: ; // 0x2790300
|
|
/* 02790300 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02790304 */ goto L_02837404;
|
|
L_02837404: ; // 0x2837404
|
|
/* 02837404 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837408 */ rbrew_dispatch(cpu, 0x02d0a948u); return;
|
|
}
|
|
|
|
// fn_02790308 @ 0x2790308
|
|
void Gambit_fn_02790308(CPUState* cpu) {
|
|
L_02790308: ; // 0x2790308
|
|
/* 02790308 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 0279030C */ goto L_0283740C;
|
|
L_0283740C: ; // 0x283740c
|
|
/* 0283740C */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837410 */ rbrew_dispatch(cpu, 0x02d0a958u); return;
|
|
}
|
|
|
|
// fn_02790310 @ 0x2790310
|
|
void Gambit_fn_02790310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02790310: ; // 0x2790310
|
|
/* 02790310 */ cpu->r[0] = cpu->lr;
|
|
/* 02790314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790314 */ cpu->r[1] = _t0;
|
|
/* 02790318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0279031C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0279031C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02790320 */ cpu->r[30] = cpu->r[3];
|
|
/* 02790320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790324 */ cpu->r[31] = cpu->r[4];
|
|
/* 02790328 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02790328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0279032C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279032C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0279032C */ if (_t5) goto L_02790370; else goto L_02790330;
|
|
L_02790330: ; // 0x2790330
|
|
/* 02790330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790334 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790334 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790334 */ if (_t7) goto L_02790360; else goto L_02790338;
|
|
L_02790338: ; // 0x2790338
|
|
/* 02790338 */ cpu->r[12] = 0x10100000u;
|
|
/* 0279033C */ cpu->r[12] = cpu->r[12] + 0x00006B44u;
|
|
/* 02790340 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02790344 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02790344 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02790348 */ _t9 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 02790348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279034C */ cpu->r[4] = cpu->r[30];
|
|
/* 02790350 */ Gambit_fn_027987D0(cpu);
|
|
/* 02790354 */ cpu->r[3] = cpu->r[30];
|
|
/* 02790358 */ cpu->r[4] = 0x00000000u;
|
|
/* 0279035C */ Gambit_fn_02821E68(cpu);
|
|
L_02790360: ; // 0x2790360
|
|
/* 02790360 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790364 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790364 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790364 */ if (_t11) goto L_02790370; else goto L_02790368;
|
|
L_02790368: ; // 0x2790368
|
|
/* 02790368 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279036C */ Gambit_fn_02801BB0(cpu);
|
|
L_02790370: ; // 0x2790370
|
|
/* 02790370 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02790370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790374 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02790374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02790378 */ cpu->lr = cpu->r[0];
|
|
/* 0279037C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279037C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02790380 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790384 */ return;
|
|
}
|
|
|
|
// fn_02790314 @ 0x2790314
|
|
void Gambit_fn_02790314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02790314: ; // 0x2790314
|
|
/* 02790314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790314 */ cpu->r[1] = _t0;
|
|
/* 02790318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0279031C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0279031C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02790320 */ cpu->r[30] = cpu->r[3];
|
|
/* 02790320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790324 */ cpu->r[31] = cpu->r[4];
|
|
/* 02790328 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02790328 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0279032C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279032C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0279032C */ if (_t5) goto L_02790370; else goto L_02790330;
|
|
L_02790330: ; // 0x2790330
|
|
/* 02790330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790334 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790334 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790334 */ if (_t7) goto L_02790360; else goto L_02790338;
|
|
L_02790338: ; // 0x2790338
|
|
/* 02790338 */ cpu->r[12] = 0x10100000u;
|
|
/* 0279033C */ cpu->r[12] = cpu->r[12] + 0x00006B44u;
|
|
/* 02790340 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02790344 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02790344 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02790348 */ _t9 = cpu->r[3] + 0xFFFF9250u;
|
|
/* 02790348 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279034C */ cpu->r[4] = cpu->r[30];
|
|
/* 02790350 */ Gambit_fn_027987D0(cpu);
|
|
/* 02790354 */ cpu->r[3] = cpu->r[30];
|
|
/* 02790358 */ cpu->r[4] = 0x00000000u;
|
|
/* 0279035C */ Gambit_fn_02821E68(cpu);
|
|
L_02790360: ; // 0x2790360
|
|
/* 02790360 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790364 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790364 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790364 */ if (_t11) goto L_02790370; else goto L_02790368;
|
|
L_02790368: ; // 0x2790368
|
|
/* 02790368 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279036C */ Gambit_fn_02801BB0(cpu);
|
|
L_02790370: ; // 0x2790370
|
|
/* 02790370 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02790370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790374 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02790374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02790378 */ cpu->lr = cpu->r[0];
|
|
/* 0279037C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279037C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02790380 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790384 */ return;
|
|
}
|
|
|
|
// fn_0279038C @ 0x279038c
|
|
void Gambit_fn_0279038C(CPUState* cpu) {
|
|
L_0279038C: ; // 0x279038c
|
|
/* 0279038C */ return;
|
|
}
|
|
|
|
// fn_02790390 @ 0x2790390
|
|
void Gambit_fn_02790390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_0278FA30: ; // 0x278fa30
|
|
/* 0278FA30 */ cpu->r[0] = cpu->lr;
|
|
/* 0278FA34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0278FA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0278FA34 */ cpu->r[1] = _t0;
|
|
/* 0278FA38 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FA38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0278FA3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0278FA40 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FA40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0278FA44 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0278FA48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0278FA4C */ cpu->r[12] = cpu->r[12] + 0x101F0000u;
|
|
/* 0278FA50 */ _t3 = cpu->r[12] + 0x000065D0u;
|
|
/* 0278FA50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0278FA54 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FA58 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FA58 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0278FA5C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0278FA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0278FA60 */ _t6 = cpu->r[3] + 0xFFFF92D0u;
|
|
/* 0278FA60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0278FA64 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FA64 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0278FA68 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0278FA68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0278FA6C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FA70 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0278FA70 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0278FA74 */ Gambit_fn_027A8ECC(cpu);
|
|
/* 0278FA78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FA7C */ _t10 = cpu->r[3] + 0xFFFF9024u;
|
|
/* 0278FA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0278FA80 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0278FA80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0278FA84 */ _t12 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0278FA84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0278FA88 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FA8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FA90 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 0278FA90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0278FA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FA98 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FA98 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0278FA98 */ if (_t15) goto L_0278FADC; else goto L_0278FA9C;
|
|
L_0278FA9C: ; // 0x278fa9c
|
|
/* 0278FA9C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0278FA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0278FAA0 */ _t16 = cpu->r[31] + 0x00000028u;
|
|
/* 0278FAA0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 0278FAA4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAA4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0278FAA4 */ if (_t18) goto L_0278FAA8; else goto L_0278FADC;
|
|
L_0278FAA8: ; // 0x278faa8
|
|
/* 0278FAA8 */ Gambit_fn_027FA974(cpu);
|
|
/* 0278FAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FAB0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAB0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0278FAB0 */ if (_t20) goto L_0278FADC; else goto L_0278FAB4;
|
|
L_0278FAB4: ; // 0x278fab4
|
|
/* 0278FAB4 */ _t21 = cpu->r[3] + 0x00000070u;
|
|
/* 0278FAB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0278FAB8 */ _t22 = cpu->r[12] + 0x000000CCu;
|
|
/* 0278FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0278FABC */ cpu->ctr = cpu->r[0];
|
|
/* 0278FAC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0278FAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0278FAC8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0278FAC8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0278FAC8 */ if (_t24) goto L_0278FADC; else goto L_0278FACC;
|
|
L_0278FACC: ; // 0x278facc
|
|
/* 0278FACC */ _t25 = cpu->r[3] + 0x000000E0u;
|
|
/* 0278FACC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0278FAD0 */ _t26 = cpu->r[11] + 0x000000D4u;
|
|
/* 0278FAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0278FAD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0278FAD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0278FADC: ; // 0x278fadc
|
|
/* 0278FADC */ _t27 = cpu->r[31] + 0x00000014u;
|
|
/* 0278FADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0278FAE0 */ Gambit_fn_028A98AC(cpu);
|
|
/* 0278FAE4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0278FAE8 */ _t28 = cpu->r[3] + 0xFFFF9A84u;
|
|
/* 0278FAE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0278FAEC */ Gambit_fn_028C25F8(cpu);
|
|
/* 0278FAF0 */ cpu->r[3] = 0x00000006u;
|
|
/* 0278FAF4 */ Gambit_fn_02C31D94(cpu);
|
|
/* 0278FAF8 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0278FAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0278FAFC */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0278FAFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0278FB00 */ cpu->lr = cpu->r[0];
|
|
/* 0278FB04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0278FB08 */ return;
|
|
L_02790390: ; // 0x2790390
|
|
/* 02790390 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02790394 */ _t31 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 02790394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02790398 */ goto L_0278FA30;
|
|
}
|
|
|
|
// fn_0279039C @ 0x279039c
|
|
void Gambit_fn_0279039C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0279039C: ; // 0x279039c
|
|
/* 0279039C */ cpu->r[0] = cpu->lr;
|
|
/* 027903A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027903A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027903A0 */ cpu->r[1] = _t0;
|
|
/* 027903A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027903A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027903A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027903A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027903AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027903AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027903B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027903B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027903B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027903B4 */ if (_t5) goto L_027903B8; else goto L_027903C8;
|
|
L_027903B8: ; // 0x27903b8
|
|
/* 027903B8 */ cpu->r[3] = 0x00000028u;
|
|
/* 027903BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027903C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027903C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027903C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027903C4 */ if (_t7) goto L_0279043C; else goto L_027903C8;
|
|
L_027903C8: ; // 0x27903c8
|
|
/* 027903C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027903C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027903CC */ cpu->r[30] = 0x00000000u;
|
|
/* 027903D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027903D0 */ if (_t9) goto L_027903D4; else goto L_027903E4;
|
|
L_027903D4: ; // 0x27903d4
|
|
/* 027903D4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027903D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027903DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027903E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027903E0 */ if (_t11) goto L_027903F4; else goto L_027903E4;
|
|
L_027903E4: ; // 0x27903e4
|
|
/* 027903E4 */ cpu->r[11] = 0x10100000u;
|
|
/* 027903E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027903E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027903EC */ cpu->r[11] = cpu->r[11] + 0x00006D68u;
|
|
/* 027903F0 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027903F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
L_027903F4: ; // 0x27903f4
|
|
/* 027903F4 */ cpu->r[12] = 0x10100000u;
|
|
/* 027903F8 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027903F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027903FC */ cpu->r[12] = cpu->r[12] + 0x00006D78u;
|
|
/* 02790400 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790404 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02790404 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02790408 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790408 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02790408 */ if (_t17) goto L_0279040C; else goto L_0279041C;
|
|
L_0279040C: ; // 0x279040c
|
|
/* 0279040C */ cpu->r[3] = 0x00000004u;
|
|
/* 02790410 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790418 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790418 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02790418 */ if (_t19) goto L_02790420; else goto L_0279041C;
|
|
L_0279041C: ; // 0x279041c
|
|
/* 0279041C */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0279041C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02790420: ; // 0x2790420
|
|
/* 02790420 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02790420 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02790424 */ cpu->r[0] = 0x00000001u;
|
|
/* 02790428 */ _t22 = cpu->r[31] + 0x00000024u;
|
|
/* 02790428 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0279042C */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279042C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02790430 */ _t24 = cpu->r[31] + 0x00000020u;
|
|
/* 02790430 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02790434 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02790434 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02790438 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 02790438 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
L_0279043C: ; // 0x279043c
|
|
/* 0279043C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0279043C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02790440 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790444 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02790448 */ cpu->lr = cpu->r[0];
|
|
/* 0279044C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0279044C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02790450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790454 */ return;
|
|
}
|
|
|
|
// fn_027903A0 @ 0x27903a0
|
|
void Gambit_fn_027903A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_027903A0: ; // 0x27903a0
|
|
/* 027903A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027903A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027903A0 */ cpu->r[1] = _t0;
|
|
/* 027903A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027903A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027903A8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027903A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027903AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027903AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027903B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027903B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027903B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027903B4 */ if (_t5) goto L_027903B8; else goto L_027903C8;
|
|
L_027903B8: ; // 0x27903b8
|
|
/* 027903B8 */ cpu->r[3] = 0x00000028u;
|
|
/* 027903BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027903C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027903C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027903C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027903C4 */ if (_t7) goto L_0279043C; else goto L_027903C8;
|
|
L_027903C8: ; // 0x27903c8
|
|
/* 027903C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 027903C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027903CC */ cpu->r[30] = 0x00000000u;
|
|
/* 027903D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027903D0 */ if (_t9) goto L_027903D4; else goto L_027903E4;
|
|
L_027903D4: ; // 0x27903d4
|
|
/* 027903D4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027903D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027903DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027903E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027903E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027903E0 */ if (_t11) goto L_027903F4; else goto L_027903E4;
|
|
L_027903E4: ; // 0x27903e4
|
|
/* 027903E4 */ cpu->r[11] = 0x10100000u;
|
|
/* 027903E8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 027903E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 027903EC */ cpu->r[11] = cpu->r[11] + 0x00006D68u;
|
|
/* 027903F0 */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 027903F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
L_027903F4: ; // 0x27903f4
|
|
/* 027903F4 */ cpu->r[12] = 0x10100000u;
|
|
/* 027903F8 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 027903F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 027903FC */ cpu->r[12] = cpu->r[12] + 0x00006D78u;
|
|
/* 02790400 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790404 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02790404 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02790408 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790408 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02790408 */ if (_t17) goto L_0279040C; else goto L_0279041C;
|
|
L_0279040C: ; // 0x279040c
|
|
/* 0279040C */ cpu->r[3] = 0x00000004u;
|
|
/* 02790410 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790418 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790418 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02790418 */ if (_t19) goto L_02790420; else goto L_0279041C;
|
|
L_0279041C: ; // 0x279041c
|
|
/* 0279041C */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 0279041C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02790420: ; // 0x2790420
|
|
/* 02790420 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02790420 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02790424 */ cpu->r[0] = 0x00000001u;
|
|
/* 02790428 */ _t22 = cpu->r[31] + 0x00000024u;
|
|
/* 02790428 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0279042C */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279042C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02790430 */ _t24 = cpu->r[31] + 0x00000020u;
|
|
/* 02790430 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02790434 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02790434 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02790438 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 02790438 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
L_0279043C: ; // 0x279043c
|
|
/* 0279043C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0279043C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02790440 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790444 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02790448 */ cpu->lr = cpu->r[0];
|
|
/* 0279044C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0279044C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02790450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790454 */ return;
|
|
}
|
|
|
|
// fn_02790458 @ 0x2790458
|
|
void Gambit_fn_02790458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02790458: ; // 0x2790458
|
|
/* 02790458 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02790458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279045C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790460 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790460 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790460 */ if (_t2) goto L_02790470; else goto L_02790464;
|
|
L_02790464: ; // 0x2790464
|
|
/* 02790464 */ cpu->r[4] = cpu->r[3];
|
|
/* 02790468 */ cpu->r[3] = cpu->r[0];
|
|
/* 0279046C */ goto L_027912FC;
|
|
L_02790470: ; // 0x2790470
|
|
/* 02790470 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02790470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02790474 */ cpu->r[11] = 0x00000003u;
|
|
/* 02790478 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02790478 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 0279047C */ _t5 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0279047C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790480 */ cpu->ctr = cpu->r[0];
|
|
/* 02790484 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027912FC: ; // 0x27912fc
|
|
/* 027912FC */ _t6 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027912FC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 027912FC */ cpu->r[1] = _t6;
|
|
/* 02791300 */ /* nop */
|
|
/* 02791304 */ cpu->r[0] = cpu->lr;
|
|
/* 02791308 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02791308 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0279130C */ cpu->r[31] = cpu->r[4];
|
|
/* 02791310 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02791310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02791318 */ cpu->r[30] = cpu->r[3];
|
|
/* 0279131C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279131C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0279131C */ if (_t10) goto L_02791430; else goto L_02791320;
|
|
L_02791320: ; // 0x2791320
|
|
/* 02791320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791324 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791324 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02791324 */ if (_t12) goto L_02791430; else goto L_02791328;
|
|
L_02791328: ; // 0x2791328
|
|
/* 02791328 */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 02791328 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0279132C */ _t14 = cpu->r[30] + 0x00000030u;
|
|
/* 0279132C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791330 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791334 */ _t15 = cpu->r[8] + cpu->r[9];
|
|
/* 02791334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0279133C */ _t16 = cpu->r[5] + 0x00000008u;
|
|
/* 0279133C */ cpu->r[27] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791340 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791340 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02791340 */ if (_t18) goto L_02791344; else goto L_02791400;
|
|
L_02791344: ; // 0x2791344
|
|
/* 02791344 */ _t19 = cpu->r[30] + 0x00000210u;
|
|
/* 02791344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791348 */ cpu->r[0] = cpu->r[30] + 0x00000204u;
|
|
/* 0279134C */ _t20 = cpu->r[30] + 0x00000208u;
|
|
/* 0279134C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791350 */ cpu->r[0] = cpu->r[0] - cpu->r[11];
|
|
/* 02791354 */ cpu->r[29] = cpu->r[12] - cpu->r[11];
|
|
/* 02791358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0279135C */ cpu->r[12] = cpu->r[11];
|
|
/* 02791360 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791360 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02791360 */ if (_t22) goto L_027913D4; else goto L_02791364;
|
|
L_02791364: ; // 0x2791364
|
|
/* 02791364 */ cpu->r[26] = 0x101D0000u;
|
|
L_02791368: ; // 0x2791368
|
|
/* 02791368 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 02791368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0279136C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02791370 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791370 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02791370 */ if (_t25) goto L_02791374; else goto L_027913C0;
|
|
L_02791374: ; // 0x2791374
|
|
/* 02791374 */ cpu->r[3] = cpu->r[29] + cpu->r[11];
|
|
/* 02791378 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0279137C */ _t26 = cpu->r[30] + 0x0000020Cu;
|
|
/* 0279137C */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02791380 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02791384 */ _t27 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791384 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02791388 */ _t28 = cpu->r[26] + 0xFFFF9038u;
|
|
/* 02791388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0279138C */ cpu->r[4] = cpu->r[29];
|
|
/* 02791390 */ Gambit_fn_02792A54(cpu);
|
|
/* 02791394 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791398 */ cpu->r[5] = cpu->r[27];
|
|
/* 0279139C */ cpu->r[4] = cpu->r[31];
|
|
/* 027913A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913A4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913A8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913AC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913B8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913BC */ goto L_02791430;
|
|
L_027913C0: ; // 0x27913c0
|
|
/* 027913C0 */ cpu->r[10] = cpu->r[29] + cpu->r[12];
|
|
/* 027913C4 */ _t29 = cpu->r[10] + 0x00000004u;
|
|
/* 027913C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027913C8 */ cpu->r[29] = cpu->r[9] - cpu->r[12];
|
|
/* 027913CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 027913D0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027913D0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027913D0 */ if (_t31) goto L_027913D4; else goto L_02791368;
|
|
L_027913D4: ; // 0x27913d4
|
|
/* 027913D4 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913D8 */ cpu->r[5] = cpu->r[27];
|
|
/* 027913DC */ cpu->r[4] = cpu->r[31];
|
|
/* 027913E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913E4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913E8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913F8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913FC */ goto L_02791430;
|
|
L_02791400: ; // 0x2791400
|
|
/* 02791400 */ _t32 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02791400 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02791404 */ _t33 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02791404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02791408 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
|
|
/* 0279140C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02791410 */ _t34 = cpu->r[29] + 0x00000008u;
|
|
/* 02791410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02791414 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279141C */ cpu->r[4] = cpu->r[31];
|
|
/* 02791420 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02791424 */ cpu->r[5] = cpu->r[27];
|
|
/* 02791428 */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 02791428 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0279142C */ Gambit_fn_02790EE0(cpu);
|
|
L_02791430: ; // 0x2791430
|
|
/* 02791430 */ /* nop */
|
|
/* 02791434 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02791434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02791438 */ cpu->lr = cpu->r[0];
|
|
/* 0279143C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02791440 */ return;
|
|
}
|
|
|
|
// fn_02790488 @ 0x2790488
|
|
void Gambit_fn_02790488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02790488: ; // 0x2790488
|
|
/* 02790488 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02790488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279048C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790490 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790490 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790490 */ if (_t2) goto L_027904A0; else goto L_02790494;
|
|
L_02790494: ; // 0x2790494
|
|
/* 02790494 */ cpu->r[4] = cpu->r[3];
|
|
/* 02790498 */ cpu->r[3] = cpu->r[0];
|
|
/* 0279049C */ goto L_027914D8;
|
|
L_027904A0: ; // 0x27904a0
|
|
/* 027904A0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 027904A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027904A4 */ cpu->r[11] = 0x00000001u;
|
|
/* 027904A8 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 027904A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027904AC */ _t5 = cpu->r[12] + 0x00000084u;
|
|
/* 027904AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027904B0 */ cpu->ctr = cpu->r[0];
|
|
/* 027904B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_027914D8: ; // 0x27914d8
|
|
/* 027914D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027914DC */ _t6 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027914DC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 027914DC */ cpu->r[1] = _t6;
|
|
/* 027914E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 027914E4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027914E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 027914E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027914EC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027914EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 027914F0 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027914F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027914F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027914F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027914FC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027914FC */ if (_t12) goto L_02791508; else goto L_02791500;
|
|
L_02791500: ; // 0x2791500
|
|
/* 02791500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791504 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791504 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02791504 */ if (_t14) goto L_02791508; else goto L_02791550;
|
|
L_02791508: ; // 0x2791508
|
|
/* 02791508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279150C */ _t15 = cpu->r[3] + 0xFFFF9038u;
|
|
/* 0279150C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791510 */ Gambit_fn_02792A14(cpu);
|
|
/* 02791514 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02791514 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02791518 */ _t17 = cpu->r[30] + 0x00000210u;
|
|
/* 02791518 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0279151C */ cpu->r[4] = cpu->r[3] + cpu->r[8];
|
|
/* 02791520 */ cpu->r[3] = cpu->r[30] + 0x00000204u;
|
|
/* 02791524 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791528 */ _t18 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0279152C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02791530 */ cpu->r[10] = 0x00000000u;
|
|
/* 02791534 */ _t19 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791534 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02791538 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 02791538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0279153C */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279153C */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 02791540 */ _t22 = cpu->r[11] + 0x00000104u;
|
|
/* 02791540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02791544 */ cpu->ctr = cpu->r[12];
|
|
/* 02791548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279154C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791550: ; // 0x2791550
|
|
/* 02791550 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02791550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02791554 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02791554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02791558 */ cpu->lr = cpu->r[0];
|
|
/* 0279155C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279155C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02791560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02791564 */ return;
|
|
}
|
|
|
|
// fn_027904B8 @ 0x27904b8
|
|
void Gambit_fn_027904B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_027904B8: ; // 0x27904b8
|
|
/* 027904B8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027904BC */ _t0 = cpu->r[11] + 0xFFFFD4E0u;
|
|
/* 027904BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027904BC */ cpu->r[11] = _t0;
|
|
/* 027904C0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027904C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027904C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 027904CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027904CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027904CC */ if (_t2) goto L_027904D0; else goto L_027904E4;
|
|
L_027904D0: ; // 0x27904d0
|
|
/* 027904D0 */ cpu->r[9] = 0x10100000u;
|
|
/* 027904D4 */ cpu->r[8] = 0x00000001u;
|
|
/* 027904D8 */ cpu->r[9] = cpu->r[9] + 0x00006D58u;
|
|
/* 027904DC */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 027904DC */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 027904E0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 027904E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_027904E4: ; // 0x27904e4
|
|
/* 027904E4 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 027904E8 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 027904EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 027904F0 */ return;
|
|
}
|
|
|
|
// fn_027904F4 @ 0x27904f4
|
|
void Gambit_fn_027904F4(CPUState* cpu) {
|
|
L_027904F4: ; // 0x27904f4
|
|
/* 027904F4 */ return;
|
|
}
|
|
|
|
// fn_027904F8 @ 0x27904f8
|
|
void Gambit_fn_027904F8(CPUState* cpu) {
|
|
L_027904F8: ; // 0x27904f8
|
|
/* 027904F8 */ return;
|
|
}
|
|
|
|
// fn_027904FC @ 0x27904fc
|
|
void Gambit_fn_027904FC(CPUState* cpu) {
|
|
L_027904FC: ; // 0x27904fc
|
|
/* 027904FC */ return;
|
|
}
|
|
|
|
// fn_02790500 @ 0x2790500
|
|
void Gambit_fn_02790500(CPUState* cpu) {
|
|
L_02790500: ; // 0x2790500
|
|
/* 02790500 */ return;
|
|
}
|
|
|
|
// fn_02790504 @ 0x2790504
|
|
void Gambit_fn_02790504(CPUState* cpu) {
|
|
L_02790504: ; // 0x2790504
|
|
/* 02790504 */ return;
|
|
}
|
|
|
|
// fn_02790508 @ 0x2790508
|
|
void Gambit_fn_02790508(CPUState* cpu) {
|
|
L_02790508: ; // 0x2790508
|
|
/* 02790508 */ return;
|
|
}
|
|
|
|
// fn_0279050C @ 0x279050c
|
|
void Gambit_fn_0279050C(CPUState* cpu) {
|
|
L_0279050C: ; // 0x279050c
|
|
/* 0279050C */ return;
|
|
}
|
|
|
|
// fn_02790510 @ 0x2790510
|
|
void Gambit_fn_02790510(CPUState* cpu) {
|
|
L_02790510: ; // 0x2790510
|
|
/* 02790510 */ return;
|
|
}
|
|
|
|
// fn_02790514 @ 0x2790514
|
|
void Gambit_fn_02790514(CPUState* cpu) {
|
|
L_02790514: ; // 0x2790514
|
|
/* 02790514 */ return;
|
|
}
|
|
|
|
// fn_02790518 @ 0x2790518
|
|
void Gambit_fn_02790518(CPUState* cpu) {
|
|
L_02790518: ; // 0x2790518
|
|
/* 02790518 */ return;
|
|
}
|
|
|
|
// fn_0279051C @ 0x279051c
|
|
void Gambit_fn_0279051C(CPUState* cpu) {
|
|
L_0279051C: ; // 0x279051c
|
|
/* 0279051C */ return;
|
|
}
|
|
|
|
// fn_02790520 @ 0x2790520
|
|
void Gambit_fn_02790520(CPUState* cpu) {
|
|
L_02790520: ; // 0x2790520
|
|
/* 02790520 */ return;
|
|
}
|
|
|
|
// fn_02790524 @ 0x2790524
|
|
void Gambit_fn_02790524(CPUState* cpu) {
|
|
L_02790524: ; // 0x2790524
|
|
/* 02790524 */ return;
|
|
}
|
|
|
|
// fn_02790528 @ 0x2790528
|
|
void Gambit_fn_02790528(CPUState* cpu) {
|
|
L_02790528: ; // 0x2790528
|
|
/* 02790528 */ cpu->r[3] = 0x10100000u;
|
|
/* 0279052C */ cpu->r[3] = cpu->r[3] + 0x00006D50u;
|
|
/* 02790530 */ return;
|
|
}
|
|
|
|
// fn_02790534 @ 0x2790534
|
|
void Gambit_fn_02790534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02790534: ; // 0x2790534
|
|
/* 02790534 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02790534 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0279053C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279053C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0279053C */ if (_t2) goto L_02790548; else goto L_02790540;
|
|
L_02790540: ; // 0x2790540
|
|
/* 02790540 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02790544 */ return;
|
|
L_02790548: ; // 0x2790548
|
|
/* 02790548 */ cpu->r[3] = 0x00000000u;
|
|
/* 0279054C */ return;
|
|
}
|
|
|
|
// fn_02790550 @ 0x2790550
|
|
void Gambit_fn_02790550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02790550: ; // 0x2790550
|
|
/* 02790550 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02790550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02790558 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790558 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790558 */ if (_t2) goto L_02790564; else goto L_0279055C;
|
|
L_0279055C: ; // 0x279055c
|
|
/* 0279055C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02790560 */ return;
|
|
L_02790564: ; // 0x2790564
|
|
/* 02790564 */ cpu->r[3] = 0x00000000u;
|
|
/* 02790568 */ return;
|
|
}
|
|
|
|
// fn_0279056C @ 0x279056c
|
|
void Gambit_fn_0279056C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0279056C: ; // 0x279056c
|
|
/* 0279056C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0279056C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790570 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790574 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790574 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790574 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02790574 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790574 */ goto L_02790578;
|
|
L_02790578: ; // 0x2790578
|
|
/* 02790578 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02790578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279057C */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 0279057C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790580 */ cpu->ctr = cpu->r[12];
|
|
/* 02790584 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790588 @ 0x2790588
|
|
void Gambit_fn_02790588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02790588: ; // 0x2790588
|
|
/* 02790588 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279058C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0279058C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02790590 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790590 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790590 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02790590 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790590 */ goto L_02790594;
|
|
L_02790594: ; // 0x2790594
|
|
/* 02790594 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02790594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02790598 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02790598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0279059C */ cpu->ctr = cpu->r[0];
|
|
/* 027905A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027905A4 @ 0x27905a4
|
|
void Gambit_fn_027905A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027905A4: ; // 0x27905a4
|
|
/* 027905A4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027905A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027905A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027905A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027905AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027905AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027905AC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027905AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027905AC */ goto L_027905B0;
|
|
L_027905B0: ; // 0x27905b0
|
|
/* 027905B0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027905B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027905B4 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 027905B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027905B8 */ cpu->ctr = cpu->r[0];
|
|
/* 027905BC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027905C0 @ 0x27905c0
|
|
void Gambit_fn_027905C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027905C0: ; // 0x27905c0
|
|
/* 027905C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027905C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027905C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027905C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027905C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027905C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027905C8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027905C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027905C8 */ goto L_027905CC;
|
|
L_027905CC: ; // 0x27905cc
|
|
/* 027905CC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027905CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027905D0 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027905D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027905D4 */ cpu->ctr = cpu->r[0];
|
|
/* 027905D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027905DC @ 0x27905dc
|
|
void Gambit_fn_027905DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027905DC: ; // 0x27905dc
|
|
/* 027905DC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027905DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027905E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027905E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027905E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027905E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027905E4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027905E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027905E4 */ goto L_027905E8;
|
|
L_027905E8: ; // 0x27905e8
|
|
/* 027905E8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027905E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027905EC */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 027905EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027905F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027905F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027905F8 @ 0x27905f8
|
|
void Gambit_fn_027905F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027905F8: ; // 0x27905f8
|
|
/* 027905F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027905F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027905FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027905FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02790600 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790600 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02790600 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02790600 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790600 */ goto L_02790604;
|
|
L_02790604: ; // 0x2790604
|
|
/* 02790604 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02790604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02790608 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02790608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0279060C */ cpu->ctr = cpu->r[0];
|
|
/* 02790610 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790614 @ 0x2790614
|
|
void Gambit_fn_02790614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02790614: ; // 0x2790614
|
|
/* 02790614 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790618 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02790618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0279061C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279061C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0279061C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0279061C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279061C */ goto L_02790620;
|
|
L_02790620: ; // 0x2790620
|
|
/* 02790620 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02790620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02790624 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02790624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790628 */ cpu->ctr = cpu->r[0];
|
|
/* 0279062C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790630 @ 0x2790630
|
|
void Gambit_fn_02790630(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790630: ; // 0x2790630
|
|
/* 02790630 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790630 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790634 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 02790634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790638 */ cpu->ctr = cpu->r[0];
|
|
/* 0279063C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790640 @ 0x2790640
|
|
void Gambit_fn_02790640(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790640: ; // 0x2790640
|
|
/* 02790640 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790644 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790648 */ cpu->ctr = cpu->r[0];
|
|
/* 0279064C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790650 @ 0x2790650
|
|
void Gambit_fn_02790650(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790650: ; // 0x2790650
|
|
/* 02790650 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790654 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 02790654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790658 */ cpu->ctr = cpu->r[0];
|
|
/* 0279065C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790660 @ 0x2790660
|
|
void Gambit_fn_02790660(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790660: ; // 0x2790660
|
|
/* 02790660 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790660 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790664 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02790664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790668 */ cpu->ctr = cpu->r[0];
|
|
/* 0279066C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790670 @ 0x2790670
|
|
void Gambit_fn_02790670(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790670: ; // 0x2790670
|
|
/* 02790670 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790674 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02790674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790678 */ cpu->ctr = cpu->r[0];
|
|
/* 0279067C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790680 @ 0x2790680
|
|
void Gambit_fn_02790680(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02790680: ; // 0x2790680
|
|
/* 02790680 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02790680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790684 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 02790684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790688 */ cpu->ctr = cpu->r[0];
|
|
/* 0279068C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02790690 @ 0x2790690
|
|
void Gambit_fn_02790690(CPUState* cpu) {
|
|
L_02790690: ; // 0x2790690
|
|
/* 02790690 */ return;
|
|
}
|
|
|
|
// fn_02790694 @ 0x2790694
|
|
void Gambit_fn_02790694(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02790694: ; // 0x2790694
|
|
/* 02790694 */ cpu->r[0] = cpu->lr;
|
|
/* 02790698 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790698 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790698 */ cpu->r[1] = _t0;
|
|
/* 0279069C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279069C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027906A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027906A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027906A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027906A8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027906A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027906AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 027906B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027906B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027906B0 */ if (_t5) goto L_027906B4; else goto L_027906D0;
|
|
L_027906B4: ; // 0x27906b4
|
|
/* 027906B4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 027906B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027906B8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 027906B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027906BC */ cpu->ctr = cpu->r[0];
|
|
/* 027906C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027906C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027906C8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027906CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027906CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027906D0: ; // 0x27906d0
|
|
/* 027906D0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027906D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027906D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027906D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027906D8 */ cpu->lr = cpu->r[0];
|
|
/* 027906DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027906E0 */ return;
|
|
}
|
|
|
|
// fn_02790698 @ 0x2790698
|
|
void Gambit_fn_02790698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02790698: ; // 0x2790698
|
|
/* 02790698 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790698 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790698 */ cpu->r[1] = _t0;
|
|
/* 0279069C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279069C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027906A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027906A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027906A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027906A8 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027906A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027906AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 027906B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027906B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027906B0 */ if (_t5) goto L_027906B4; else goto L_027906D0;
|
|
L_027906B4: ; // 0x27906b4
|
|
/* 027906B4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 027906B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027906B8 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 027906B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027906BC */ cpu->ctr = cpu->r[0];
|
|
/* 027906C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027906C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027906C8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027906CC */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027906CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027906D0: ; // 0x27906d0
|
|
/* 027906D0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027906D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027906D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027906D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027906D8 */ cpu->lr = cpu->r[0];
|
|
/* 027906DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027906E0 */ return;
|
|
}
|
|
|
|
// fn_027906E4 @ 0x27906e4
|
|
void Gambit_fn_027906E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_027906E4: ; // 0x27906e4
|
|
/* 027906E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027906E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027906E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027906E8 */ cpu->r[1] = _t0;
|
|
/* 027906EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027906EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027906F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027906F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027906F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027906F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027906F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027906FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027906FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790700 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790700 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02790700 */ if (_t5) goto L_02790704; else goto L_02790714;
|
|
L_02790704: ; // 0x2790704
|
|
/* 02790704 */ cpu->r[3] = 0x00000014u;
|
|
/* 02790708 */ Gambit_fn_02801A78(cpu);
|
|
/* 0279070C */ cpu->r[31] = cpu->r[3];
|
|
/* 0279070C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790710 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790710 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790710 */ if (_t7) goto L_02790864; else goto L_02790714;
|
|
L_02790714: ; // 0x2790714
|
|
/* 02790714 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02790714 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02790718 */ cpu->r[30] = 0x00000000u;
|
|
/* 0279071C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0279071C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790720 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02790720 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02790724 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790724 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790724 */ if (_t11) goto L_02790728; else goto L_02790738;
|
|
L_02790728: ; // 0x2790728
|
|
/* 02790728 */ cpu->r[3] = 0x00000008u;
|
|
/* 0279072C */ Gambit_fn_02801A78(cpu);
|
|
/* 02790730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790734 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790734 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02790734 */ if (_t13) goto L_02790740; else goto L_02790738;
|
|
L_02790738: ; // 0x2790738
|
|
/* 02790738 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02790738 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0279073C */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0279073C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02790740: ; // 0x2790740
|
|
/* 02790740 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02790740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790744 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02790744 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02790748 */ _t18 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0279074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02790750 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790750 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02790750 */ if (_t20) goto L_02790754; else goto L_02790864;
|
|
L_02790754: ; // 0x2790754
|
|
/* 02790754 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02790754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02790758 */ _t22 = cpu->r[12] + 0x00000030u;
|
|
/* 02790758 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0279075C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790760 */ _t23 = cpu->r[6] + cpu->r[7];
|
|
/* 02790760 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02790764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02790768 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790768 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02790768 */ if (_t25) goto L_0279076C; else goto L_02790798;
|
|
L_0279076C: ; // 0x279076c
|
|
/* 0279076C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790770 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02790770 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02790774 */ _t27 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02790778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 0279077C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279077C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0279077C */ if (_t29) goto L_02790780; else goto L_02790864;
|
|
L_02790780: ; // 0x2790780
|
|
/* 02790780 */ _t30 = cpu->r[12] + 0x00000030u;
|
|
/* 02790780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02790784 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790788 */ _t31 = cpu->r[11] + cpu->r[4];
|
|
/* 02790788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0279078C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02790790 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790790 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02790790 */ if (_t33) goto L_0279076C; else goto L_02790794;
|
|
L_02790794: ; // 0x2790794
|
|
/* 02790794 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02790794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_02790798: ; // 0x2790798
|
|
/* 02790798 */ _t35 = cpu->r[12] + 0x00000030u;
|
|
/* 02790798 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0279079C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027907A0 */ _t36 = cpu->r[6] + cpu->r[7];
|
|
/* 027907A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027907A4 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 027907A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027907A8 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 027907A8 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 027907AC */ _t39 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027907AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027907B0 */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 027907B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027907B4 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 027907B8 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 027907B8 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 027907BC */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027907BC */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027907C0 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027907C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027907C4 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 027907C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 027907CC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027907CC */ _t45 = _t44 & 0x00000001u;
|
|
/* 027907CC */ if (_t45) goto L_027907D0; else goto L_02790864;
|
|
L_027907D0: ; // 0x27907d0
|
|
/* 027907D0 */ _t46 = cpu->r[31] + 0x00000004u;
|
|
/* 027907D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027907D4 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 027907D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027907D8 */ cpu->r[8] = cpu->r[11] + 0x00000001u;
|
|
/* 027907DC */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027907DC */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 027907E0 */ _t49 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027907E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027907E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 027907E8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027907E8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027907E8 */ if (_t51) goto L_027907EC; else goto L_02790864;
|
|
L_027907EC: ; // 0x27907ec
|
|
/* 027907EC */ _t52 = cpu->r[12] + 0x00000030u;
|
|
/* 027907EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027907F0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027907F4 */ _t53 = cpu->r[4] + cpu->r[5];
|
|
/* 027907F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027907F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027907FC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027907FC */ _t55 = _t54 & 0x00000001u;
|
|
/* 027907FC */ if (_t55) goto L_02790800; else goto L_0279082C;
|
|
L_02790800: ; // 0x2790800
|
|
/* 02790800 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790804 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02790804 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02790808 */ _t57 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790808 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0279080C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 02790810 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790810 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02790810 */ if (_t59) goto L_02790814; else goto L_02790864;
|
|
L_02790814: ; // 0x2790814
|
|
/* 02790814 */ _t60 = cpu->r[12] + 0x00000030u;
|
|
/* 02790814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02790818 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0279081C */ _t61 = cpu->r[9] + cpu->r[10];
|
|
/* 0279081C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02790820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790824 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790824 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02790824 */ if (_t63) goto L_02790800; else goto L_02790828;
|
|
L_02790828: ; // 0x2790828
|
|
/* 02790828 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 02790828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
L_0279082C: ; // 0x279082c
|
|
/* 0279082C */ _t65 = cpu->r[12] + 0x00000030u;
|
|
/* 0279082C */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02790830 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790834 */ _t66 = cpu->r[12] + cpu->r[4];
|
|
/* 02790834 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02790838 */ _t67 = cpu->r[5] + 0x00000008u;
|
|
/* 02790838 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0279083C */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 0279083C */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02790840 */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02790844 */ _t70 = cpu->r[8] + 0x00000004u;
|
|
/* 02790844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02790848 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 0279084C */ _t71 = cpu->r[31] + 0x00000010u;
|
|
/* 0279084C */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02790850 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790850 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02790854 */ _t73 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02790858 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 0279085C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790860 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790860 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02790860 */ if (_t75) goto L_027907D0; else goto L_02790864;
|
|
L_02790864: ; // 0x2790864
|
|
/* 02790864 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02790864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02790868 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279086C */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279086C */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02790870 */ cpu->lr = cpu->r[0];
|
|
/* 02790874 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02790874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02790878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0279087C */ return;
|
|
}
|
|
|
|
// fn_027906E8 @ 0x27906e8
|
|
void Gambit_fn_027906E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_027906E8: ; // 0x27906e8
|
|
/* 027906E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027906E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027906E8 */ cpu->r[1] = _t0;
|
|
/* 027906EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027906EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027906F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027906F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027906F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027906F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027906F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 027906FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027906FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790700 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790700 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02790700 */ if (_t5) goto L_02790704; else goto L_02790714;
|
|
L_02790704: ; // 0x2790704
|
|
/* 02790704 */ cpu->r[3] = 0x00000014u;
|
|
/* 02790708 */ Gambit_fn_02801A78(cpu);
|
|
/* 0279070C */ cpu->r[31] = cpu->r[3];
|
|
/* 0279070C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790710 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790710 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790710 */ if (_t7) goto L_02790864; else goto L_02790714;
|
|
L_02790714: ; // 0x2790714
|
|
/* 02790714 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02790714 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02790718 */ cpu->r[30] = 0x00000000u;
|
|
/* 0279071C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0279071C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790720 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02790720 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02790724 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790724 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790724 */ if (_t11) goto L_02790728; else goto L_02790738;
|
|
L_02790728: ; // 0x2790728
|
|
/* 02790728 */ cpu->r[3] = 0x00000008u;
|
|
/* 0279072C */ Gambit_fn_02801A78(cpu);
|
|
/* 02790730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790734 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790734 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02790734 */ if (_t13) goto L_02790740; else goto L_02790738;
|
|
L_02790738: ; // 0x2790738
|
|
/* 02790738 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02790738 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0279073C */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0279073C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02790740: ; // 0x2790740
|
|
/* 02790740 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02790740 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790744 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02790744 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02790748 */ _t18 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790748 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0279074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02790750 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790750 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02790750 */ if (_t20) goto L_02790754; else goto L_02790864;
|
|
L_02790754: ; // 0x2790754
|
|
/* 02790754 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 02790754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02790758 */ _t22 = cpu->r[12] + 0x00000030u;
|
|
/* 02790758 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0279075C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790760 */ _t23 = cpu->r[6] + cpu->r[7];
|
|
/* 02790760 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02790764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02790768 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790768 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02790768 */ if (_t25) goto L_0279076C; else goto L_02790798;
|
|
L_0279076C: ; // 0x279076c
|
|
/* 0279076C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790770 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02790770 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02790774 */ _t27 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02790778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 0279077C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279077C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0279077C */ if (_t29) goto L_02790780; else goto L_02790864;
|
|
L_02790780: ; // 0x2790780
|
|
/* 02790780 */ _t30 = cpu->r[12] + 0x00000030u;
|
|
/* 02790780 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02790784 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790788 */ _t31 = cpu->r[11] + cpu->r[4];
|
|
/* 02790788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0279078C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02790790 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790790 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02790790 */ if (_t33) goto L_0279076C; else goto L_02790794;
|
|
L_02790794: ; // 0x2790794
|
|
/* 02790794 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 02790794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_02790798: ; // 0x2790798
|
|
/* 02790798 */ _t35 = cpu->r[12] + 0x00000030u;
|
|
/* 02790798 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0279079C */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027907A0 */ _t36 = cpu->r[6] + cpu->r[7];
|
|
/* 027907A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027907A4 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 027907A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027907A8 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 027907A8 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 027907AC */ _t39 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027907AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027907B0 */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 027907B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 027907B4 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 027907B8 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 027907B8 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 027907BC */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027907BC */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 027907C0 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 027907C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027907C4 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 027907C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 027907CC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027907CC */ _t45 = _t44 & 0x00000001u;
|
|
/* 027907CC */ if (_t45) goto L_027907D0; else goto L_02790864;
|
|
L_027907D0: ; // 0x27907d0
|
|
/* 027907D0 */ _t46 = cpu->r[31] + 0x00000004u;
|
|
/* 027907D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027907D4 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 027907D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027907D8 */ cpu->r[8] = cpu->r[11] + 0x00000001u;
|
|
/* 027907DC */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 027907DC */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 027907E0 */ _t49 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027907E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 027907E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 027907E8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027907E8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027907E8 */ if (_t51) goto L_027907EC; else goto L_02790864;
|
|
L_027907EC: ; // 0x27907ec
|
|
/* 027907EC */ _t52 = cpu->r[12] + 0x00000030u;
|
|
/* 027907EC */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027907F0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027907F4 */ _t53 = cpu->r[4] + cpu->r[5];
|
|
/* 027907F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027907F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027907FC */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027907FC */ _t55 = _t54 & 0x00000001u;
|
|
/* 027907FC */ if (_t55) goto L_02790800; else goto L_0279082C;
|
|
L_02790800: ; // 0x2790800
|
|
/* 02790800 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790804 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02790804 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02790808 */ _t57 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790808 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0279080C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 02790810 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790810 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02790810 */ if (_t59) goto L_02790814; else goto L_02790864;
|
|
L_02790814: ; // 0x2790814
|
|
/* 02790814 */ _t60 = cpu->r[12] + 0x00000030u;
|
|
/* 02790814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02790818 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0279081C */ _t61 = cpu->r[9] + cpu->r[10];
|
|
/* 0279081C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02790820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790824 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790824 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02790824 */ if (_t63) goto L_02790800; else goto L_02790828;
|
|
L_02790828: ; // 0x2790828
|
|
/* 02790828 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 02790828 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
L_0279082C: ; // 0x279082c
|
|
/* 0279082C */ _t65 = cpu->r[12] + 0x00000030u;
|
|
/* 0279082C */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02790830 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790834 */ _t66 = cpu->r[12] + cpu->r[4];
|
|
/* 02790834 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02790838 */ _t67 = cpu->r[5] + 0x00000008u;
|
|
/* 02790838 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0279083C */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 0279083C */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02790840 */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02790844 */ _t70 = cpu->r[8] + 0x00000004u;
|
|
/* 02790844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02790848 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 0279084C */ _t71 = cpu->r[31] + 0x00000010u;
|
|
/* 0279084C */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02790850 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790850 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02790854 */ _t73 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02790858 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 0279085C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790860 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790860 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02790860 */ if (_t75) goto L_027907D0; else goto L_02790864;
|
|
L_02790864: ; // 0x2790864
|
|
/* 02790864 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02790864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02790868 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279086C */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279086C */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02790870 */ cpu->lr = cpu->r[0];
|
|
/* 02790874 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02790874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02790878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0279087C */ return;
|
|
}
|
|
|
|
// fn_02790880 @ 0x2790880
|
|
void Gambit_fn_02790880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02790880: ; // 0x2790880
|
|
/* 02790880 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790880 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790884 */ _t1 = cpu->r[3] + 0x00000010u;
|
|
/* 02790884 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790888 */ cpu->r[8] = cpu->r[4] + cpu->r[9];
|
|
/* 0279088C */ _t2 = cpu->r[8] + 0x00000004u;
|
|
/* 0279088C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02790890 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02790890 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02790894 */ cpu->r[0] = cpu->r[5] - cpu->r[9];
|
|
/* 02790898 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790898 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0279089C */ _t5 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0279089C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027908A0 */ cpu->r[11] = cpu->r[8] - cpu->r[10];
|
|
/* 027908A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 027908A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027908A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027908A8 */ _t8 = _t7 ^ 0x00000001u;
|
|
/* 027908A8 */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027908A8 */ goto L_027908AC;
|
|
L_027908AC: ; // 0x27908ac
|
|
/* 027908AC */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 027908AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027908B0 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 027908B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027908B4 */ cpu->r[12] = cpu->r[6] + 0x00000001u;
|
|
/* 027908B8 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 027908B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 027908BC */ _t12 = cpu->r[11] + 0x0000002Cu;
|
|
/* 027908BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027908C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 027908C4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027908C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027908C4 */ _t15 = _t14 ^ 0x00000001u;
|
|
/* 027908C4 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027908C4 */ goto L_027908C8;
|
|
L_027908C8: ; // 0x27908c8
|
|
/* 027908C8 */ _t16 = cpu->r[11] + 0x00000030u;
|
|
/* 027908C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027908CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027908D0 */ _t17 = cpu->r[9] + cpu->r[10];
|
|
/* 027908D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027908D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027908D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027908D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 027908D8 */ if (_t19) goto L_027908DC; else goto L_02790908;
|
|
L_027908DC: ; // 0x27908dc
|
|
/* 027908DC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027908E0 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 027908E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 027908E4 */ _t21 = cpu->r[11] + 0x0000002Cu;
|
|
/* 027908E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027908E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 027908EC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027908EC */ _t23 = _t22 & 0x00000001u;
|
|
/* 027908EC */ _t24 = _t23 ^ 0x00000001u;
|
|
/* 027908EC */ if (_t24) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027908EC */ goto L_027908F0;
|
|
L_027908F0: ; // 0x27908f0
|
|
/* 027908F0 */ _t25 = cpu->r[11] + 0x00000030u;
|
|
/* 027908F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027908F4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027908F8 */ _t26 = cpu->r[5] + cpu->r[6];
|
|
/* 027908F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027908FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02790900 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790900 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02790900 */ if (_t28) goto L_027908DC; else goto L_02790904;
|
|
L_02790904: ; // 0x2790904
|
|
/* 02790904 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02790904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
L_02790908: ; // 0x2790908
|
|
/* 02790908 */ _t30 = cpu->r[11] + 0x00000030u;
|
|
/* 02790908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0279090C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790910 */ _t31 = cpu->r[8] + cpu->r[0];
|
|
/* 02790910 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02790914 */ _t32 = cpu->r[10] + 0x00000008u;
|
|
/* 02790914 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02790918 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 02790918 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 0279091C */ _t34 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0279091C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02790920 */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02790920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02790924 */ cpu->r[0] = cpu->r[5] - cpu->r[9];
|
|
/* 02790928 */ _t36 = cpu->r[3] + 0x00000010u;
|
|
/* 02790928 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 0279092C */ _t37 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0279092C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02790930 */ _t38 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02790930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02790934 */ cpu->r[11] = cpu->r[11] - cpu->r[10];
|
|
/* 02790938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0279093C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279093C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0279093C */ if (_t40) goto L_027908AC; else goto L_02790940;
|
|
L_02790940: ; // 0x2790940
|
|
/* 02790940 */ return;
|
|
}
|
|
|
|
// fn_02790944 @ 0x2790944
|
|
void Gambit_fn_02790944(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_02790944: ; // 0x2790944
|
|
/* 02790944 */ cpu->r[0] = cpu->lr;
|
|
/* 02790948 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790948 */ cpu->r[1] = _t0;
|
|
/* 0279094C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0279094C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02790950 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790950 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02790954 */ cpu->r[31] = cpu->r[3];
|
|
/* 02790954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790958 */ cpu->r[30] = cpu->r[4];
|
|
/* 0279095C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0279095C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790960 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790960 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02790960 */ if (_t5) goto L_02790964; else goto L_02790974;
|
|
L_02790964: ; // 0x2790964
|
|
/* 02790964 */ cpu->r[3] = 0x00000014u;
|
|
/* 02790968 */ Gambit_fn_02801A78(cpu);
|
|
/* 0279096C */ cpu->r[31] = cpu->r[3];
|
|
/* 0279096C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790970 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790970 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790970 */ if (_t7) goto L_02790AC4; else goto L_02790974;
|
|
L_02790974: ; // 0x2790974
|
|
/* 02790974 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02790974 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02790978 */ cpu->r[30] = 0x00000000u;
|
|
/* 0279097C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0279097C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790980 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02790980 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02790984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790984 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790984 */ if (_t11) goto L_02790988; else goto L_02790998;
|
|
L_02790988: ; // 0x2790988
|
|
/* 02790988 */ cpu->r[3] = 0x00000008u;
|
|
/* 0279098C */ Gambit_fn_02801A78(cpu);
|
|
/* 02790990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790994 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790994 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02790994 */ if (_t13) goto L_027909A0; else goto L_02790998;
|
|
L_02790998: ; // 0x2790998
|
|
/* 02790998 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02790998 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0279099C */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0279099C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_027909A0: ; // 0x27909a0
|
|
/* 027909A0 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027909A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027909A4 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 027909A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 027909A8 */ _t18 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027909A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027909AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027909B0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027909B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027909B0 */ if (_t20) goto L_027909B4; else goto L_02790AC4;
|
|
L_027909B4: ; // 0x27909b4
|
|
/* 027909B4 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027909B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027909B8 */ _t22 = cpu->r[12] + 0x00000030u;
|
|
/* 027909B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027909BC */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027909C0 */ _t23 = cpu->r[6] + cpu->r[7];
|
|
/* 027909C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027909C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027909C8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027909C8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027909C8 */ if (_t25) goto L_027909CC; else goto L_027909F8;
|
|
L_027909CC: ; // 0x27909cc
|
|
/* 027909CC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027909D0 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 027909D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 027909D4 */ _t27 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027909D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027909D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 027909DC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027909DC */ _t29 = _t28 & 0x00000001u;
|
|
/* 027909DC */ if (_t29) goto L_027909E0; else goto L_02790AC4;
|
|
L_027909E0: ; // 0x27909e0
|
|
/* 027909E0 */ _t30 = cpu->r[12] + 0x00000030u;
|
|
/* 027909E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027909E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027909E8 */ _t31 = cpu->r[11] + cpu->r[4];
|
|
/* 027909E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027909EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027909F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027909F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027909F0 */ if (_t33) goto L_027909CC; else goto L_027909F4;
|
|
L_027909F4: ; // 0x27909f4
|
|
/* 027909F4 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 027909F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_027909F8: ; // 0x27909f8
|
|
/* 027909F8 */ _t35 = cpu->r[12] + 0x00000030u;
|
|
/* 027909F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027909FC */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A00 */ _t36 = cpu->r[6] + cpu->r[7];
|
|
/* 02790A00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02790A04 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 02790A04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02790A08 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 02790A08 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02790A0C */ _t39 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790A0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02790A10 */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 02790A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02790A14 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 02790A18 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 02790A18 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02790A1C */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790A1C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02790A20 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790A20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02790A24 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 02790A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790A2C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A2C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02790A2C */ if (_t45) goto L_02790A30; else goto L_02790AC4;
|
|
L_02790A30: ; // 0x2790a30
|
|
/* 02790A30 */ _t46 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02790A34 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 02790A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02790A38 */ cpu->r[8] = cpu->r[11] + 0x00000001u;
|
|
/* 02790A3C */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A3C */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02790A40 */ _t49 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02790A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02790A48 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790A48 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02790A48 */ if (_t51) goto L_02790A4C; else goto L_02790AC4;
|
|
L_02790A4C: ; // 0x2790a4c
|
|
/* 02790A4C */ _t52 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02790A50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A54 */ _t53 = cpu->r[4] + cpu->r[5];
|
|
/* 02790A54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02790A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02790A5C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A5C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02790A5C */ if (_t55) goto L_02790A60; else goto L_02790A8C;
|
|
L_02790A60: ; // 0x2790a60
|
|
/* 02790A60 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790A64 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A64 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02790A68 */ _t57 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790A68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02790A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 02790A70 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790A70 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02790A70 */ if (_t59) goto L_02790A74; else goto L_02790AC4;
|
|
L_02790A74: ; // 0x2790a74
|
|
/* 02790A74 */ _t60 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02790A78 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A7C */ _t61 = cpu->r[9] + cpu->r[10];
|
|
/* 02790A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02790A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790A84 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A84 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02790A84 */ if (_t63) goto L_02790A60; else goto L_02790A88;
|
|
L_02790A88: ; // 0x2790a88
|
|
/* 02790A88 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 02790A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
L_02790A8C: ; // 0x2790a8c
|
|
/* 02790A8C */ _t65 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02790A90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A94 */ _t66 = cpu->r[12] + cpu->r[4];
|
|
/* 02790A94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02790A98 */ _t67 = cpu->r[5] + 0x00000008u;
|
|
/* 02790A98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02790A9C */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 02790A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02790AA0 */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790AA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02790AA4 */ _t70 = cpu->r[8] + 0x00000004u;
|
|
/* 02790AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02790AA8 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 02790AAC */ _t71 = cpu->r[31] + 0x00000010u;
|
|
/* 02790AAC */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02790AB0 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790AB0 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02790AB4 */ _t73 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02790AB8 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 02790ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790AC0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790AC0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02790AC0 */ if (_t75) goto L_02790A30; else goto L_02790AC4;
|
|
L_02790AC4: ; // 0x2790ac4
|
|
/* 02790AC4 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02790AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02790AC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790ACC */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02790AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02790AD4 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02790AD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02790AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790ADC */ return;
|
|
}
|
|
|
|
// fn_02790948 @ 0x2790948
|
|
void Gambit_fn_02790948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_02790948: ; // 0x2790948
|
|
/* 02790948 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02790948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790948 */ cpu->r[1] = _t0;
|
|
/* 0279094C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0279094C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02790950 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790950 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02790954 */ cpu->r[31] = cpu->r[3];
|
|
/* 02790954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790958 */ cpu->r[30] = cpu->r[4];
|
|
/* 0279095C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0279095C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02790960 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790960 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02790960 */ if (_t5) goto L_02790964; else goto L_02790974;
|
|
L_02790964: ; // 0x2790964
|
|
/* 02790964 */ cpu->r[3] = 0x00000014u;
|
|
/* 02790968 */ Gambit_fn_02801A78(cpu);
|
|
/* 0279096C */ cpu->r[31] = cpu->r[3];
|
|
/* 0279096C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790970 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790970 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790970 */ if (_t7) goto L_02790AC4; else goto L_02790974;
|
|
L_02790974: ; // 0x2790974
|
|
/* 02790974 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02790974 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02790978 */ cpu->r[30] = 0x00000000u;
|
|
/* 0279097C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0279097C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790980 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02790980 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02790984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790984 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02790984 */ if (_t11) goto L_02790988; else goto L_02790998;
|
|
L_02790988: ; // 0x2790988
|
|
/* 02790988 */ cpu->r[3] = 0x00000008u;
|
|
/* 0279098C */ Gambit_fn_02801A78(cpu);
|
|
/* 02790990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790994 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790994 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02790994 */ if (_t13) goto L_027909A0; else goto L_02790998;
|
|
L_02790998: ; // 0x2790998
|
|
/* 02790998 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02790998 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0279099C */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0279099C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_027909A0: ; // 0x27909a0
|
|
/* 027909A0 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 027909A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027909A4 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 027909A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 027909A8 */ _t18 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027909A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027909AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027909B0 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027909B0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027909B0 */ if (_t20) goto L_027909B4; else goto L_02790AC4;
|
|
L_027909B4: ; // 0x27909b4
|
|
/* 027909B4 */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 027909B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027909B8 */ _t22 = cpu->r[12] + 0x00000030u;
|
|
/* 027909B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027909BC */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027909C0 */ _t23 = cpu->r[6] + cpu->r[7];
|
|
/* 027909C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027909C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027909C8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027909C8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027909C8 */ if (_t25) goto L_027909CC; else goto L_027909F8;
|
|
L_027909CC: ; // 0x27909cc
|
|
/* 027909CC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 027909D0 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 027909D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 027909D4 */ _t27 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027909D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027909D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 027909DC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027909DC */ _t29 = _t28 & 0x00000001u;
|
|
/* 027909DC */ if (_t29) goto L_027909E0; else goto L_02790AC4;
|
|
L_027909E0: ; // 0x27909e0
|
|
/* 027909E0 */ _t30 = cpu->r[12] + 0x00000030u;
|
|
/* 027909E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027909E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027909E8 */ _t31 = cpu->r[11] + cpu->r[4];
|
|
/* 027909E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027909EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027909F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027909F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027909F0 */ if (_t33) goto L_027909CC; else goto L_027909F4;
|
|
L_027909F4: ; // 0x27909f4
|
|
/* 027909F4 */ _t34 = cpu->r[31] + 0x00000000u;
|
|
/* 027909F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
L_027909F8: ; // 0x27909f8
|
|
/* 027909F8 */ _t35 = cpu->r[12] + 0x00000030u;
|
|
/* 027909F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027909FC */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A00 */ _t36 = cpu->r[6] + cpu->r[7];
|
|
/* 02790A00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02790A04 */ _t37 = cpu->r[9] + 0x00000008u;
|
|
/* 02790A04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02790A08 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 02790A08 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02790A0C */ _t39 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790A0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02790A10 */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 02790A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02790A14 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 02790A18 */ _t41 = cpu->r[31] + 0x00000010u;
|
|
/* 02790A18 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02790A1C */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790A1C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02790A20 */ _t43 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790A20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02790A24 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 02790A28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790A2C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A2C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02790A2C */ if (_t45) goto L_02790A30; else goto L_02790AC4;
|
|
L_02790A30: ; // 0x2790a30
|
|
/* 02790A30 */ _t46 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02790A34 */ _t47 = cpu->r[31] + 0x00000000u;
|
|
/* 02790A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02790A38 */ cpu->r[8] = cpu->r[11] + 0x00000001u;
|
|
/* 02790A3C */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A3C */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02790A40 */ _t49 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02790A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02790A48 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790A48 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02790A48 */ if (_t51) goto L_02790A4C; else goto L_02790AC4;
|
|
L_02790A4C: ; // 0x2790a4c
|
|
/* 02790A4C */ _t52 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02790A50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A54 */ _t53 = cpu->r[4] + cpu->r[5];
|
|
/* 02790A54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02790A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02790A5C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A5C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02790A5C */ if (_t55) goto L_02790A60; else goto L_02790A8C;
|
|
L_02790A60: ; // 0x2790a60
|
|
/* 02790A60 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02790A64 */ _t56 = cpu->r[31] + 0x00000004u;
|
|
/* 02790A64 */ rbrew_write32(cpu->mem, _t56, cpu->r[8]);
|
|
/* 02790A68 */ _t57 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02790A68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02790A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[7]);
|
|
/* 02790A70 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790A70 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02790A70 */ if (_t59) goto L_02790A74; else goto L_02790AC4;
|
|
L_02790A74: ; // 0x2790a74
|
|
/* 02790A74 */ _t60 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02790A78 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A7C */ _t61 = cpu->r[9] + cpu->r[10];
|
|
/* 02790A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02790A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790A84 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790A84 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02790A84 */ if (_t63) goto L_02790A60; else goto L_02790A88;
|
|
L_02790A88: ; // 0x2790a88
|
|
/* 02790A88 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 02790A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
L_02790A8C: ; // 0x2790a8c
|
|
/* 02790A8C */ _t65 = cpu->r[12] + 0x00000030u;
|
|
/* 02790A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02790A90 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790A94 */ _t66 = cpu->r[12] + cpu->r[4];
|
|
/* 02790A94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02790A98 */ _t67 = cpu->r[5] + 0x00000008u;
|
|
/* 02790A98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02790A9C */ _t68 = cpu->r[31] + 0x00000008u;
|
|
/* 02790A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[8]);
|
|
/* 02790AA0 */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790AA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02790AA4 */ _t70 = cpu->r[8] + 0x00000004u;
|
|
/* 02790AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02790AA8 */ cpu->r[0] = cpu->r[10] - cpu->r[9];
|
|
/* 02790AAC */ _t71 = cpu->r[31] + 0x00000010u;
|
|
/* 02790AAC */ rbrew_write32(cpu->mem, _t71, cpu->r[9]);
|
|
/* 02790AB0 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02790AB0 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 02790AB4 */ _t73 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790AB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02790AB8 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 02790ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02790AC0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790AC0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02790AC0 */ if (_t75) goto L_02790A30; else goto L_02790AC4;
|
|
L_02790AC4: ; // 0x2790ac4
|
|
/* 02790AC4 */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 02790AC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02790AC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02790ACC */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790ACC */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02790AD0 */ cpu->lr = cpu->r[0];
|
|
/* 02790AD4 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02790AD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02790AD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02790ADC */ return;
|
|
}
|
|
|
|
// fn_02790AE0 @ 0x2790ae0
|
|
void Gambit_fn_02790AE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02790AE0: ; // 0x2790ae0
|
|
/* 02790AE0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790AE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02790AE4 */ _t1 = cpu->r[3] + 0x00000010u;
|
|
/* 02790AE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02790AE8 */ cpu->r[8] = cpu->r[4] + cpu->r[9];
|
|
/* 02790AEC */ _t2 = cpu->r[8] + 0x00000004u;
|
|
/* 02790AEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02790AF0 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02790AF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02790AF4 */ cpu->r[0] = cpu->r[5] - cpu->r[9];
|
|
/* 02790AF8 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790AF8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02790AFC */ _t5 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02790AFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02790B00 */ cpu->r[11] = cpu->r[8] - cpu->r[10];
|
|
/* 02790B04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02790B08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790B08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02790B08 */ _t8 = _t7 ^ 0x00000001u;
|
|
/* 02790B08 */ if (_t8) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790B08 */ goto L_02790B0C;
|
|
L_02790B0C: ; // 0x2790b0c
|
|
/* 02790B0C */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02790B0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790B10 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02790B10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02790B14 */ cpu->r[12] = cpu->r[6] + 0x00000001u;
|
|
/* 02790B18 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02790B18 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02790B1C */ _t12 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02790B1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02790B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02790B24 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790B24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02790B24 */ _t15 = _t14 ^ 0x00000001u;
|
|
/* 02790B24 */ if (_t15) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790B24 */ goto L_02790B28;
|
|
L_02790B28: ; // 0x2790b28
|
|
/* 02790B28 */ _t16 = cpu->r[11] + 0x00000030u;
|
|
/* 02790B28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790B2C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790B30 */ _t17 = cpu->r[9] + cpu->r[10];
|
|
/* 02790B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02790B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790B38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790B38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02790B38 */ if (_t19) goto L_02790B3C; else goto L_02790B68;
|
|
L_02790B3C: ; // 0x2790b3c
|
|
/* 02790B3C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02790B40 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02790B40 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02790B44 */ _t21 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02790B44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02790B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02790B4C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790B4C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02790B4C */ _t24 = _t23 ^ 0x00000001u;
|
|
/* 02790B4C */ if (_t24) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02790B4C */ goto L_02790B50;
|
|
L_02790B50: ; // 0x2790b50
|
|
/* 02790B50 */ _t25 = cpu->r[11] + 0x00000030u;
|
|
/* 02790B50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02790B54 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790B58 */ _t26 = cpu->r[5] + cpu->r[6];
|
|
/* 02790B58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02790B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02790B60 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790B60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02790B60 */ if (_t28) goto L_02790B3C; else goto L_02790B64;
|
|
L_02790B64: ; // 0x2790b64
|
|
/* 02790B64 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02790B64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
L_02790B68: ; // 0x2790b68
|
|
/* 02790B68 */ _t30 = cpu->r[11] + 0x00000030u;
|
|
/* 02790B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02790B6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790B70 */ _t31 = cpu->r[8] + cpu->r[0];
|
|
/* 02790B70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02790B74 */ _t32 = cpu->r[10] + 0x00000008u;
|
|
/* 02790B74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02790B78 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 02790B78 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02790B7C */ _t34 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02790B7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02790B80 */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02790B80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02790B84 */ cpu->r[0] = cpu->r[5] - cpu->r[9];
|
|
/* 02790B88 */ _t36 = cpu->r[3] + 0x00000010u;
|
|
/* 02790B88 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 02790B8C */ _t37 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790B8C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02790B90 */ _t38 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02790B90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02790B94 */ cpu->r[11] = cpu->r[11] - cpu->r[10];
|
|
/* 02790B98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02790B9C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790B9C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02790B9C */ if (_t40) goto L_02790B0C; else goto L_02790BA0;
|
|
L_02790BA0: ; // 0x2790ba0
|
|
/* 02790BA0 */ return;
|
|
}
|
|
|
|
// fn_02790BA4 @ 0x2790ba4
|
|
void Gambit_fn_02790BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02790BA4: ; // 0x2790ba4
|
|
/* 02790BA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02790BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790BA4 */ cpu->r[1] = _t0;
|
|
/* 02790BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02790BAC */ /* nop */
|
|
/* 02790BB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02790BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790BB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02790BB8 */ cpu->r[28] = cpu->r[5];
|
|
/* 02790BBC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02790BBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02790BC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790BC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02790BC0 */ if (_t3) goto L_02790BC4; else goto L_02790BD4;
|
|
L_02790BC4: ; // 0x2790bc4
|
|
/* 02790BC4 */ cpu->r[3] = 0x00000238u;
|
|
/* 02790BC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790BCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02790BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02790BD0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790BD0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02790BD0 */ if (_t5) goto L_02790E38; else goto L_02790BD4;
|
|
L_02790BD4: ; // 0x2790bd4
|
|
/* 02790BD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02790BD8 */ Gambit_fn_0279039C(cpu);
|
|
/* 02790BDC */ cpu->r[7] = 0x10100000u;
|
|
/* 02790BE0 */ cpu->r[6] = 0x02790000u;
|
|
/* 02790BE4 */ cpu->r[3] = cpu->r[30] + 0x00000034u;
|
|
/* 02790BE8 */ cpu->r[7] = cpu->r[7] + 0x00006F1Cu;
|
|
/* 02790BEC */ cpu->r[6] = cpu->r[6] + 0x000021ACu;
|
|
/* 02790BF0 */ cpu->r[4] = 0x0000000Du;
|
|
/* 02790BF4 */ cpu->r[5] = 0x00000010u;
|
|
/* 02790BF8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02790BF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02790BFC */ Gambit_fn_02C82E00(cpu);
|
|
/* 02790C00 */ cpu->r[27] = cpu->r[30] + 0x00000204u;
|
|
/* 02790C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02790C04 */ cpu->r[29] = 0x00000000u;
|
|
/* 02790C08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02790C08 */ if (_t8) goto L_02790C0C; else goto L_02790C1C;
|
|
L_02790C0C: ; // 0x2790c0c
|
|
/* 02790C0C */ cpu->r[3] = 0x00000010u;
|
|
/* 02790C10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790C14 */ cpu->r[27] = cpu->r[3];
|
|
/* 02790C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02790C18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02790C18 */ if (_t10) goto L_02790C48; else goto L_02790C1C;
|
|
L_02790C1C: ; // 0x2790c1c
|
|
/* 02790C1C */ cpu->r[3] = cpu->r[27];
|
|
/* 02790C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02790C20 */ if (_t12) goto L_02790C24; else goto L_02790C34;
|
|
L_02790C24: ; // 0x2790c24
|
|
/* 02790C24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02790C28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C30 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C30 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02790C30 */ if (_t14) goto L_02790C40; else goto L_02790C34;
|
|
L_02790C34: ; // 0x2790c34
|
|
/* 02790C34 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02790C34 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02790C38 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02790C38 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02790C3C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02790C3C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
L_02790C40: ; // 0x2790c40
|
|
/* 02790C40 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02790C44 */ _t18 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02790C44 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02790C48: ; // 0x2790c48
|
|
/* 02790C48 */ cpu->r[3] = cpu->r[30] + 0x0000021Cu;
|
|
/* 02790C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C4C */ _t19 = cpu->r[30] + 0x00000214u;
|
|
/* 02790C4C */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02790C50 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C50 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02790C50 */ if (_t21) goto L_02790C54; else goto L_02790C64;
|
|
L_02790C54: ; // 0x2790c54
|
|
/* 02790C54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02790C58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C60 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C60 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02790C60 */ if (_t23) goto L_02790C6C; else goto L_02790C64;
|
|
L_02790C64: ; // 0x2790c64
|
|
/* 02790C64 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02790C64 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02790C68 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02790C68 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_02790C6C: ; // 0x2790c6c
|
|
/* 02790C6C */ cpu->r[3] = cpu->r[30] + 0x00000224u;
|
|
/* 02790C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C70 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C70 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02790C70 */ if (_t27) goto L_02790C74; else goto L_02790C84;
|
|
L_02790C74: ; // 0x2790c74
|
|
/* 02790C74 */ cpu->r[3] = 0x00000008u;
|
|
/* 02790C78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C80 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C80 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02790C80 */ if (_t29) goto L_02790C8C; else goto L_02790C84;
|
|
L_02790C84: ; // 0x2790c84
|
|
/* 02790C84 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02790C84 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02790C88 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02790C88 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_02790C8C: ; // 0x2790c8c
|
|
/* 02790C8C */ cpu->r[3] = cpu->r[30] + 0x00000230u;
|
|
/* 02790C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790C90 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790C90 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02790C90 */ if (_t33) goto L_02790C94; else goto L_02790CA4;
|
|
L_02790C94: ; // 0x2790c94
|
|
/* 02790C94 */ cpu->r[3] = 0x00000004u;
|
|
/* 02790C98 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790CA0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790CA0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02790CA0 */ if (_t35) goto L_02790CA8; else goto L_02790CA4;
|
|
L_02790CA4: ; // 0x2790ca4
|
|
/* 02790CA4 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02790CA4 */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
L_02790CA8: ; // 0x2790ca8
|
|
/* 02790CA8 */ cpu->r[3] = cpu->r[30] + 0x00000234u;
|
|
/* 02790CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790CAC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790CAC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02790CAC */ if (_t38) goto L_02790CB0; else goto L_02790CC0;
|
|
L_02790CB0: ; // 0x2790cb0
|
|
/* 02790CB0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02790CB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02790CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790CBC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790CBC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02790CBC */ if (_t40) goto L_02790CC4; else goto L_02790CC0;
|
|
L_02790CC0: ; // 0x2790cc0
|
|
/* 02790CC0 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02790CC0 */ rbrew_write32(cpu->mem, _t41, cpu->r[29]);
|
|
L_02790CC4: ; // 0x2790cc4
|
|
/* 02790CC4 */ _t42 = cpu->r[30] + 0x00000030u;
|
|
/* 02790CC4 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02790CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790CCC */ _t43 = cpu->r[30] + 0x00000028u;
|
|
/* 02790CCC */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 02790CD0 */ _t44 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02790CD0 */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 02790CD4 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790CD4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02790CD4 */ if (_t46) goto L_02790CD8; else goto L_02790CF4;
|
|
L_02790CD8: ; // 0x2790cd8
|
|
/* 02790CD8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790CDC */ Gambit_fn_02801A8C(cpu);
|
|
/* 02790CE0 */ _t47 = cpu->r[30] + 0x00000028u;
|
|
/* 02790CE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02790CE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02790CE8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790CEC */ _t48 = cpu->r[30] + 0x00000030u;
|
|
/* 02790CEC */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 02790CF0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02790CF4: ; // 0x2790cf4
|
|
/* 02790CF4 */ cpu->r[0] = 0x0000000Du;
|
|
/* 02790CF8 */ cpu->r[7] = cpu->r[30] + 0x00000034u;
|
|
/* 02790CFC */ cpu->ctr = cpu->r[0];
|
|
/* 02790D00 */ cpu->r[9] = 0x00000000u;
|
|
L_02790D04: ; // 0x2790d04
|
|
/* 02790D04 */ _t49 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02790D04 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 02790D08 */ cpu->r[7] = cpu->r[7] + 0x00000010u;
|
|
/* 02790D0C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02790D0C */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02790D0C */ _t51 = _t50 >> (0x00000002u & 31u);
|
|
/* 02790D0C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02790D0C */ if (_t52) goto L_02790D04; else goto L_02790D10;
|
|
L_02790D10: ; // 0x2790d10
|
|
/* 02790D10 */ _t53 = cpu->r[30] + 0x00000210u;
|
|
/* 02790D10 */ rbrew_write32(cpu->mem, _t53, cpu->r[29]);
|
|
/* 02790D14 */ cpu->r[6] = 0x00000000u;
|
|
/* 02790D18 */ cpu->r[12] = 0x000000FFu;
|
|
/* 02790D1C */ cpu->r[10] = 0x00000100u;
|
|
/* 02790D20 */ cpu->r[5] = cpu->r[30] + 0x00000104u;
|
|
/* 02790D24 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02790D28 */ cpu->ctr = cpu->r[10];
|
|
/* 02790D2C */ _t54 = cpu->r[30] + 0x00000218u;
|
|
/* 02790D2C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
L_02790D30: ; // 0x2790d30
|
|
/* 02790D30 */ _t55 = cpu->r[5] + cpu->r[6];
|
|
/* 02790D30 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[12]);
|
|
/* 02790D34 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02790D38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02790D38 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02790D38 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02790D38 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02790D38 */ if (_t58) goto L_02790D30; else goto L_02790D3C;
|
|
L_02790D3C: ; // 0x2790d3c
|
|
/* 02790D3C */ _t59 = cpu->r[30] + 0x00000028u;
|
|
/* 02790D3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02790D40 */ cpu->r[0] = 0x00000000u;
|
|
/* 02790D44 */ _t60 = cpu->r[30] + 0x00000230u;
|
|
/* 02790D44 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02790D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790D4C */ _t61 = cpu->r[30] + 0x00000234u;
|
|
/* 02790D4C */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02790D50 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790D50 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02790D50 */ if (_t63) goto L_02790D54; else goto L_02790E34;
|
|
L_02790D54: ; // 0x2790d54
|
|
/* 02790D54 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02790D58 */ _t64 = cpu->r[28] + 0xFFFF98F0u;
|
|
/* 02790D58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02790D58 */ cpu->r[28] = _t64;
|
|
/* 02790D5C */ Gambit_fn_02826F20(cpu);
|
|
/* 02790D60 */ _t65 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790D60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02790D64 */ _t66 = cpu->r[11] + 0x00000034u;
|
|
/* 02790D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02790D68 */ cpu->ctr = cpu->r[0];
|
|
/* 02790D6C */ cpu->r[5] = 0x00000004u;
|
|
/* 02790D70 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790D74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02790D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790D7C */ cpu->r[0] = cpu->r[31];
|
|
/* 02790D80 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790D80 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02790D80 */ if (_t68) goto L_02790D88; else goto L_02790D84;
|
|
L_02790D84: ; // 0x2790d84
|
|
/* 02790D84 */ cpu->r[0] = 0x00000001u;
|
|
L_02790D88: ; // 0x2790d88
|
|
/* 02790D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790D8C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790D8C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02790D8C */ if (_t70) goto L_02790D98; else goto L_02790D90;
|
|
L_02790D90: ; // 0x2790d90
|
|
/* 02790D90 */ _t71 = cpu->r[30] + 0x00000220u;
|
|
/* 02790D90 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
|
|
/* 02790D94 */ _t72 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02790D94 */ rbrew_write32(cpu->mem, _t72, cpu->r[31]);
|
|
L_02790D98: ; // 0x2790d98
|
|
/* 02790D98 */ _t73 = cpu->r[30] + 0x00000028u;
|
|
/* 02790D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02790D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790DA0 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790DA0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02790DA0 */ if (_t75) goto L_02790DA4; else goto L_02790DE4;
|
|
L_02790DA4: ; // 0x2790da4
|
|
/* 02790DA4 */ _t76 = cpu->r[28] + 0x00000000u;
|
|
/* 02790DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02790DA8 */ Gambit_fn_02826F20(cpu);
|
|
/* 02790DAC */ _t77 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02790DAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02790DB0 */ _t78 = cpu->r[6] + 0x00000034u;
|
|
/* 02790DB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02790DB4 */ cpu->ctr = cpu->r[8];
|
|
/* 02790DB8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02790DBC */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790DC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02790DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02790DC8 */ cpu->r[12] = cpu->r[31];
|
|
/* 02790DCC */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790DCC */ _t80 = _t79 & 0x00000001u;
|
|
/* 02790DCC */ if (_t80) goto L_02790DD4; else goto L_02790DD0;
|
|
L_02790DD0: ; // 0x2790dd0
|
|
/* 02790DD0 */ cpu->r[12] = 0x00000001u;
|
|
L_02790DD4: ; // 0x2790dd4
|
|
/* 02790DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02790DD8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790DD8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02790DD8 */ if (_t82) goto L_02790DE4; else goto L_02790DDC;
|
|
L_02790DDC: ; // 0x2790ddc
|
|
/* 02790DDC */ _t83 = cpu->r[30] + 0x00000228u;
|
|
/* 02790DDC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
/* 02790DE0 */ _t84 = cpu->r[30] + 0x00000224u;
|
|
/* 02790DE0 */ rbrew_write32(cpu->mem, _t84, cpu->r[31]);
|
|
L_02790DE4: ; // 0x2790de4
|
|
/* 02790DE4 */ _t85 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02790DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02790DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790DEC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790DEC */ _t87 = _t86 & 0x00000001u;
|
|
/* 02790DEC */ if (_t87) goto L_02790DF0; else goto L_02790E0C;
|
|
L_02790DF0: ; // 0x2790df0
|
|
/* 02790DF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02790DF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02790DF8 */ cpu->r[0] = cpu->r[9];
|
|
L_02790DFC: ; // 0x2790dfc
|
|
/* 02790DFC */ _t88 = cpu->r[30] + 0x00000220u;
|
|
/* 02790DFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02790E00 */ _t89 = cpu->r[10] + cpu->r[9];
|
|
/* 02790E00 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02790E04 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02790E08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02790E08 */ _t90 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02790E08 */ _t91 = _t90 >> (0x00000002u & 31u);
|
|
/* 02790E08 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02790E08 */ if (_t92) goto L_02790DFC; else goto L_02790E0C;
|
|
L_02790E0C: ; // 0x2790e0c
|
|
/* 02790E0C */ _t93 = cpu->r[30] + 0x00000224u;
|
|
/* 02790E0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02790E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02790E14 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790E14 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02790E14 */ if (_t95) goto L_02790E18; else goto L_02790E34;
|
|
L_02790E18: ; // 0x2790e18
|
|
/* 02790E18 */ cpu->r[6] = 0x00000000u;
|
|
/* 02790E1C */ cpu->ctr = cpu->r[8];
|
|
/* 02790E20 */ cpu->r[8] = cpu->r[6];
|
|
L_02790E24: ; // 0x2790e24
|
|
/* 02790E24 */ _t96 = cpu->r[30] + 0x00000228u;
|
|
/* 02790E24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02790E28 */ _t97 = cpu->r[12] + cpu->r[6];
|
|
/* 02790E28 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
|
|
/* 02790E2C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02790E30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02790E30 */ _t98 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02790E30 */ _t99 = _t98 >> (0x00000002u & 31u);
|
|
/* 02790E30 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02790E30 */ if (_t100) goto L_02790E24; else goto L_02790E34;
|
|
L_02790E34: ; // 0x2790e34
|
|
/* 02790E34 */ _t101 = cpu->r[30] + 0x0000022Cu;
|
|
/* 02790E34 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[29]);
|
|
L_02790E38: ; // 0x2790e38
|
|
/* 02790E38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02790E3C */ /* nop */
|
|
/* 02790E40 */ _t102 = cpu->r[1] + 0x00000024u;
|
|
/* 02790E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02790E44 */ cpu->lr = cpu->r[0];
|
|
/* 02790E48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02790E4C */ return;
|
|
}
|
|
|
|
// fn_02790E50 @ 0x2790e50
|
|
void Gambit_fn_02790E50(CPUState* 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_02790E50: ; // 0x2790e50
|
|
/* 02790E50 */ cpu->r[0] = cpu->lr;
|
|
/* 02790E54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02790E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790E54 */ cpu->r[1] = _t0;
|
|
/* 02790E58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02790E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02790E5C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02790E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02790E60 */ cpu->r[28] = cpu->r[5];
|
|
/* 02790E64 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02790E68 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02790E68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02790E6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790E6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02790E70 */ cpu->r[29] = cpu->r[6];
|
|
/* 02790E74 */ cpu->r[31] = cpu->r[4];
|
|
/* 02790E78 */ _t6 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02790E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02790E7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02790E80 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 02790E84 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02790E88 */ _t7 = cpu->r[28] + 0x00000008u;
|
|
/* 02790E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02790E8C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02790E90 */ _t8 = cpu->r[28] + 0x00000008u;
|
|
/* 02790E90 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02790E94 */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02790E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 02790E9C */ _t10 = cpu->r[30] + 0x00000220u;
|
|
/* 02790E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02790EA0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790EA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02790EA0 */ if (_t12) goto L_02790EA4; else goto L_02790EAC;
|
|
L_02790EA4: ; // 0x2790ea4
|
|
/* 02790EA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790EA8 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02790EAC: ; // 0x2790eac
|
|
/* 02790EAC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02790EAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02790EB0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02790EB4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02790EB8 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 02790EB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02790EBC */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02790EBC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02790EC0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02790EC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790EC4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790EC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02790EC8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02790ECC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02790ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02790ED0 */ cpu->lr = cpu->r[0];
|
|
/* 02790ED4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02790ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02790ED8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02790EDC */ return;
|
|
}
|
|
|
|
// fn_02790E54 @ 0x2790e54
|
|
void Gambit_fn_02790E54(CPUState* 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_02790E54: ; // 0x2790e54
|
|
/* 02790E54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02790E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790E54 */ cpu->r[1] = _t0;
|
|
/* 02790E58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02790E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02790E5C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02790E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02790E60 */ cpu->r[28] = cpu->r[5];
|
|
/* 02790E64 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02790E68 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02790E68 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02790E6C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790E6C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02790E70 */ cpu->r[29] = cpu->r[6];
|
|
/* 02790E74 */ cpu->r[31] = cpu->r[4];
|
|
/* 02790E78 */ _t6 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02790E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02790E7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02790E80 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 02790E84 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02790E88 */ _t7 = cpu->r[28] + 0x00000008u;
|
|
/* 02790E88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02790E8C */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02790E90 */ _t8 = cpu->r[28] + 0x00000008u;
|
|
/* 02790E90 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02790E94 */ _t9 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02790E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02790E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[8]);
|
|
/* 02790E9C */ _t10 = cpu->r[30] + 0x00000220u;
|
|
/* 02790E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02790EA0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790EA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02790EA0 */ if (_t12) goto L_02790EA4; else goto L_02790EAC;
|
|
L_02790EA4: ; // 0x2790ea4
|
|
/* 02790EA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790EA8 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02790EAC: ; // 0x2790eac
|
|
/* 02790EAC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02790EAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02790EB0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02790EB4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02790EB8 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 02790EB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02790EBC */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02790EBC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02790EC0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02790EC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790EC4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02790EC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02790EC8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02790EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02790ECC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02790ECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02790ED0 */ cpu->lr = cpu->r[0];
|
|
/* 02790ED4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02790ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02790ED8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02790EDC */ return;
|
|
}
|
|
|
|
// fn_02790EE0 @ 0x2790ee0
|
|
void Gambit_fn_02790EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02790EE0: ; // 0x2790ee0
|
|
/* 02790EE0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02790EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02790EE0 */ cpu->r[1] = _t0;
|
|
/* 02790EE4 */ /* nop */
|
|
/* 02790EE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02790EEC */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02790EEC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02790EF0 */ cpu->r[25] = cpu->r[6];
|
|
/* 02790EF4 */ cpu->r[23] = cpu->r[3];
|
|
/* 02790EF8 */ _t2 = cpu->r[23] + 0x00000030u;
|
|
/* 02790EF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02790EFC */ cpu->r[31] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02790F00 */ _t3 = cpu->r[10] + cpu->r[31];
|
|
/* 02790F00 */ cpu->r[20] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02790F04 */ _t4 = cpu->r[20] + 0x00000078u;
|
|
/* 02790F04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02790F08 */ cpu->r[26] = cpu->r[4];
|
|
/* 02790F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02790F10 */ cpu->r[24] = cpu->r[5];
|
|
/* 02790F14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790F14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02790F14 */ if (_t6) goto L_02790F18; else goto L_02791024;
|
|
L_02790F18: ; // 0x2790f18
|
|
/* 02790F18 */ cpu->r[22] = cpu->r[20] + 0x00000010u;
|
|
/* 02790F1C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02790F20 */ cpu->r[29] = 0x00000040u;
|
|
/* 02790F24 */ cpu->r[28] = 0x00000010u;
|
|
/* 02790F28 */ cpu->r[27] = 0x00000009u;
|
|
L_02790F2C: ; // 0x2790f2c
|
|
/* 02790F2C */ _t7 = cpu->r[22] + cpu->r[28];
|
|
/* 02790F2C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02790F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02790F34 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790F34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02790F34 */ if (_t9) goto L_0279100C; else goto L_02790F38;
|
|
L_02790F38: ; // 0x2790f38
|
|
/* 02790F38 */ _t10 = cpu->r[30] + 0xFFFF9038u;
|
|
/* 02790F38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02790F3C */ cpu->r[19] = cpu->r[20] + cpu->r[28];
|
|
/* 02790F40 */ Gambit_fn_02792A14(cpu);
|
|
/* 02790F44 */ _t11 = cpu->r[19] + 0x00000044u;
|
|
/* 02790F44 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02790F44 */ cpu->r[19] = _t11;
|
|
/* 02790F48 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 02790F48 */ rbrew_write32(cpu->mem, _t12, cpu->r[25]);
|
|
/* 02790F4C */ _t13 = cpu->r[19] + 0x00000000u;
|
|
/* 02790F4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02790F50 */ _t14 = cpu->r[22] + cpu->r[28];
|
|
/* 02790F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02790F54 */ cpu->r[21] = cpu->r[23] + cpu->r[29];
|
|
/* 02790F58 */ _t15 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02790F58 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02790F5C */ _t16 = cpu->r[21] + 0x00000038u;
|
|
/* 02790F5C */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02790F60 */ _t17 = cpu->r[21] + 0x00000040u;
|
|
/* 02790F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02790F64 */ cpu->r[21] = cpu->r[21] + 0x00000034u;
|
|
/* 02790F68 */ cpu->r[0] = cpu->r[21] - cpu->r[8];
|
|
/* 02790F6C */ cpu->r[6] = cpu->r[7] - cpu->r[8];
|
|
/* 02790F70 */ _t18 = cpu->r[19] + 0x00000000u;
|
|
/* 02790F70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02790F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02790F78 */ cpu->r[7] = cpu->r[8];
|
|
/* 02790F7C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790F7C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02790F7C */ if (_t20) goto L_02790F80; else goto L_02790F88;
|
|
L_02790F80: ; // 0x2790f80
|
|
/* 02790F80 */ cpu->r[3] = cpu->r[21];
|
|
/* 02790F84 */ goto L_02790FF8;
|
|
L_02790F88: ; // 0x2790f88
|
|
/* 02790F88 */ _t21 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02790F88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
L_02790F8C: ; // 0x2790f8c
|
|
/* 02790F8C */ _t22 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02790F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02790F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02790F94 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790F94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02790F94 */ if (_t24) goto L_02790FC8; else goto L_02790F98;
|
|
L_02790F98: ; // 0x2790f98
|
|
/* 02790F98 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02790F98 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02790F98 */ if (_t26) goto L_02790FAC; else goto L_02790F9C;
|
|
L_02790F9C: ; // 0x2790f9c
|
|
/* 02790F9C */ _t27 = cpu->r[6] + 0x00000008u;
|
|
/* 02790F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02790FA0 */ _t28 = cpu->r[5] + 0x00000008u;
|
|
/* 02790FA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02790FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[10]);
|
|
/* 02790FA8 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02790FA8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02790FA8 */ if (_t30) goto L_02790FC8; else goto L_02790FAC;
|
|
L_02790FAC: ; // 0x2790fac
|
|
/* 02790FAC */ cpu->r[12] = cpu->r[6] + cpu->r[7];
|
|
/* 02790FB0 */ _t31 = cpu->r[12] + 0x00000004u;
|
|
/* 02790FB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02790FB4 */ cpu->r[6] = cpu->r[11] - cpu->r[7];
|
|
/* 02790FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02790FBC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790FBC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02790FBC */ if (_t33) goto L_02790FC0; else goto L_02790F8C;
|
|
L_02790FC0: ; // 0x2790fc0
|
|
/* 02790FC0 */ cpu->r[3] = cpu->r[21];
|
|
/* 02790FC4 */ goto L_02790FF8;
|
|
L_02790FC8: ; // 0x2790fc8
|
|
/* 02790FC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02790FCC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02790FCC */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 02790FD0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02790FD0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02790FD0 */ if (_t36) goto L_02790FF4; else goto L_02790FD4;
|
|
L_02790FD4: ; // 0x2790fd4
|
|
/* 02790FD4 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02790FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02790FD8 */ cpu->r[4] = cpu->r[5] + cpu->r[8];
|
|
/* 02790FDC */ cpu->r[3] = cpu->r[12] + cpu->r[8];
|
|
/* 02790FE0 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02790FE4 */ _t38 = cpu->r[21] + 0x00000008u;
|
|
/* 02790FE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02790FE8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02790FEC */ _t39 = cpu->r[21] + 0x00000008u;
|
|
/* 02790FEC */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02790FF0 */ goto L_0279100C;
|
|
L_02790FF4: ; // 0x2790ff4
|
|
/* 02790FF4 */ cpu->r[3] = cpu->r[21];
|
|
L_02790FF8: ; // 0x2790ff8
|
|
/* 02790FF8 */ cpu->r[4] = cpu->r[5] + cpu->r[8];
|
|
/* 02790FFC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791000 */ _t40 = cpu->r[21] + 0x00000008u;
|
|
/* 02791000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02791004 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02791008 */ _t41 = cpu->r[21] + 0x00000008u;
|
|
/* 02791008 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
L_0279100C: ; // 0x279100c
|
|
/* 0279100C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0279100C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02791010 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02791014 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02791018 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791018 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02791018 */ if (_t43) goto L_0279101C; else goto L_02790F2C;
|
|
L_0279101C: ; // 0x279101c
|
|
/* 0279101C */ cpu->r[5] = 0x00000001u;
|
|
/* 02791020 */ _t44 = cpu->r[20] + 0x00000078u;
|
|
/* 02791020 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[5]);
|
|
L_02791024: ; // 0x2791024
|
|
/* 02791024 */ cpu->r[6] = 0x00000003u;
|
|
/* 02791028 */ _t45 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02791028 */ rbrew_write32(cpu->mem, _t45, cpu->r[6]);
|
|
/* 0279102C */ _t46 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0279102C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02791030 */ cpu->r[3] = cpu->r[24];
|
|
/* 02791034 */ cpu->r[4] = cpu->r[26] + cpu->r[7];
|
|
/* 02791038 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0279103C */ _t47 = cpu->r[24] + 0x00000008u;
|
|
/* 0279103C */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02791040 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02791044 */ _t48 = cpu->r[24] + 0x00000008u;
|
|
/* 02791044 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 02791048 */ _t49 = cpu->r[23] + 0x0000021Cu;
|
|
/* 02791048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0279104C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 02791050 */ _t50 = cpu->r[23] + 0x00000220u;
|
|
/* 02791050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02791054 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791054 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02791054 */ if (_t52) goto L_02791058; else goto L_0279105C;
|
|
L_02791058: ; // 0x2791058
|
|
/* 02791058 */ cpu->r[10] = cpu->r[10] + cpu->r[31];
|
|
L_0279105C: ; // 0x279105c
|
|
/* 0279105C */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 0279105C */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02791060 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02791064 */ _t54 = cpu->r[10] + 0x00000000u;
|
|
/* 02791064 */ rbrew_write32(cpu->mem, _t54, cpu->r[5]);
|
|
/* 02791068 */ _t55 = cpu->r[23] + 0x00000224u;
|
|
/* 02791068 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0279106C */ _t56 = cpu->r[23] + 0x00000228u;
|
|
/* 0279106C */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02791070 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[6]);
|
|
/* 02791074 */ _t57 = cpu->r[23] + 0x0000021Cu;
|
|
/* 02791074 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02791078 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791078 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02791078 */ if (_t59) goto L_0279107C; else goto L_02791090;
|
|
L_0279107C: ; // 0x279107c
|
|
/* 0279107C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[7]);
|
|
/* 02791080 */ _t60 = cpu->r[23] + 0x00000220u;
|
|
/* 02791080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02791084 */ cpu->r[4] = cpu->r[11] + cpu->r[31];
|
|
/* 02791088 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791088 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02791088 */ if (_t62) goto L_027910A0; else goto L_0279108C;
|
|
L_0279108C: ; // 0x279108c
|
|
/* 0279108C */ goto L_027910A4;
|
|
L_02791090: ; // 0x2791090
|
|
/* 02791090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[7]);
|
|
/* 02791094 */ _t63 = cpu->r[23] + 0x00000220u;
|
|
/* 02791094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02791098 */ cpu->r[4] = cpu->r[11];
|
|
/* 0279109C */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279109C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0279109C */ if (_t65) goto L_027910A0; else goto L_0279108C;
|
|
L_027910A0: ; // 0x27910a0
|
|
/* 027910A0 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
L_027910A4: ; // 0x27910a4
|
|
/* 027910A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[6]);
|
|
/* 027910A8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027910A8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 027910A8 */ if (_t67) goto L_027910AC; else goto L_027910B0;
|
|
L_027910AC: ; // 0x27910ac
|
|
/* 027910AC */ cpu->r[11] = cpu->r[11] + cpu->r[31];
|
|
L_027910B0: ; // 0x27910b0
|
|
/* 027910B0 */ _t68 = cpu->r[12] + 0x00000000u;
|
|
/* 027910B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 027910B4 */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 027910B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 027910B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[10]);
|
|
/* 027910BC */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027910BC */ _t71 = _t70 & 0x00000001u;
|
|
/* 027910BC */ if (_t71) goto L_027910C0; else goto L_027910C4;
|
|
L_027910C0: ; // 0x27910c0
|
|
/* 027910C0 */ cpu->r[8] = cpu->r[10];
|
|
L_027910C4: ; // 0x27910c4
|
|
/* 027910C4 */ _t72 = cpu->r[4] + 0x00000000u;
|
|
/* 027910C4 */ rbrew_write32(cpu->mem, _t72, cpu->r[8]);
|
|
/* 027910C8 */ _t73 = cpu->r[26] + 0x00000004u;
|
|
/* 027910C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 027910CC */ _t74 = cpu->r[8] + 0x000000FCu;
|
|
/* 027910CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 027910D0 */ cpu->ctr = cpu->r[9];
|
|
/* 027910D4 */ cpu->r[3] = cpu->r[26];
|
|
/* 027910D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027910DC */ /* nop */
|
|
/* 027910E0 */ _t75 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027910E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 027910E4 */ cpu->lr = cpu->r[0];
|
|
/* 027910E8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 027910EC */ return;
|
|
}
|
|
|
|
// fn_027910F0 @ 0x27910f0
|
|
void Gambit_fn_027910F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_027910F0: ; // 0x27910f0
|
|
/* 027910F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027910F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027910F0 */ cpu->r[1] = _t0;
|
|
/* 027910F4 */ /* nop */
|
|
/* 027910F8 */ cpu->r[0] = cpu->lr;
|
|
/* 027910FC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 027910FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02791100 */ cpu->r[29] = cpu->r[3];
|
|
/* 02791104 */ cpu->r[28] = cpu->r[4];
|
|
/* 02791108 */ _t2 = cpu->r[29] + 0x00000030u;
|
|
/* 02791108 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0279110C */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791110 */ _t3 = cpu->r[9] + cpu->r[0];
|
|
/* 02791110 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02791114 */ _t4 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02791114 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02791118 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279111C */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 0279111C */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02791120 */ Gambit_fn_0280223C(cpu);
|
|
/* 02791124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791128 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791128 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02791128 */ if (_t7) goto L_0279112C; else goto L_02791150;
|
|
L_0279112C: ; // 0x279112c
|
|
/* 0279112C */ _t8 = cpu->r[29] + 0x00000210u;
|
|
/* 0279112C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791130 */ cpu->r[0] = cpu->r[29] + 0x00000204u;
|
|
/* 02791134 */ _t9 = cpu->r[29] + 0x00000208u;
|
|
/* 02791134 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791138 */ cpu->r[0] = cpu->r[0] - cpu->r[12];
|
|
/* 0279113C */ cpu->r[30] = cpu->r[8] - cpu->r[12];
|
|
/* 02791140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02791144 */ cpu->r[31] = 0x00000000u;
|
|
/* 02791148 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791148 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02791148 */ if (_t11) goto L_027911FC; else goto L_0279114C;
|
|
L_0279114C: ; // 0x279114c
|
|
/* 0279114C */ goto L_02791178;
|
|
L_02791150: ; // 0x2791150
|
|
/* 02791150 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02791150 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02791154 */ cpu->r[31] = cpu->r[3] - cpu->r[5];
|
|
/* 02791154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02791158 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791158 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02791158 */ if (_t14) goto L_0279115C; else goto L_027911E8;
|
|
L_0279115C: ; // 0x279115c
|
|
/* 0279115C */ _t15 = cpu->r[29] + 0x00000210u;
|
|
/* 0279115C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791160 */ cpu->r[0] = cpu->r[29] + 0x00000204u;
|
|
/* 02791164 */ _t16 = cpu->r[29] + 0x00000208u;
|
|
/* 02791164 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791168 */ cpu->r[0] = cpu->r[0] - cpu->r[12];
|
|
/* 0279116C */ cpu->r[30] = cpu->r[8] - cpu->r[12];
|
|
/* 02791170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02791174 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791174 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02791174 */ if (_t18) goto L_027911FC; else goto L_02791178;
|
|
L_02791178: ; // 0x2791178
|
|
/* 02791178 */ cpu->r[26] = 0x101D0000u;
|
|
L_0279117C: ; // 0x279117c
|
|
/* 0279117C */ _t19 = cpu->r[30] + 0x00000008u;
|
|
/* 0279117C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791180 */ _t20 = cpu->r[11] + 0x00000020u;
|
|
/* 02791180 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 02791188 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791188 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02791188 */ if (_t22) goto L_027911A4; else goto L_0279118C;
|
|
L_0279118C: ; // 0x279118c
|
|
/* 0279118C */ cpu->r[6] = cpu->r[30] + cpu->r[12];
|
|
/* 02791190 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 02791190 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02791194 */ cpu->r[30] = cpu->r[10] - cpu->r[12];
|
|
/* 02791198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0279119C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279119C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0279119C */ if (_t25) goto L_027911A0; else goto L_0279117C;
|
|
L_027911A0: ; // 0x27911a0
|
|
/* 027911A0 */ goto L_027911FC;
|
|
L_027911A4: ; // 0x27911a4
|
|
/* 027911A4 */ cpu->r[31] = cpu->r[11];
|
|
/* 027911A8 */ cpu->r[5] = cpu->r[27];
|
|
/* 027911AC */ cpu->r[3] = cpu->r[29];
|
|
/* 027911B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027911B4 */ cpu->r[6] = cpu->r[28];
|
|
/* 027911B8 */ Gambit_fn_02790E50(cpu);
|
|
/* 027911BC */ _t26 = cpu->r[29] + 0x00000210u;
|
|
/* 027911BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027911C0 */ cpu->r[3] = cpu->r[30] + cpu->r[8];
|
|
/* 027911C4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027911C8 */ _t27 = cpu->r[29] + 0x0000020Cu;
|
|
/* 027911C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027911CC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027911D0 */ _t28 = cpu->r[29] + 0x0000020Cu;
|
|
/* 027911D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 027911D4 */ _t29 = cpu->r[26] + 0xFFFF9038u;
|
|
/* 027911D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027911D8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027911DC */ Gambit_fn_02792A54(cpu);
|
|
/* 027911E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027911E4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027911E4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027911E4 */ if (_t31) goto L_027911FC; else goto L_027911E8;
|
|
L_027911E8: ; // 0x27911e8
|
|
/* 027911E8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027911EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027911F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027911F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 027911F8 */ Gambit_fn_02790EE0(cpu);
|
|
L_027911FC: ; // 0x27911fc
|
|
/* 027911FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02791200 */ /* nop */
|
|
/* 02791204 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02791204 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02791208 */ cpu->lr = cpu->r[0];
|
|
/* 0279120C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02791210 */ return;
|
|
}
|
|
|
|
// fn_02791214 @ 0x2791214
|
|
void Gambit_fn_02791214(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_02791214: ; // 0x2791214
|
|
/* 02791214 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02791214 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791214 */ cpu->r[1] = _t0;
|
|
/* 02791218 */ /* nop */
|
|
/* 0279121C */ cpu->r[0] = cpu->lr;
|
|
/* 02791220 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02791220 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02791224 */ cpu->r[26] = cpu->r[3];
|
|
/* 02791228 */ _t2 = cpu->r[26] + 0x00000210u;
|
|
/* 02791228 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0279122C */ cpu->r[25] = cpu->r[26] + 0x00000204u;
|
|
/* 02791230 */ _t3 = cpu->r[26] + 0x00000208u;
|
|
/* 02791230 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02791234 */ cpu->r[0] = cpu->r[25] - cpu->r[30];
|
|
/* 02791238 */ cpu->r[28] = cpu->r[4];
|
|
/* 0279123C */ cpu->r[27] = cpu->r[8] - cpu->r[30];
|
|
/* 02791240 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02791244 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02791248 */ _t4 = cpu->r[8] + 0x00000004u;
|
|
/* 02791248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279124C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279124C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0279124C */ if (_t6) goto L_027912E8; else goto L_02791250;
|
|
L_02791250: ; // 0x2791250
|
|
/* 02791250 */ _t7 = cpu->r[27] + 0x00000008u;
|
|
/* 02791250 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 02791258 */ _t8 = cpu->r[4] + 0x00000020u;
|
|
/* 02791258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0279125C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279125C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0279125C */ if (_t10) goto L_02791268; else goto L_02791260;
|
|
L_02791260: ; // 0x2791260
|
|
/* 02791260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 02791264 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791264 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02791264 */ if (_t12) goto L_02791268; else goto L_027912D8;
|
|
L_02791268: ; // 0x2791268
|
|
/* 02791268 */ _t13 = cpu->r[26] + 0x00000030u;
|
|
/* 02791268 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0279126C */ cpu->r[24] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791270 */ _t14 = cpu->r[10] + cpu->r[24];
|
|
/* 02791270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791274 */ _t15 = cpu->r[12] + 0x00000008u;
|
|
/* 02791274 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791278 */ cpu->r[3] = cpu->r[26];
|
|
/* 0279127C */ Gambit_fn_02790E50(cpu);
|
|
/* 02791280 */ _t16 = cpu->r[26] + 0x00000030u;
|
|
/* 02791280 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791284 */ _t17 = cpu->r[8] + cpu->r[24];
|
|
/* 02791284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02791288 */ _t18 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02791288 */ cpu->r[24] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0279128C */ _t19 = cpu->r[27] + 0x00000008u;
|
|
/* 0279128C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791290 */ _t20 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02791290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791294 */ cpu->r[3] = cpu->r[24];
|
|
/* 02791298 */ cpu->r[4] = cpu->r[11] + cpu->r[0];
|
|
/* 0279129C */ Gambit_fn_02801EBC(cpu);
|
|
/* 027912A0 */ _t21 = cpu->r[24] + 0x00000008u;
|
|
/* 027912A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027912A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 027912A8 */ _t22 = cpu->r[24] + 0x00000008u;
|
|
/* 027912A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 027912AC */ _t23 = cpu->r[25] + 0x0000000Cu;
|
|
/* 027912AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027912B0 */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
/* 027912B4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 027912B8 */ _t24 = cpu->r[25] + 0x00000008u;
|
|
/* 027912B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027912BC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 027912C0 */ _t25 = cpu->r[25] + 0x00000008u;
|
|
/* 027912C0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 027912C4 */ _t26 = cpu->r[31] + 0xFFFF9038u;
|
|
/* 027912C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027912C8 */ cpu->r[4] = cpu->r[27];
|
|
/* 027912CC */ Gambit_fn_02792A54(cpu);
|
|
/* 027912D0 */ _t27 = cpu->r[25] + 0x0000000Cu;
|
|
/* 027912D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027912D4 */ cpu->r[0] = cpu->r[25] - cpu->r[11];
|
|
L_027912D8: ; // 0x27912d8
|
|
/* 027912D8 */ cpu->r[27] = cpu->r[29] - cpu->r[30];
|
|
/* 027912DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 027912E0 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 027912E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027912E4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027912E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 027912E4 */ if (_t30) goto L_027912E8; else goto L_02791250;
|
|
L_027912E8: ; // 0x27912e8
|
|
/* 027912E8 */ /* nop */
|
|
/* 027912EC */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027912EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027912F0 */ cpu->lr = cpu->r[0];
|
|
/* 027912F4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 027912F8 */ return;
|
|
}
|
|
|
|
// fn_027912FC @ 0x27912fc
|
|
void Gambit_fn_027912FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_027912FC: ; // 0x27912fc
|
|
/* 027912FC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027912FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027912FC */ cpu->r[1] = _t0;
|
|
/* 02791300 */ /* nop */
|
|
/* 02791304 */ cpu->r[0] = cpu->lr;
|
|
/* 02791308 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02791308 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0279130C */ cpu->r[31] = cpu->r[4];
|
|
/* 02791310 */ _t2 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02791310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02791314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02791318 */ cpu->r[30] = cpu->r[3];
|
|
/* 0279131C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279131C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0279131C */ if (_t4) goto L_02791430; else goto L_02791320;
|
|
L_02791320: ; // 0x2791320
|
|
/* 02791320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791324 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791324 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02791324 */ if (_t6) goto L_02791430; else goto L_02791328;
|
|
L_02791328: ; // 0x2791328
|
|
/* 02791328 */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 02791328 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0279132C */ _t8 = cpu->r[30] + 0x00000030u;
|
|
/* 0279132C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791330 */ cpu->r[8] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791334 */ _t9 = cpu->r[8] + cpu->r[9];
|
|
/* 02791334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0279133C */ _t10 = cpu->r[5] + 0x00000008u;
|
|
/* 0279133C */ cpu->r[27] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02791340 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791340 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02791340 */ if (_t12) goto L_02791344; else goto L_02791400;
|
|
L_02791344: ; // 0x2791344
|
|
/* 02791344 */ _t13 = cpu->r[30] + 0x00000210u;
|
|
/* 02791344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02791348 */ cpu->r[0] = cpu->r[30] + 0x00000204u;
|
|
/* 0279134C */ _t14 = cpu->r[30] + 0x00000208u;
|
|
/* 0279134C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791350 */ cpu->r[0] = cpu->r[0] - cpu->r[11];
|
|
/* 02791354 */ cpu->r[29] = cpu->r[12] - cpu->r[11];
|
|
/* 02791358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0279135C */ cpu->r[12] = cpu->r[11];
|
|
/* 02791360 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791360 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02791360 */ if (_t16) goto L_027913D4; else goto L_02791364;
|
|
L_02791364: ; // 0x2791364
|
|
/* 02791364 */ cpu->r[26] = 0x101D0000u;
|
|
L_02791368: ; // 0x2791368
|
|
/* 02791368 */ _t17 = cpu->r[29] + 0x00000008u;
|
|
/* 02791368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0279136C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02791370 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791370 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02791370 */ if (_t19) goto L_02791374; else goto L_027913C0;
|
|
L_02791374: ; // 0x2791374
|
|
/* 02791374 */ cpu->r[3] = cpu->r[29] + cpu->r[11];
|
|
/* 02791378 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0279137C */ _t20 = cpu->r[30] + 0x0000020Cu;
|
|
/* 0279137C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791380 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02791384 */ _t21 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791384 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02791388 */ _t22 = cpu->r[26] + 0xFFFF9038u;
|
|
/* 02791388 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0279138C */ cpu->r[4] = cpu->r[29];
|
|
/* 02791390 */ Gambit_fn_02792A54(cpu);
|
|
/* 02791394 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791398 */ cpu->r[5] = cpu->r[27];
|
|
/* 0279139C */ cpu->r[4] = cpu->r[31];
|
|
/* 027913A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913A4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913A8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913AC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913B8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913BC */ goto L_02791430;
|
|
L_027913C0: ; // 0x27913c0
|
|
/* 027913C0 */ cpu->r[10] = cpu->r[29] + cpu->r[12];
|
|
/* 027913C4 */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 027913C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027913C8 */ cpu->r[29] = cpu->r[9] - cpu->r[12];
|
|
/* 027913CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 027913D0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027913D0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027913D0 */ if (_t25) goto L_027913D4; else goto L_02791368;
|
|
L_027913D4: ; // 0x27913d4
|
|
/* 027913D4 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913D8 */ cpu->r[5] = cpu->r[27];
|
|
/* 027913DC */ cpu->r[4] = cpu->r[31];
|
|
/* 027913E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913E4 */ Gambit_fn_02790E50(cpu);
|
|
/* 027913E8 */ cpu->r[6] = cpu->r[28];
|
|
/* 027913EC */ cpu->r[5] = cpu->r[27];
|
|
/* 027913F0 */ cpu->r[4] = cpu->r[31];
|
|
/* 027913F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 027913F8 */ Gambit_fn_02790EE0(cpu);
|
|
/* 027913FC */ goto L_02791430;
|
|
L_02791400: ; // 0x2791400
|
|
/* 02791400 */ _t26 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02791400 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02791404 */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02791404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02791408 */ cpu->r[3] = cpu->r[31] + cpu->r[10];
|
|
/* 0279140C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02791410 */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 02791410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02791414 */ cpu->r[6] = cpu->r[28];
|
|
/* 02791418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279141C */ cpu->r[4] = cpu->r[31];
|
|
/* 02791420 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02791424 */ cpu->r[5] = cpu->r[27];
|
|
/* 02791428 */ _t29 = cpu->r[29] + 0x00000008u;
|
|
/* 02791428 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 0279142C */ Gambit_fn_02790EE0(cpu);
|
|
L_02791430: ; // 0x2791430
|
|
/* 02791430 */ /* nop */
|
|
/* 02791434 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02791434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02791438 */ cpu->lr = cpu->r[0];
|
|
/* 0279143C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02791440 */ return;
|
|
}
|
|
|
|
// fn_02791444 @ 0x2791444
|
|
void Gambit_fn_02791444(CPUState* cpu) {
|
|
uint32_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_02791444: ; // 0x2791444
|
|
/* 02791444 */ cpu->r[0] = cpu->lr;
|
|
/* 02791448 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02791448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791448 */ cpu->r[1] = _t0;
|
|
/* 0279144C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0279144C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02791450 */ cpu->r[30] = cpu->r[3];
|
|
/* 02791454 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02791454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02791458 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02791458 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0279145C */ cpu->r[31] = cpu->r[4];
|
|
/* 02791460 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791460 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02791464 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791464 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02791468 */ Gambit_fn_02791214(cpu);
|
|
/* 0279146C */ _t6 = cpu->r[30] + 0x00000030u;
|
|
/* 0279146C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02791470 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791474 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02791474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791478 */ _t8 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02791478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0279147C */ _t9 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0279147C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791480 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02791480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02791484 */ cpu->r[0] = cpu->r[29] - cpu->r[31];
|
|
/* 02791488 */ cpu->r[4] = cpu->r[11] - cpu->r[31];
|
|
/* 0279148C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02791490 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02791490 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02791494 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791494 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02791494 */ if (_t13) goto L_027914B8; else goto L_02791498;
|
|
L_02791498: ; // 0x2791498
|
|
/* 02791498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279149C */ Gambit_fn_027912FC(cpu);
|
|
/* 027914A0 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027914A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027914A4 */ cpu->r[4] = cpu->r[28] - cpu->r[31];
|
|
/* 027914A8 */ cpu->r[0] = cpu->r[29] - cpu->r[9];
|
|
/* 027914AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027914B0 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 027914B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027914B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027914B4 */ if (_t17) goto L_027914B8; else goto L_02791498;
|
|
L_027914B8: ; // 0x27914b8
|
|
/* 027914B8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027914B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027914BC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027914C0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027914C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027914C4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027914C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027914C8 */ cpu->lr = cpu->r[0];
|
|
/* 027914CC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027914CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027914D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027914D4 */ return;
|
|
}
|
|
|
|
// fn_02791448 @ 0x2791448
|
|
void Gambit_fn_02791448(CPUState* cpu) {
|
|
uint32_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_02791448: ; // 0x2791448
|
|
/* 02791448 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02791448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791448 */ cpu->r[1] = _t0;
|
|
/* 0279144C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0279144C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02791450 */ cpu->r[30] = cpu->r[3];
|
|
/* 02791454 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02791454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02791458 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02791458 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0279145C */ cpu->r[31] = cpu->r[4];
|
|
/* 02791460 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791460 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02791464 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791464 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02791468 */ Gambit_fn_02791214(cpu);
|
|
/* 0279146C */ _t6 = cpu->r[30] + 0x00000030u;
|
|
/* 0279146C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02791470 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791474 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02791474 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791478 */ _t8 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02791478 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0279147C */ _t9 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0279147C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791480 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02791480 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02791484 */ cpu->r[0] = cpu->r[29] - cpu->r[31];
|
|
/* 02791488 */ cpu->r[4] = cpu->r[11] - cpu->r[31];
|
|
/* 0279148C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02791490 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02791490 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02791494 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791494 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02791494 */ if (_t13) goto L_027914B8; else goto L_02791498;
|
|
L_02791498: ; // 0x2791498
|
|
/* 02791498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0279149C */ Gambit_fn_027912FC(cpu);
|
|
/* 027914A0 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 027914A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027914A4 */ cpu->r[4] = cpu->r[28] - cpu->r[31];
|
|
/* 027914A8 */ cpu->r[0] = cpu->r[29] - cpu->r[9];
|
|
/* 027914AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 027914B0 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 027914B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027914B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027914B4 */ if (_t17) goto L_027914B8; else goto L_02791498;
|
|
L_027914B8: ; // 0x27914b8
|
|
/* 027914B8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027914B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027914BC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027914C0 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027914C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027914C4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 027914C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027914C8 */ cpu->lr = cpu->r[0];
|
|
/* 027914CC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 027914CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027914D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027914D4 */ return;
|
|
}
|
|
|
|
// fn_027914D8 @ 0x27914d8
|
|
void Gambit_fn_027914D8(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_027914D8: ; // 0x27914d8
|
|
/* 027914D8 */ cpu->r[0] = cpu->lr;
|
|
/* 027914DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027914DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027914DC */ cpu->r[1] = _t0;
|
|
/* 027914E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027914E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027914E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027914E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027914EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027914EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027914F0 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027914F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027914F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027914F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027914FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027914FC */ if (_t6) goto L_02791508; else goto L_02791500;
|
|
L_02791500: ; // 0x2791500
|
|
/* 02791500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791504 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791504 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02791504 */ if (_t8) goto L_02791508; else goto L_02791550;
|
|
L_02791508: ; // 0x2791508
|
|
/* 02791508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279150C */ _t9 = cpu->r[3] + 0xFFFF9038u;
|
|
/* 0279150C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791510 */ Gambit_fn_02792A14(cpu);
|
|
/* 02791514 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02791514 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02791518 */ _t11 = cpu->r[30] + 0x00000210u;
|
|
/* 02791518 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0279151C */ cpu->r[4] = cpu->r[3] + cpu->r[8];
|
|
/* 02791520 */ cpu->r[3] = cpu->r[30] + 0x00000204u;
|
|
/* 02791524 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791528 */ _t12 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0279152C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02791530 */ cpu->r[10] = 0x00000000u;
|
|
/* 02791534 */ _t13 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791534 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02791538 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02791538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0279153C */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279153C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02791540 */ _t16 = cpu->r[11] + 0x00000104u;
|
|
/* 02791540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791544 */ cpu->ctr = cpu->r[12];
|
|
/* 02791548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279154C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791550: ; // 0x2791550
|
|
/* 02791550 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02791550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02791554 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02791554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02791558 */ cpu->lr = cpu->r[0];
|
|
/* 0279155C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279155C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02791564 */ return;
|
|
}
|
|
|
|
// fn_027914DC @ 0x27914dc
|
|
void Gambit_fn_027914DC(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_027914DC: ; // 0x27914dc
|
|
/* 027914DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027914DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027914DC */ cpu->r[1] = _t0;
|
|
/* 027914E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027914E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027914E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027914E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027914E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 027914EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027914EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027914F0 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027914F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027914F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 027914F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027914FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027914FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027914FC */ if (_t6) goto L_02791508; else goto L_02791500;
|
|
L_02791500: ; // 0x2791500
|
|
/* 02791500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02791504 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791504 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02791504 */ if (_t8) goto L_02791508; else goto L_02791550;
|
|
L_02791508: ; // 0x2791508
|
|
/* 02791508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0279150C */ _t9 = cpu->r[3] + 0xFFFF9038u;
|
|
/* 0279150C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791510 */ Gambit_fn_02792A14(cpu);
|
|
/* 02791514 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02791514 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02791518 */ _t11 = cpu->r[30] + 0x00000210u;
|
|
/* 02791518 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0279151C */ cpu->r[4] = cpu->r[3] + cpu->r[8];
|
|
/* 02791520 */ cpu->r[3] = cpu->r[30] + 0x00000204u;
|
|
/* 02791524 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791528 */ _t12 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791528 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0279152C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02791530 */ cpu->r[10] = 0x00000000u;
|
|
/* 02791534 */ _t13 = cpu->r[30] + 0x0000020Cu;
|
|
/* 02791534 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02791538 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02791538 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0279153C */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0279153C */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02791540 */ _t16 = cpu->r[11] + 0x00000104u;
|
|
/* 02791540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791544 */ cpu->ctr = cpu->r[12];
|
|
/* 02791548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0279154C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791550: ; // 0x2791550
|
|
/* 02791550 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02791550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02791554 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02791554 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02791558 */ cpu->lr = cpu->r[0];
|
|
/* 0279155C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279155C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791560 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02791564 */ return;
|
|
}
|
|
|
|
// fn_02791568 @ 0x2791568
|
|
void Gambit_fn_02791568(CPUState* 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_02791568: ; // 0x2791568
|
|
/* 02791568 */ cpu->r[0] = cpu->lr;
|
|
/* 0279156C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279156C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279156C */ cpu->r[1] = _t0;
|
|
/* 02791570 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02791570 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02791574 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791574 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02791578 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02791578 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0279157C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0279157C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02791580 */ cpu->r[28] = cpu->r[3];
|
|
/* 02791584 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791584 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02791588 */ _t6 = cpu->r[28] + 0x00000030u;
|
|
/* 02791588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0279158C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791590 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02791590 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791594 */ _t8 = cpu->r[9] + 0x00000008u;
|
|
/* 02791594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791598 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02791598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279159C */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0279159C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027915A0 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 027915A4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027915AC */ if (_t12) goto L_027915D0; else goto L_027915B0;
|
|
L_027915B0: ; // 0x27915b0
|
|
/* 027915B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027915B4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027915B8 */ Gambit_fn_027914D8(cpu);
|
|
/* 027915BC */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 027915C0 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 027915C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027915C4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 027915CC */ if (_t15) goto L_027915D0; else goto L_027915B0;
|
|
L_027915D0: ; // 0x27915d0
|
|
/* 027915D0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027915D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027915D4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027915D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027915D8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027915D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027915DC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027915DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027915E0 */ cpu->lr = cpu->r[0];
|
|
/* 027915E4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027915E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027915E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027915EC */ return;
|
|
}
|
|
|
|
// fn_0279156C @ 0x279156c
|
|
void Gambit_fn_0279156C(CPUState* 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_0279156C: ; // 0x279156c
|
|
/* 0279156C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279156C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279156C */ cpu->r[1] = _t0;
|
|
/* 02791570 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02791570 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02791574 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791574 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02791578 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02791578 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0279157C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0279157C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02791580 */ cpu->r[28] = cpu->r[3];
|
|
/* 02791584 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791584 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02791588 */ _t6 = cpu->r[28] + 0x00000030u;
|
|
/* 02791588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0279158C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791590 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02791590 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791594 */ _t8 = cpu->r[9] + 0x00000008u;
|
|
/* 02791594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791598 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02791598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279159C */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0279159C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027915A0 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 027915A4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027915AC */ if (_t12) goto L_027915D0; else goto L_027915B0;
|
|
L_027915B0: ; // 0x27915b0
|
|
/* 027915B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027915B4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027915B8 */ Gambit_fn_027914D8(cpu);
|
|
/* 027915BC */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 027915C0 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 027915C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027915C4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 027915CC */ if (_t15) goto L_027915D0; else goto L_027915B0;
|
|
L_027915D0: ; // 0x27915d0
|
|
/* 027915D0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027915D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027915D4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027915D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027915D8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027915D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027915DC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027915DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027915E0 */ cpu->lr = cpu->r[0];
|
|
/* 027915E4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027915E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027915E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027915EC */ return;
|
|
}
|
|
|
|
// fn_027915F0 @ 0x27915f0
|
|
void Gambit_fn_027915F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027915F0: ; // 0x27915f0
|
|
/* 027915F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027915F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027915F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027915F4 */ cpu->r[1] = _t0;
|
|
/* 027915F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027915F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027915FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027915FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02791600 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02791600 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02791604 */ cpu->r[31] = cpu->r[3];
|
|
/* 02791608 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791608 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0279160C */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0279160C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02791610 */ cpu->r[29] = 0x00000000u;
|
|
/* 02791614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02791618 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791618 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02791618 */ if (_t7) goto L_0279161C; else goto L_02791650;
|
|
L_0279161C: ; // 0x279161c
|
|
/* 0279161C */ cpu->r[30] = 0x00000000u;
|
|
L_02791620: ; // 0x2791620
|
|
/* 02791620 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 02791620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791624 */ _t9 = cpu->r[11] + cpu->r[30];
|
|
/* 02791624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0279162C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279162C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0279162C */ if (_t11) goto L_02791640; else goto L_02791630;
|
|
L_02791630: ; // 0x2791630
|
|
/* 02791630 */ cpu->r[3] = cpu->r[31];
|
|
/* 02791634 */ cpu->r[4] = cpu->r[29];
|
|
/* 02791638 */ Gambit_fn_02791568(cpu);
|
|
/* 0279163C */ _t12 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0279163C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
L_02791640: ; // 0x2791640
|
|
/* 02791640 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02791644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02791648 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0279164C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279164C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0279164C */ if (_t14) goto L_02791620; else goto L_02791650;
|
|
L_02791650: ; // 0x2791650
|
|
/* 02791650 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791654 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791658 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02791658 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0279165C */ cpu->lr = cpu->r[0];
|
|
/* 02791660 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02791660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02791664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02791668 */ return;
|
|
}
|
|
|
|
// fn_027915F4 @ 0x27915f4
|
|
void Gambit_fn_027915F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027915F4: ; // 0x27915f4
|
|
/* 027915F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027915F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027915F4 */ cpu->r[1] = _t0;
|
|
/* 027915F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027915F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027915FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027915FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02791600 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02791600 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02791604 */ cpu->r[31] = cpu->r[3];
|
|
/* 02791608 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791608 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0279160C */ _t5 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0279160C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02791610 */ cpu->r[29] = 0x00000000u;
|
|
/* 02791614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02791618 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791618 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02791618 */ if (_t7) goto L_0279161C; else goto L_02791650;
|
|
L_0279161C: ; // 0x279161c
|
|
/* 0279161C */ cpu->r[30] = 0x00000000u;
|
|
L_02791620: ; // 0x2791620
|
|
/* 02791620 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 02791620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791624 */ _t9 = cpu->r[11] + cpu->r[30];
|
|
/* 02791624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0279162C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279162C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0279162C */ if (_t11) goto L_02791640; else goto L_02791630;
|
|
L_02791630: ; // 0x2791630
|
|
/* 02791630 */ cpu->r[3] = cpu->r[31];
|
|
/* 02791634 */ cpu->r[4] = cpu->r[29];
|
|
/* 02791638 */ Gambit_fn_02791568(cpu);
|
|
/* 0279163C */ _t12 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0279163C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
L_02791640: ; // 0x2791640
|
|
/* 02791640 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02791644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02791648 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0279164C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279164C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0279164C */ if (_t14) goto L_02791620; else goto L_02791650;
|
|
L_02791650: ; // 0x2791650
|
|
/* 02791650 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791654 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791658 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02791658 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0279165C */ cpu->lr = cpu->r[0];
|
|
/* 02791660 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02791660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02791664 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02791668 */ return;
|
|
}
|
|
|
|
// fn_0279166C @ 0x279166c
|
|
void Gambit_fn_0279166C(CPUState* 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_02791568: ; // 0x2791568
|
|
/* 02791568 */ cpu->r[0] = cpu->lr;
|
|
/* 0279156C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279156C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279156C */ cpu->r[1] = _t0;
|
|
/* 02791570 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02791570 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02791574 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791574 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02791578 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02791578 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0279157C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0279157C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02791580 */ cpu->r[28] = cpu->r[3];
|
|
/* 02791584 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02791584 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02791588 */ _t6 = cpu->r[28] + 0x00000030u;
|
|
/* 02791588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0279158C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791590 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02791590 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02791594 */ _t8 = cpu->r[9] + 0x00000008u;
|
|
/* 02791594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02791598 */ _t9 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02791598 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279159C */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0279159C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027915A0 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 027915A4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027915AC */ if (_t12) goto L_027915D0; else goto L_027915B0;
|
|
L_027915B0: ; // 0x27915b0
|
|
/* 027915B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 027915B4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027915B8 */ Gambit_fn_027914D8(cpu);
|
|
/* 027915BC */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 027915C0 */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 027915C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027915C4 */ cpu->r[29] = cpu->r[0] - cpu->r[30];
|
|
/* 027915C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 027915CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027915CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 027915CC */ if (_t15) goto L_027915D0; else goto L_027915B0;
|
|
L_027915D0: ; // 0x27915d0
|
|
/* 027915D0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 027915D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027915D4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027915D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027915D8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027915D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027915DC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 027915DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027915E0 */ cpu->lr = cpu->r[0];
|
|
/* 027915E4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 027915E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027915E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027915EC */ return;
|
|
L_0279166C: ; // 0x279166c
|
|
/* 0279166C */ goto L_02791568;
|
|
}
|
|
|
|
// fn_02791670 @ 0x2791670
|
|
void Gambit_fn_02791670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02791670: ; // 0x2791670
|
|
/* 02791670 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02791670 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791670 */ cpu->r[1] = _t0;
|
|
/* 02791674 */ /* nop */
|
|
/* 02791678 */ cpu->r[0] = cpu->lr;
|
|
/* 0279167C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0279167C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02791680 */ cpu->r[24] = 0x00000000u;
|
|
/* 02791684 */ cpu->r[25] = cpu->r[3];
|
|
/* 02791688 */ _t2 = cpu->r[25] + 0x00000028u;
|
|
/* 02791688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0279168C */ cpu->r[26] = cpu->r[4];
|
|
/* 02791690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[9]);
|
|
/* 02791694 */ _t3 = cpu->r[26] + 0x00000000u;
|
|
/* 02791694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02791698 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791698 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02791698 */ if (_t5) goto L_0279169C; else goto L_02791760;
|
|
L_0279169C: ; // 0x279169c
|
|
/* 0279169C */ cpu->r[31] = 0x101D0000u;
|
|
/* 027916A0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 027916A4 */ cpu->r[29] = 0x00000000u;
|
|
L_027916A8: ; // 0x27916a8
|
|
/* 027916A8 */ _t6 = cpu->r[25] + 0x00000030u;
|
|
/* 027916A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027916AC */ _t7 = cpu->r[8] + cpu->r[29];
|
|
/* 027916AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027916B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027916B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027916B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027916B4 */ if (_t9) goto L_02791750; else goto L_027916B8;
|
|
L_027916B8: ; // 0x27916b8
|
|
/* 027916B8 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 027916B8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027916BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027916C0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027916C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027916C0 */ if (_t12) goto L_027916C4; else goto L_02791750;
|
|
L_027916C4: ; // 0x27916c4
|
|
/* 027916C4 */ cpu->r[23] = 0x00000001u;
|
|
/* 027916C8 */ cpu->r[22] = 0x00000000u;
|
|
L_027916CC: ; // 0x27916cc
|
|
/* 027916CC */ _t13 = cpu->r[8] + cpu->r[29];
|
|
/* 027916CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027916D0 */ _t14 = cpu->r[30] + 0xFFFFD9BCu;
|
|
/* 027916D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027916D4 */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 027916D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027916D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 027916DC */ _t16 = cpu->r[12] + cpu->r[22];
|
|
/* 027916DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027916E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027916E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027916E0 */ if (_t18) goto L_027916E4; else goto L_027916F4;
|
|
L_027916E4: ; // 0x27916e4
|
|
/* 027916E4 */ cpu->r[0] = 0x10100000u;
|
|
/* 027916E8 */ _t19 = cpu->r[30] + 0xFFFFD9BCu;
|
|
/* 027916E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[23]);
|
|
/* 027916EC */ cpu->r[0] = cpu->r[0] + 0x00006F00u;
|
|
/* 027916F0 */ _t20 = cpu->r[31] + 0xFFFFDB18u;
|
|
/* 027916F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
L_027916F4: ; // 0x27916f4
|
|
/* 027916F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 027916F8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027916F8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 027916F8 */ if (_t22) goto L_02791738; else goto L_027916FC;
|
|
L_027916FC: ; // 0x27916fc
|
|
/* 027916FC */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 027916FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02791700 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 02791700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02791704 */ cpu->ctr = cpu->r[0];
|
|
/* 02791708 */ cpu->r[3] = cpu->r[28];
|
|
/* 0279170C */ cpu->r[4] = cpu->r[31] + 0xFFFFDB18u;
|
|
/* 02791710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02791714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791718 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791718 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02791718 */ if (_t26) goto L_02791738; else goto L_0279171C;
|
|
L_0279171C: ; // 0x279171c
|
|
/* 0279171C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02791720 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791720 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02791720 */ if (_t28) goto L_02791738; else goto L_02791724;
|
|
L_02791724: ; // 0x2791724
|
|
/* 02791724 */ _t29 = cpu->r[26] + 0x00000000u;
|
|
/* 02791724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02791728 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0279172C */ cpu->r[3] = cpu->r[28];
|
|
/* 02791730 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02791730 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02791734 */ Gambit_fn_02791670(cpu);
|
|
L_02791738: ; // 0x2791738
|
|
/* 02791738 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02791738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0279173C */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02791740 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791740 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02791740 */ if (_t32) goto L_0279174C; else goto L_02791744;
|
|
L_02791744: ; // 0x2791744
|
|
/* 02791744 */ _t33 = cpu->r[25] + 0x00000030u;
|
|
/* 02791744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02791748 */ goto L_027916CC;
|
|
L_0279174C: ; // 0x279174c
|
|
/* 0279174C */ _t34 = cpu->r[25] + 0x00000028u;
|
|
/* 0279174C */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
L_02791750: ; // 0x2791750
|
|
/* 02791750 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02791754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[9]);
|
|
/* 02791758 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 0279175C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0279175C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0279175C */ if (_t36) goto L_027916A8; else goto L_02791760;
|
|
L_02791760: ; // 0x2791760
|
|
/* 02791760 */ /* nop */
|
|
/* 02791764 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02791764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02791768 */ cpu->lr = cpu->r[0];
|
|
/* 0279176C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02791770 */ return;
|
|
}
|
|
|
|
// fn_02791774 @ 0x2791774
|
|
void Gambit_fn_02791774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02791774: ; // 0x2791774
|
|
/* 02791774 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02791774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791774 */ cpu->r[1] = _t0;
|
|
/* 02791778 */ /* nop */
|
|
/* 0279177C */ cpu->r[0] = cpu->lr;
|
|
/* 02791780 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02791780 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02791784 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02791784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02791788 */ cpu->r[25] = cpu->r[3];
|
|
/* 0279178C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02791790 */ cpu->r[24] = cpu->r[25] + cpu->r[12];
|
|
/* 02791794 */ _t3 = cpu->r[24] + 0x00000040u;
|
|
/* 02791794 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02791798 */ _t4 = cpu->r[24] + 0x00000038u;
|
|
/* 02791798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279179C */ cpu->r[24] = cpu->r[24] + 0x00000034u;
|
|
/* 027917A0 */ cpu->r[0] = cpu->r[24] - cpu->r[31];
|
|
/* 027917A4 */ cpu->r[30] = cpu->r[9] - cpu->r[31];
|
|
/* 027917A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 027917AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027917AC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027917AC */ if (_t6) goto L_02791864; else goto L_027917B0;
|
|
L_027917B0: ; // 0x27917b0
|
|
/* 027917B0 */ _t7 = cpu->r[5] + 0x00000002u;
|
|
/* 027917B0 */ cpu->r[29] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 027917B4 */ _t8 = cpu->r[5] + 0x00000000u;
|
|
/* 027917B4 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 027917B8 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 027917B8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027917BC */ cpu->r[26] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_027917C0: ; // 0x27917c0
|
|
/* 027917C0 */ cpu->r[11] = 0x00000000u;
|
|
/* 027917C4 */ _t10 = cpu->r[25] + 0x00000218u;
|
|
/* 027917C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 027917C8 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 027917C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027917CC */ _t12 = cpu->r[25] + 0x00000030u;
|
|
/* 027917CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027917D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027917D4 */ _t13 = cpu->r[10] + cpu->r[0];
|
|
/* 027917D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027917D8 */ _t14 = cpu->r[9] + 0x00000000u;
|
|
/* 027917D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027917DC */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 027917DC */ cpu->r[22] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027917E0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027917E4 */ cpu->r[6] = cpu->r[22] + cpu->r[4];
|
|
/* 027917E8 */ cpu->r[23] = cpu->r[6] + 0xFFFFFFFCu;
|
|
L_027917EC: ; // 0x27917ec
|
|
/* 027917EC */ cpu->r[7] = cpu->r[11] + 0x00000001u;
|
|
/* 027917F0 */ _t16 = cpu->r[25] + 0x00000218u;
|
|
/* 027917F0 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 027917F4 */ _t17 = cpu->r[22] + 0x00000000u;
|
|
/* 027917F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 027917F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 027917FC */ cpu->r[3] = cpu->r[8] + cpu->r[28];
|
|
/* 02791800 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791800 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02791800 */ if (_t19) goto L_02791804; else goto L_0279181C;
|
|
L_02791804: ; // 0x2791804
|
|
/* 02791804 */ cpu->ctr = cpu->r[27];
|
|
/* 02791808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0279180C */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02791810 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[23]);
|
|
/* 02791814 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791814 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02791814 */ if (_t21) goto L_02791818; else goto L_02791840;
|
|
L_02791818: ; // 0x2791818
|
|
/* 02791818 */ goto L_02791848;
|
|
L_0279181C: ; // 0x279181c
|
|
/* 0279181C */ /* nop */
|
|
/* 02791820 */ _t22 = cpu->r[3] + cpu->r[0];
|
|
/* 02791820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02791824 */ cpu->r[6] = cpu->r[12] + cpu->r[26];
|
|
/* 02791828 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 02791828 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0279182C */ cpu->ctr = cpu->r[8];
|
|
/* 02791830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02791834 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02791838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[23]);
|
|
/* 0279183C */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0279183C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0279183C */ if (_t25) goto L_02791848; else goto L_02791840;
|
|
L_02791840: ; // 0x2791840
|
|
/* 02791840 */ _t26 = cpu->r[25] + 0x00000218u;
|
|
/* 02791840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02791844 */ goto L_027917EC;
|
|
L_02791848: ; // 0x2791848
|
|
/* 02791848 */ _t27 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02791848 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0279184C */ cpu->r[10] = cpu->r[30] + cpu->r[31];
|
|
/* 02791850 */ _t28 = cpu->r[10] + 0x00000004u;
|
|
/* 02791850 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02791854 */ cpu->r[10] = cpu->r[24] - cpu->r[7];
|
|
/* 02791858 */ cpu->r[30] = cpu->r[4] - cpu->r[31];
|
|
/* 0279185C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02791860 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791860 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02791860 */ if (_t30) goto L_02791864; else goto L_027917C0;
|
|
L_02791864: ; // 0x2791864
|
|
/* 02791864 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02791868 */ cpu->r[3] = cpu->r[25];
|
|
/* 0279186C */ _t31 = cpu->r[25] + 0x00000218u;
|
|
/* 0279186C */ rbrew_write32(cpu->mem, _t31, cpu->r[4]);
|
|
/* 02791870 */ Gambit_fn_02791214(cpu);
|
|
/* 02791874 */ /* nop */
|
|
/* 02791878 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 02791878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0279187C */ cpu->lr = cpu->r[0];
|
|
/* 02791880 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02791884 */ return;
|
|
}
|
|
|
|
// fn_02791888 @ 0x2791888
|
|
void Gambit_fn_02791888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02791888: ; // 0x2791888
|
|
/* 02791888 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02791888 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791888 */ cpu->r[1] = _t0;
|
|
/* 0279188C */ /* nop */
|
|
/* 02791890 */ cpu->r[23] = cpu->r[4];
|
|
/* 02791894 */ cpu->r[0] = cpu->lr;
|
|
/* 02791898 */ cpu->r[24] = cpu->r[5];
|
|
/* 0279189C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027918A0 */ cpu->r[22] = cpu->r[3];
|
|
/* 027918A4 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 027918A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027918A8 */ Gambit_fn_02791214(cpu);
|
|
/* 027918AC */ _t2 = cpu->r[23] + 0x00000000u;
|
|
/* 027918AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027918B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027918B4 */ cpu->r[21] = cpu->r[22] + cpu->r[6];
|
|
/* 027918B8 */ _t3 = cpu->r[21] + 0x00000040u;
|
|
/* 027918B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027918BC */ _t4 = cpu->r[21] + 0x00000038u;
|
|
/* 027918BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027918C0 */ cpu->r[21] = cpu->r[21] + 0x00000034u;
|
|
/* 027918C4 */ cpu->r[9] = cpu->r[21] - cpu->r[30];
|
|
/* 027918C8 */ cpu->r[31] = cpu->r[8] - cpu->r[30];
|
|
/* 027918CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 027918D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027918D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027918D0 */ if (_t6) goto L_027919A0; else goto L_027918D4;
|
|
L_027918D4: ; // 0x27918d4
|
|
/* 027918D4 */ _t7 = cpu->r[24] + 0x00000002u;
|
|
/* 027918D4 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 027918D8 */ cpu->r[26] = rbrew_rlwinm(cpu->r[28], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_027918DC: ; // 0x27918dc
|
|
/* 027918DC */ cpu->r[5] = 0x00000000u;
|
|
/* 027918E0 */ _t8 = cpu->r[22] + 0x00000218u;
|
|
/* 027918E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 027918E4 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 027918E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027918E8 */ _t10 = cpu->r[22] + 0x00000030u;
|
|
/* 027918E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027918EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027918F0 */ _t11 = cpu->r[9] + cpu->r[10];
|
|
/* 027918F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027918F4 */ _t12 = cpu->r[12] + 0x00000008u;
|
|
/* 027918F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027918F8 */ _t13 = cpu->r[4] + 0x0000000Cu;
|
|
/* 027918F8 */ cpu->r[25] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027918FC */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 027918FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791900 */ cpu->r[27] = cpu->r[4] - cpu->r[25];
|
|
/* 02791904 */ cpu->r[29] = cpu->r[0] - cpu->r[25];
|
|
/* 02791908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 0279190C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279190C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0279190C */ if (_t16) goto L_02791984; else goto L_02791910;
|
|
L_02791910: ; // 0x2791910
|
|
/* 02791910 */ _t17 = cpu->r[24] + 0x00000000u;
|
|
/* 02791910 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17);
|
|
/* 02791914 */ _t18 = cpu->r[24] + 0x00000004u;
|
|
/* 02791914 */ cpu->r[20] = rbrew_read32(cpu->mem, _t18);
|
|
L_02791918: ; // 0x2791918
|
|
/* 02791918 */ cpu->r[4] = cpu->r[5] + 0x00000001u;
|
|
/* 0279191C */ _t19 = cpu->r[22] + 0x00000218u;
|
|
/* 0279191C */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02791920 */ _t20 = cpu->r[23] + 0x00000000u;
|
|
/* 02791920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000005u);
|
|
/* 02791928 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791928 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02791928 */ if (_t22) goto L_02791938; else goto L_0279192C;
|
|
L_0279192C: ; // 0x279192c
|
|
/* 0279192C */ _t23 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0279192C */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02791930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02791934 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791934 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02791934 */ if (_t25) goto L_02791938; else goto L_02791968;
|
|
L_02791938: ; // 0x2791938
|
|
/* 02791938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0279193C */ cpu->r[3] = cpu->r[29] + cpu->r[19];
|
|
/* 02791940 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791940 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02791940 */ if (_t27) goto L_02791944; else goto L_02791950;
|
|
L_02791944: ; // 0x2791944
|
|
/* 02791944 */ cpu->ctr = cpu->r[20];
|
|
/* 02791948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0279194C */ goto L_02791968;
|
|
L_02791950: ; // 0x2791950
|
|
/* 02791950 */ /* nop */
|
|
/* 02791954 */ _t28 = cpu->r[3] + cpu->r[9];
|
|
/* 02791954 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02791958 */ cpu->r[5] = cpu->r[11] + cpu->r[26];
|
|
/* 0279195C */ _t29 = cpu->r[5] + 0x00000004u;
|
|
/* 0279195C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02791960 */ cpu->ctr = cpu->r[0];
|
|
/* 02791964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791968: ; // 0x2791968
|
|
/* 02791968 */ cpu->r[12] = cpu->r[29] + cpu->r[25];
|
|
/* 0279196C */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 0279196C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02791970 */ cpu->r[29] = cpu->r[0] - cpu->r[25];
|
|
/* 02791974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02791978 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791978 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02791978 */ if (_t32) goto L_02791984; else goto L_0279197C;
|
|
L_0279197C: ; // 0x279197c
|
|
/* 0279197C */ _t33 = cpu->r[22] + 0x00000218u;
|
|
/* 0279197C */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02791980 */ goto L_02791918;
|
|
L_02791984: ; // 0x2791984
|
|
/* 02791984 */ _t34 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02791984 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02791988 */ cpu->r[11] = cpu->r[31] + cpu->r[30];
|
|
/* 0279198C */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 0279198C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02791990 */ cpu->r[11] = cpu->r[21] - cpu->r[7];
|
|
/* 02791994 */ cpu->r[31] = cpu->r[10] - cpu->r[30];
|
|
/* 02791998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 0279199C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279199C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0279199C */ if (_t37) goto L_027919A0; else goto L_027918DC;
|
|
L_027919A0: ; // 0x27919a0
|
|
/* 027919A0 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 027919A4 */ cpu->r[3] = cpu->r[22];
|
|
/* 027919A8 */ _t38 = cpu->r[22] + 0x00000218u;
|
|
/* 027919A8 */ rbrew_write32(cpu->mem, _t38, cpu->r[4]);
|
|
/* 027919AC */ Gambit_fn_02791214(cpu);
|
|
/* 027919B0 */ /* nop */
|
|
/* 027919B4 */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 027919B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 027919B8 */ cpu->lr = cpu->r[0];
|
|
/* 027919BC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 027919C0 */ return;
|
|
}
|
|
|
|
// fn_027919C4 @ 0x27919c4
|
|
void Gambit_fn_027919C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_027919C4: ; // 0x27919c4
|
|
/* 027919C4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 027919C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027919C4 */ cpu->r[1] = _t0;
|
|
/* 027919C8 */ /* nop */
|
|
/* 027919CC */ cpu->r[0] = cpu->lr;
|
|
/* 027919D0 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 027919D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027919D4 */ cpu->r[24] = cpu->r[6];
|
|
/* 027919D8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 027919D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027919DC */ cpu->r[22] = cpu->r[3];
|
|
/* 027919E0 */ cpu->r[23] = cpu->r[5];
|
|
/* 027919E4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027919E8 */ cpu->r[21] = cpu->r[22] + cpu->r[5];
|
|
/* 027919EC */ _t3 = cpu->r[21] + 0x00000040u;
|
|
/* 027919EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027919F0 */ _t4 = cpu->r[21] + 0x00000038u;
|
|
/* 027919F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027919F4 */ cpu->r[21] = cpu->r[21] + 0x00000034u;
|
|
/* 027919F8 */ cpu->r[5] = cpu->r[21] - cpu->r[30];
|
|
/* 027919FC */ cpu->r[31] = cpu->r[7] - cpu->r[30];
|
|
/* 02791A00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02791A04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791A04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02791A04 */ if (_t6) goto L_02791ACC; else goto L_02791A08;
|
|
L_02791A08: ; // 0x2791a08
|
|
/* 02791A08 */ _t7 = cpu->r[23] + 0x00000002u;
|
|
/* 02791A08 */ cpu->r[28] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 02791A0C */ cpu->r[26] = rbrew_rlwinm(cpu->r[28], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
L_02791A10: ; // 0x2791a10
|
|
/* 02791A10 */ cpu->r[8] = 0x00000000u;
|
|
/* 02791A14 */ _t8 = cpu->r[22] + 0x00000218u;
|
|
/* 02791A14 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02791A18 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02791A18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791A1C */ _t10 = cpu->r[22] + 0x00000030u;
|
|
/* 02791A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02791A20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791A24 */ _t11 = cpu->r[9] + cpu->r[0];
|
|
/* 02791A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02791A28 */ _t12 = cpu->r[12] + 0x00000008u;
|
|
/* 02791A28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02791A2C */ _t13 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02791A2C */ cpu->r[25] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02791A30 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02791A30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02791A34 */ cpu->r[27] = cpu->r[11] - cpu->r[25];
|
|
/* 02791A38 */ cpu->r[29] = cpu->r[4] - cpu->r[25];
|
|
/* 02791A3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02791A40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791A40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02791A40 */ if (_t16) goto L_02791AB0; else goto L_02791A44;
|
|
L_02791A44: ; // 0x2791a44
|
|
/* 02791A44 */ _t17 = cpu->r[23] + 0x00000000u;
|
|
/* 02791A44 */ cpu->r[19] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17);
|
|
/* 02791A48 */ _t18 = cpu->r[23] + 0x00000004u;
|
|
/* 02791A48 */ cpu->r[20] = rbrew_read32(cpu->mem, _t18);
|
|
L_02791A4C: ; // 0x2791a4c
|
|
/* 02791A4C */ _t19 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02791A4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02791A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000002u);
|
|
/* 02791A54 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791A54 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02791A54 */ if (_t21) goto L_02791A58; else goto L_02791A9C;
|
|
L_02791A58: ; // 0x2791a58
|
|
/* 02791A58 */ _t22 = cpu->r[22] + 0x00000218u;
|
|
/* 02791A58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02791A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02791A60 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02791A64 */ cpu->r[3] = cpu->r[29] + cpu->r[19];
|
|
/* 02791A68 */ _t23 = cpu->r[22] + 0x00000218u;
|
|
/* 02791A68 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 02791A6C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791A6C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02791A6C */ if (_t25) goto L_02791A70; else goto L_02791A80;
|
|
L_02791A70: ; // 0x2791a70
|
|
/* 02791A70 */ cpu->ctr = cpu->r[20];
|
|
/* 02791A74 */ cpu->r[4] = cpu->r[24];
|
|
/* 02791A78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02791A7C */ goto L_02791A9C;
|
|
L_02791A80: ; // 0x2791a80
|
|
/* 02791A80 */ /* nop */
|
|
/* 02791A84 */ _t26 = cpu->r[3] + cpu->r[9];
|
|
/* 02791A84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02791A88 */ cpu->r[5] = cpu->r[11] + cpu->r[26];
|
|
/* 02791A8C */ _t27 = cpu->r[5] + 0x00000004u;
|
|
/* 02791A8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02791A90 */ cpu->ctr = cpu->r[0];
|
|
/* 02791A94 */ cpu->r[4] = cpu->r[24];
|
|
/* 02791A98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02791A9C: ; // 0x2791a9c
|
|
/* 02791A9C */ cpu->r[12] = cpu->r[29] + cpu->r[25];
|
|
/* 02791AA0 */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 02791AA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02791AA4 */ cpu->r[29] = cpu->r[4] - cpu->r[25];
|
|
/* 02791AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[27]);
|
|
/* 02791AAC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791AAC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02791AAC */ if (_t30) goto L_02791AB0; else goto L_02791A4C;
|
|
L_02791AB0: ; // 0x2791ab0
|
|
/* 02791AB0 */ _t31 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02791AB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02791AB4 */ cpu->r[6] = cpu->r[31] + cpu->r[30];
|
|
/* 02791AB8 */ _t32 = cpu->r[6] + 0x00000004u;
|
|
/* 02791AB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02791ABC */ cpu->r[10] = cpu->r[21] - cpu->r[7];
|
|
/* 02791AC0 */ cpu->r[31] = cpu->r[8] - cpu->r[30];
|
|
/* 02791AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02791AC8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791AC8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02791AC8 */ if (_t34) goto L_02791ACC; else goto L_02791A10;
|
|
L_02791ACC: ; // 0x2791acc
|
|
/* 02791ACC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02791AD0 */ _t35 = cpu->r[22] + 0x00000218u;
|
|
/* 02791AD0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02791AD4 */ /* nop */
|
|
/* 02791AD8 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 02791AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02791ADC */ cpu->lr = cpu->r[0];
|
|
/* 02791AE0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02791AE4 */ return;
|
|
}
|
|
|
|
// fn_02791AE8 @ 0x2791ae8
|
|
void Gambit_fn_02791AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02791AE8: ; // 0x2791ae8
|
|
/* 02791AE8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02791AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02791AEC */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFAu;
|
|
/* 02791AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02791AF0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02791AF4 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791AF4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02791AF4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02791AF4 */ goto L_02791AF8;
|
|
L_02791AF8: ; // 0x2791af8
|
|
/* 02791AF8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02791AFC */ /* nop */
|
|
/* 02791B00 */ cpu->r[11] = cpu->r[0] & cpu->r[11];
|
|
/* 02791B04 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02791B08 */ cpu->r[3] = cpu->r[11] - cpu->r[12];
|
|
/* 02791B0C */ return;
|
|
}
|
|
|
|
// fn_02791B10 @ 0x2791b10
|
|
void Gambit_fn_02791B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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;
|
|
|
|
L_02791B10: ; // 0x2791b10
|
|
/* 02791B10 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02791B10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02791B10 */ cpu->r[1] = _t0;
|
|
/* 02791B14 */ /* nop */
|
|
/* 02791B18 */ cpu->r[0] = cpu->lr;
|
|
/* 02791B1C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02791B1C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02791B20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02791B24 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 02791B24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02791B28 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02791B2C */ cpu->r[23] = cpu->r[8];
|
|
/* 02791B30 */ cpu->r[26] = cpu->r[5];
|
|
/* 02791B34 */ cpu->r[22] = cpu->r[7];
|
|
/* 02791B38 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 02791B38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02791B3C */ cpu->r[30] = cpu->r[4];
|
|
/* 02791B40 */ _t4 = cpu->r[12] + 0xFFFF903Cu;
|
|
/* 02791B40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02791B44 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02791B48 */ _t5 = cpu->r[29] + 0x00000030u;
|
|
/* 02791B48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02791B4C */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02791B54 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 02791B54 */ cpu->r[24] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02791B58 */ cpu->r[27] = cpu->r[5] + cpu->r[31];
|
|
/* 02791B5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791B5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02791B5C */ if (_t8) goto L_02791B60; else goto L_02791B7C;
|
|
L_02791B60: ; // 0x2791b60
|
|
/* 02791B60 */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 02791B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02791B64 */ cpu->r[8] = cpu->r[29] + cpu->r[0];
|
|
/* 02791B68 */ _t10 = cpu->r[8] + 0x00000104u;
|
|
/* 02791B68 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 02791B6C */ _t11 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02791B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02791B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02791B74 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02791B74 */ if (_t13) goto L_02791BB0; else goto L_02791B78;
|
|
L_02791B78: ; // 0x2791b78
|
|
/* 02791B78 */ goto L_02791BA8;
|
|
L_02791B7C: ; // 0x2791b7c
|
|
/* 02791B7C */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02791B7C */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02791B80 */ _t15 = cpu->r[28] + 0xFFFF9038u;
|
|
/* 02791B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02791B84 */ _t16 = cpu->r[12] + 0x00000020u;
|
|
/* 02791B84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02791B88 */ cpu->r[0] = cpu->r[5] + 0x00000001u;
|
|
/* 02791B8C */ _t17 = cpu->r[12] + 0x00000020u;
|
|
/* 02791B8C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02791B90 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02791B90 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02791B94 */ cpu->r[8] = cpu->r[29] + cpu->r[0];
|
|
/* 02791B98 */ _t19 = cpu->r[8] + 0x00000104u;
|
|
/* 02791B98 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02791B9C */ _t20 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02791B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02791BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02791BA4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791BA4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02791BA4 */ if (_t22) goto L_02791BB0; else goto L_02791BA8;
|
|
L_02791BA8: ; // 0x2791ba8
|
|
/* 02791BA8 */ cpu->r[0] = cpu->r[30] + 0x00000001u;
|
|
/* 02791BAC */ _t23 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02791BAC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02791BB0: ; // 0x2791bb0
|
|
/* 02791BB0 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 02791BB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791BB8 */ cpu->r[25] = cpu->r[3];
|
|
/* 02791BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02791BBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791BBC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02791BBC */ if (_t25) goto L_02791BCC; else goto L_02791BC0;
|
|
L_02791BC0: ; // 0x2791bc0
|
|
/* 02791BC0 */ cpu->r[3] = cpu->r[25];
|
|
/* 02791BC4 */ cpu->r[4] = 0x0000007Cu;
|
|
/* 02791BC8 */ Gambit_fn_02C89380(cpu);
|
|
L_02791BCC: ; // 0x2791bcc
|
|
/* 02791BCC */ cpu->r[3] = 0x00000010u;
|
|
/* 02791BD0 */ _t26 = cpu->r[27] + 0x00000000u;
|
|
/* 02791BD0 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]);
|
|
/* 02791BD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791BD8 */ cpu->r[20] = cpu->r[3];
|
|
/* 02791BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02791BDC */ cpu->r[25] = 0x00000000u;
|
|
/* 02791BE0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791BE0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02791BE0 */ if (_t28) goto L_02791C34; else goto L_02791BE4;
|
|
L_02791BE4: ; // 0x2791be4
|
|
/* 02791BE4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02791BE8 */ cpu->r[4] = 0x00000010u;
|
|
/* 02791BEC */ Gambit_fn_02C89380(cpu);
|
|
/* 02791BF0 */ cpu->r[21] = cpu->r[20];
|
|
/* 02791BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02791BF4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791BF4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02791BF4 */ if (_t30) goto L_02791BF8; else goto L_02791C08;
|
|
L_02791BF8: ; // 0x2791bf8
|
|
/* 02791BF8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02791BFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02791C00 */ cpu->r[21] = cpu->r[3];
|
|
/* 02791C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02791C04 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C04 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02791C04 */ if (_t32) goto L_02791C34; else goto L_02791C08;
|
|
L_02791C08: ; // 0x2791c08
|
|
/* 02791C08 */ cpu->r[3] = cpu->r[21];
|
|
/* 02791C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791C0C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C0C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02791C0C */ if (_t34) goto L_02791C10; else goto L_02791C20;
|
|
L_02791C10: ; // 0x2791c10
|
|
/* 02791C10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02791C14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791C1C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C1C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02791C1C */ if (_t36) goto L_02791C2C; else goto L_02791C20;
|
|
L_02791C20: ; // 0x2791c20
|
|
/* 02791C20 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02791C20 */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 02791C24 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02791C24 */ rbrew_write32(cpu->mem, _t38, cpu->r[25]);
|
|
/* 02791C28 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02791C28 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
L_02791C2C: ; // 0x2791c2c
|
|
/* 02791C2C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02791C30 */ _t40 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02791C30 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_02791C34: ; // 0x2791c34
|
|
/* 02791C34 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 02791C34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02791C38 */ cpu->r[3] = 0x00000010u;
|
|
/* 02791C3C */ _t42 = cpu->r[7] + 0x00000008u;
|
|
/* 02791C3C */ rbrew_write32(cpu->mem, _t42, cpu->r[20]);
|
|
/* 02791C40 */ _t43 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02791C40 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02791C44 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791C48 */ cpu->r[20] = cpu->r[3];
|
|
/* 02791C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02791C4C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C4C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02791C4C */ if (_t45) goto L_02791CA0; else goto L_02791C50;
|
|
L_02791C50: ; // 0x2791c50
|
|
/* 02791C50 */ cpu->r[3] = cpu->r[20];
|
|
/* 02791C54 */ cpu->r[4] = 0x00000010u;
|
|
/* 02791C58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02791C5C */ cpu->r[21] = cpu->r[20];
|
|
/* 02791C5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02791C60 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C60 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02791C60 */ if (_t47) goto L_02791C64; else goto L_02791C74;
|
|
L_02791C64: ; // 0x2791c64
|
|
/* 02791C64 */ cpu->r[3] = 0x00000010u;
|
|
/* 02791C68 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791C6C */ cpu->r[21] = cpu->r[3];
|
|
/* 02791C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02791C70 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C70 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02791C70 */ if (_t49) goto L_02791CA0; else goto L_02791C74;
|
|
L_02791C74: ; // 0x2791c74
|
|
/* 02791C74 */ cpu->r[3] = cpu->r[21];
|
|
/* 02791C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791C78 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C78 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02791C78 */ if (_t51) goto L_02791C7C; else goto L_02791C8C;
|
|
L_02791C7C: ; // 0x2791c7c
|
|
/* 02791C7C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02791C80 */ Gambit_fn_02801A78(cpu);
|
|
/* 02791C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791C88 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791C88 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02791C88 */ if (_t53) goto L_02791C98; else goto L_02791C8C;
|
|
L_02791C8C: ; // 0x2791c8c
|
|
/* 02791C8C */ _t54 = cpu->r[3] + 0x00000004u;
|
|
/* 02791C8C */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02791C90 */ _t55 = cpu->r[3] + 0x00000008u;
|
|
/* 02791C90 */ rbrew_write32(cpu->mem, _t55, cpu->r[25]);
|
|
/* 02791C94 */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 02791C94 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
L_02791C98: ; // 0x2791c98
|
|
/* 02791C98 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02791C9C */ _t57 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02791C9C */ rbrew_write32(cpu->mem, _t57, cpu->r[5]);
|
|
L_02791CA0: ; // 0x2791ca0
|
|
/* 02791CA0 */ _t58 = cpu->r[27] + 0x00000000u;
|
|
/* 02791CA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02791CA4 */ cpu->r[0] = 0x00000010u;
|
|
/* 02791CA8 */ _t59 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02791CA8 */ rbrew_write32(cpu->mem, _t59, cpu->r[20]);
|
|
/* 02791CAC */ _t60 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02791CAC */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02791CB0 */ _t61 = cpu->r[27] + 0x00000000u;
|
|
/* 02791CB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02791CB4 */ _t62 = cpu->r[8] + 0x00000078u;
|
|
/* 02791CB4 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[25]);
|
|
/* 02791CB8 */ _t63 = cpu->r[27] + 0x00000000u;
|
|
/* 02791CB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02791CBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02791CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02791CC4 */ _t64 = cpu->r[9] + 0x00000000u;
|
|
/* 02791CC4 */ rbrew_write32(cpu->mem, _t64, cpu->r[26]);
|
|
/* 02791CC8 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791CC8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02791CC8 */ if (_t66) goto L_02791CCC; else goto L_02791CD4;
|
|
L_02791CCC: ; // 0x2791ccc
|
|
/* 02791CCC */ cpu->r[3] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791CD0 */ Gambit_fn_02801A8C(cpu);
|
|
L_02791CD4: ; // 0x2791cd4
|
|
/* 02791CD4 */ _t67 = cpu->r[27] + 0x00000000u;
|
|
/* 02791CD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02791CD8 */ cpu->r[21] = 0x00000000u;
|
|
/* 02791CDC */ cpu->r[25] = cpu->r[26];
|
|
/* 02791CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02791CE0 */ _t68 = cpu->r[10] + 0x00000004u;
|
|
/* 02791CE0 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
|
|
/* 02791CE4 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791CE4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02791CE4 */ if (_t70) goto L_02791CFC; else goto L_02791CE8;
|
|
L_02791CE8: ; // 0x2791ce8
|
|
/* 02791CE8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02791CEC */ cpu->r[31] = 0x0000000Du;
|
|
/* 02791CF0 */ cpu->r[9] = cpu->r[25];
|
|
/* 02791CF4 */ cpu->r[10] = cpu->r[25];
|
|
/* 02791CF8 */ goto L_02791E10;
|
|
L_02791CFC: ; // 0x2791cfc
|
|
/* 02791CFC */ cpu->r[20] = 0x00000000u;
|
|
L_02791D00: ; // 0x2791d00
|
|
/* 02791D00 */ _t71 = cpu->r[27] + 0x00000000u;
|
|
/* 02791D00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02791D04 */ _t72 = cpu->r[11] + 0x00000004u;
|
|
/* 02791D04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02791D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02791D0C */ cpu->r[19] = cpu->r[12] + cpu->r[20];
|
|
/* 02791D10 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791D10 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02791D10 */ if (_t74) goto L_02791D98; else goto L_02791D14;
|
|
L_02791D14: ; // 0x2791d14
|
|
/* 02791D14 */ _t75 = cpu->r[23] + 0x00000000u;
|
|
/* 02791D14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02791D18 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02791D18 */ rbrew_write32(cpu->mem, _t76, cpu->r[21]);
|
|
/* 02791D1C */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 02791D1C */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 02791D20 */ _t78 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02791D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02791D24 */ cpu->ctr = cpu->r[0];
|
|
/* 02791D28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02791D2C */ cpu->r[3] = cpu->r[23];
|
|
/* 02791D30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02791D34 */ _t79 = cpu->r[19] + 0x00000000u;
|
|
/* 02791D34 */ rbrew_write32(cpu->mem, _t79, cpu->r[3]);
|
|
/* 02791D38 */ _t80 = cpu->r[3] + 0x00000018u;
|
|
/* 02791D38 */ rbrew_write32(cpu->mem, _t80, cpu->r[29]);
|
|
/* 02791D3C */ _t81 = cpu->r[19] + 0x00000000u;
|
|
/* 02791D3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02791D40 */ _t82 = cpu->r[7] + 0x00000024u;
|
|
/* 02791D40 */ rbrew_write32(cpu->mem, _t82, cpu->r[21]);
|
|
/* 02791D44 */ _t83 = cpu->r[19] + 0x00000000u;
|
|
/* 02791D44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02791D48 */ _t84 = cpu->r[8] + 0x00000020u;
|
|
/* 02791D48 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 02791D4C */ _t85 = cpu->r[19] + 0x00000000u;
|
|
/* 02791D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02791D50 */ cpu->r[0] = 0x00000000u;
|
|
/* 02791D54 */ _t86 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02791D54 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02791D58 */ _t87 = cpu->r[29] + 0x00000030u;
|
|
/* 02791D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02791D5C */ _t88 = cpu->r[7] + cpu->r[31];
|
|
/* 02791D5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02791D60 */ _t89 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02791D60 */ cpu->r[18] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02791D64 */ _t90 = cpu->r[19] + 0x00000000u;
|
|
/* 02791D64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02791D68 */ _t91 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02791D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02791D6C */ cpu->r[3] = cpu->r[18];
|
|
/* 02791D70 */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
/* 02791D74 */ Gambit_fn_02801E9C(cpu);
|
|
/* 02791D78 */ _t92 = cpu->r[18] + 0x00000008u;
|
|
/* 02791D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02791D7C */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02791D80 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02791D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02791D84 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02791D88 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02791D8C */ _t93 = cpu->r[18] + 0x00000008u;
|
|
/* 02791D8C */ rbrew_write32(cpu->mem, _t93, cpu->r[11]);
|
|
/* 02791D90 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791D90 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02791D90 */ if (_t95) goto L_02791D94; else goto L_02791D00;
|
|
L_02791D94: ; // 0x2791d94
|
|
/* 02791D94 */ goto L_02791E00;
|
|
L_02791D98: ; // 0x2791d98
|
|
/* 02791D98 */ cpu->ctr = cpu->r[22];
|
|
/* 02791D9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02791DA0 */ _t96 = cpu->r[19] + 0x00000000u;
|
|
/* 02791DA0 */ rbrew_write32(cpu->mem, _t96, cpu->r[3]);
|
|
/* 02791DA4 */ _t97 = cpu->r[3] + 0x00000018u;
|
|
/* 02791DA4 */ rbrew_write32(cpu->mem, _t97, cpu->r[29]);
|
|
/* 02791DA8 */ _t98 = cpu->r[19] + 0x00000000u;
|
|
/* 02791DA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02791DAC */ _t99 = cpu->r[7] + 0x00000024u;
|
|
/* 02791DAC */ rbrew_write32(cpu->mem, _t99, cpu->r[21]);
|
|
/* 02791DB0 */ _t100 = cpu->r[19] + 0x00000000u;
|
|
/* 02791DB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02791DB4 */ _t101 = cpu->r[8] + 0x00000020u;
|
|
/* 02791DB4 */ rbrew_write32(cpu->mem, _t101, cpu->r[30]);
|
|
/* 02791DB8 */ _t102 = cpu->r[19] + 0x00000000u;
|
|
/* 02791DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02791DBC */ cpu->r[0] = 0x00000000u;
|
|
/* 02791DC0 */ _t103 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02791DC0 */ rbrew_write32(cpu->mem, _t103, cpu->r[0]);
|
|
/* 02791DC4 */ _t104 = cpu->r[29] + 0x00000030u;
|
|
/* 02791DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02791DC8 */ _t105 = cpu->r[7] + cpu->r[31];
|
|
/* 02791DC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02791DCC */ _t106 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02791DCC */ cpu->r[18] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02791DD0 */ _t107 = cpu->r[19] + 0x00000000u;
|
|
/* 02791DD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02791DD4 */ _t108 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02791DD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02791DD8 */ cpu->r[3] = cpu->r[18];
|
|
/* 02791DDC */ cpu->r[4] = cpu->r[9] + cpu->r[10];
|
|
/* 02791DE0 */ Gambit_fn_02801E9C(cpu);
|
|
/* 02791DE4 */ _t109 = cpu->r[18] + 0x00000008u;
|
|
/* 02791DE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02791DE8 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02791DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02791DEC */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 02791DF0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02791DF4 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02791DF8 */ _t110 = cpu->r[18] + 0x00000008u;
|
|
/* 02791DF8 */ rbrew_write32(cpu->mem, _t110, cpu->r[11]);
|
|
/* 02791DFC */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791DFC */ _t112 = _t111 & 0x00000001u;
|
|
/* 02791DFC */ if (_t112) goto L_02791E00; else goto L_02791D00;
|
|
L_02791E00: ; // 0x2791e00
|
|
/* 02791E00 */ cpu->r[25] = 0x00000000u;
|
|
/* 02791E04 */ cpu->r[31] = 0x0000000Du;
|
|
/* 02791E08 */ cpu->r[9] = cpu->r[25];
|
|
/* 02791E0C */ cpu->r[10] = cpu->r[25];
|
|
L_02791E10: ; // 0x2791e10
|
|
/* 02791E10 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02791E14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02791E18 */ cpu->r[5] = cpu->r[25];
|
|
/* 02791E1C */ _t113 = cpu->r[1] + 0x00000010u;
|
|
/* 02791E1C */ rbrew_write32(cpu->mem, _t113, cpu->r[24]);
|
|
/* 02791E20 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02791E24 */ Gambit_fn_02791AE8(cpu);
|
|
/* 02791E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791E2C */ _t114 = cpu->r[27] + 0x00000000u;
|
|
/* 02791E2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02791E30 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791E30 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02791E30 */ if (_t116) goto L_02791E38; else goto L_02791E34;
|
|
L_02791E34: ; // 0x2791e34
|
|
/* 02791E34 */ cpu->r[8] = 0x00000000u;
|
|
L_02791E38: ; // 0x2791e38
|
|
/* 02791E38 */ cpu->r[5] = cpu->r[6] + cpu->r[9];
|
|
/* 02791E3C */ _t117 = cpu->r[5] + 0x00000010u;
|
|
/* 02791E3C */ rbrew_write32(cpu->mem, _t117, cpu->r[8]);
|
|
/* 02791E40 */ _t118 = cpu->r[27] + 0x00000000u;
|
|
/* 02791E40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02791E44 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02791E48 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02791E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02791E4C */ cpu->r[7] = cpu->r[8] + cpu->r[9];
|
|
/* 02791E50 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02791E54 */ _t119 = cpu->r[7] + 0x00000044u;
|
|
/* 02791E54 */ rbrew_write32(cpu->mem, _t119, cpu->r[10]);
|
|
/* 02791E58 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791E58 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02791E58 */ if (_t121) goto L_02791E5C; else goto L_02791E10;
|
|
L_02791E5C: ; // 0x2791e5c
|
|
/* 02791E5C */ _t122 = cpu->r[29] + 0x00000214u;
|
|
/* 02791E5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02791E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02791E64 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791E64 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02791E64 */ if (_t124) goto L_02791F0C; else goto L_02791E68;
|
|
L_02791E68: ; // 0x2791e68
|
|
/* 02791E68 */ _t125 = cpu->r[4] + 0x00000000u;
|
|
/* 02791E68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02791E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02791E70 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791E70 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02791E70 */ if (_t127) goto L_02791F0C; else goto L_02791E74;
|
|
L_02791E74: ; // 0x2791e74
|
|
/* 02791E74 */ cpu->r[9] = 0x00000000u;
|
|
L_02791E78: ; // 0x2791e78
|
|
/* 02791E78 */ _t128 = cpu->r[31] + 0x00000000u;
|
|
/* 02791E78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02791E7C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02791E80 */ cpu->r[3] = cpu->r[29];
|
|
/* 02791E84 */ cpu->r[5] = cpu->r[6];
|
|
/* 02791E88 */ _t129 = cpu->r[1] + 0x00000014u;
|
|
/* 02791E88 */ rbrew_write32(cpu->mem, _t129, cpu->r[24]);
|
|
/* 02791E8C */ Gambit_fn_02791AE8(cpu);
|
|
/* 02791E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02791E94 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791E94 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02791E94 */ if (_t131) goto L_02791F00; else goto L_02791E98;
|
|
L_02791E98: ; // 0x2791e98
|
|
/* 02791E98 */ _t132 = cpu->r[27] + 0x00000000u;
|
|
/* 02791E98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02791E9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02791EA0 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02791EA4 */ _t133 = cpu->r[11] + 0x00000010u;
|
|
/* 02791EA4 */ rbrew_write32(cpu->mem, _t133, cpu->r[9]);
|
|
/* 02791EA4 */ cpu->r[11] = _t133;
|
|
/* 02791EA8 */ _t134 = cpu->r[31] + 0x00000008u;
|
|
/* 02791EA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02791EAC */ cpu->r[12] = 0x00000000u;
|
|
/* 02791EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02791EB4 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791EB4 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02791EB4 */ if (_t136) goto L_02791EB8; else goto L_02791F00;
|
|
L_02791EB8: ; // 0x2791eb8
|
|
/* 02791EB8 */ cpu->r[6] = 0x00000000u;
|
|
L_02791EBC: ; // 0x2791ebc
|
|
/* 02791EBC */ _t137 = cpu->r[31] + 0x00000004u;
|
|
/* 02791EBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02791EC0 */ _t138 = cpu->r[7] + cpu->r[6];
|
|
/* 02791EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02791EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02791EC8 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791EC8 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02791EC8 */ if (_t140) goto L_02791ECC; else goto L_02791EE0;
|
|
L_02791ECC: ; // 0x2791ecc
|
|
/* 02791ECC */ _t141 = cpu->r[11] + 0x00000000u;
|
|
/* 02791ECC */ rbrew_write32(cpu->mem, _t141, cpu->r[12]);
|
|
/* 02791ED0 */ _t142 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02791ED0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02791ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02791ED8 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791ED8 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02791ED8 */ if (_t144) goto L_02791EDC; else goto L_02791E78;
|
|
L_02791EDC: ; // 0x2791edc
|
|
/* 02791EDC */ goto L_02791F0C;
|
|
L_02791EE0: ; // 0x2791ee0
|
|
/* 02791EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02791EE4 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791EE4 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02791EE4 */ if (_t146) goto L_02791EE8; else goto L_02791EF0;
|
|
L_02791EE8: ; // 0x2791ee8
|
|
/* 02791EE8 */ _t147 = cpu->r[11] + 0x00000000u;
|
|
/* 02791EE8 */ rbrew_write32(cpu->mem, _t147, cpu->r[12]);
|
|
/* 02791EEC */ _t148 = cpu->r[31] + 0x00000008u;
|
|
/* 02791EEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t148);
|
|
L_02791EF0: ; // 0x2791ef0
|
|
/* 02791EF0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02791EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02791EF8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02791EFC */ _t149 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791EFC */ _t150 = _t149 & 0x00000001u;
|
|
/* 02791EFC */ if (_t150) goto L_02791EBC; else goto L_02791F00;
|
|
L_02791F00: ; // 0x2791f00
|
|
/* 02791F00 */ _t151 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02791F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02791F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02791F08 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791F08 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02791F08 */ if (_t153) goto L_02791F0C; else goto L_02791E78;
|
|
L_02791F0C: ; // 0x2791f0c
|
|
/* 02791F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02791F10 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791F10 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02791F10 */ if (_t155) goto L_02791F14; else goto L_02792020;
|
|
L_02791F14: ; // 0x2791f14
|
|
/* 02791F14 */ cpu->r[26] = 0x00000000u;
|
|
/* 02791F18 */ cpu->r[25] = 0x00000004u;
|
|
/* 02791F1C */ cpu->r[31] = cpu->r[26];
|
|
L_02791F20: ; // 0x2791f20
|
|
/* 02791F20 */ _t156 = cpu->r[27] + 0x00000000u;
|
|
/* 02791F20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02791F24 */ cpu->r[9] = cpu->r[10] + cpu->r[26];
|
|
/* 02791F28 */ _t157 = cpu->r[9] + 0x00000010u;
|
|
/* 02791F28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02791F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02791F30 */ _t158 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791F30 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02791F30 */ if (_t159) goto L_02792010; else goto L_02791F34;
|
|
L_02791F34: ; // 0x2791f34
|
|
/* 02791F34 */ _t160 = cpu->r[28] + 0xFFFF9038u;
|
|
/* 02791F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02791F38 */ cpu->r[23] = cpu->r[10] + cpu->r[26];
|
|
/* 02791F3C */ Gambit_fn_02792A14(cpu);
|
|
/* 02791F40 */ _t161 = cpu->r[23] + 0x00000044u;
|
|
/* 02791F40 */ rbrew_write32(cpu->mem, _t161, cpu->r[3]);
|
|
/* 02791F40 */ cpu->r[23] = _t161;
|
|
/* 02791F44 */ _t162 = cpu->r[3] + 0x00000008u;
|
|
/* 02791F44 */ rbrew_write32(cpu->mem, _t162, cpu->r[30]);
|
|
/* 02791F48 */ _t163 = cpu->r[27] + 0x00000000u;
|
|
/* 02791F48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02791F4C */ _t164 = cpu->r[23] + 0x00000000u;
|
|
/* 02791F4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02791F50 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02791F54 */ _t165 = cpu->r[4] + 0x00000010u;
|
|
/* 02791F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02791F58 */ cpu->r[24] = cpu->r[29] + cpu->r[31];
|
|
/* 02791F5C */ _t166 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02791F5C */ rbrew_write32(cpu->mem, _t166, cpu->r[0]);
|
|
/* 02791F60 */ _t167 = cpu->r[24] + 0x00000040u;
|
|
/* 02791F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02791F64 */ _t168 = cpu->r[24] + 0x00000038u;
|
|
/* 02791F64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02791F68 */ cpu->r[24] = cpu->r[24] + 0x00000034u;
|
|
/* 02791F6C */ cpu->r[0] = cpu->r[24] - cpu->r[8];
|
|
/* 02791F70 */ cpu->r[10] = cpu->r[11] - cpu->r[8];
|
|
/* 02791F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02791F78 */ _t169 = cpu->r[23] + 0x00000000u;
|
|
/* 02791F78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02791F7C */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791F7C */ _t171 = _t170 & 0x00000001u;
|
|
/* 02791F7C */ if (_t171) goto L_02791F80; else goto L_02791F88;
|
|
L_02791F80: ; // 0x2791f80
|
|
/* 02791F80 */ cpu->r[3] = cpu->r[24];
|
|
/* 02791F84 */ goto L_02791FFC;
|
|
L_02791F88: ; // 0x2791f88
|
|
/* 02791F88 */ _t172 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02791F88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02791F8C */ cpu->r[7] = cpu->r[8];
|
|
L_02791F90: ; // 0x2791f90
|
|
/* 02791F90 */ _t173 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02791F90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02791F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[12]);
|
|
/* 02791F98 */ _t174 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791F98 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02791F98 */ if (_t175) goto L_02791FCC; else goto L_02791F9C;
|
|
L_02791F9C: ; // 0x2791f9c
|
|
/* 02791F9C */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02791F9C */ _t177 = _t176 & 0x00000001u;
|
|
/* 02791F9C */ if (_t177) goto L_02791FB0; else goto L_02791FA0;
|
|
L_02791FA0: ; // 0x2791fa0
|
|
/* 02791FA0 */ _t178 = cpu->r[10] + 0x00000008u;
|
|
/* 02791FA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02791FA4 */ _t179 = cpu->r[11] + 0x00000008u;
|
|
/* 02791FA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t179);
|
|
/* 02791FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
|
|
/* 02791FAC */ _t180 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02791FAC */ _t181 = _t180 & 0x00000001u;
|
|
/* 02791FAC */ if (_t181) goto L_02791FCC; else goto L_02791FB0;
|
|
L_02791FB0: ; // 0x2791fb0
|
|
/* 02791FB0 */ cpu->r[5] = cpu->r[10] + cpu->r[7];
|
|
/* 02791FB4 */ _t182 = cpu->r[5] + 0x00000004u;
|
|
/* 02791FB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02791FB8 */ cpu->r[10] = cpu->r[9] - cpu->r[7];
|
|
/* 02791FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02791FC0 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791FC0 */ _t184 = _t183 & 0x00000001u;
|
|
/* 02791FC0 */ if (_t184) goto L_02791FC4; else goto L_02791F90;
|
|
L_02791FC4: ; // 0x2791fc4
|
|
/* 02791FC4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02791FC8 */ goto L_02791FFC;
|
|
L_02791FCC: ; // 0x2791fcc
|
|
/* 02791FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02791FD0 */ _t185 = cpu->r[1] + 0x00000018u;
|
|
/* 02791FD0 */ rbrew_write32(cpu->mem, _t185, cpu->r[10]);
|
|
/* 02791FD4 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02791FD4 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02791FD4 */ if (_t187) goto L_02791FF8; else goto L_02791FD8;
|
|
L_02791FD8: ; // 0x2791fd8
|
|
/* 02791FD8 */ _t188 = cpu->r[1] + 0x00000018u;
|
|
/* 02791FD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02791FDC */ cpu->r[3] = cpu->r[4] + cpu->r[8];
|
|
/* 02791FE0 */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 02791FE4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02791FE8 */ _t189 = cpu->r[24] + 0x00000008u;
|
|
/* 02791FE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02791FEC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02791FF0 */ _t190 = cpu->r[24] + 0x00000008u;
|
|
/* 02791FF0 */ rbrew_write32(cpu->mem, _t190, cpu->r[6]);
|
|
/* 02791FF4 */ goto L_02792010;
|
|
L_02791FF8: ; // 0x2791ff8
|
|
/* 02791FF8 */ cpu->r[3] = cpu->r[24];
|
|
L_02791FFC: ; // 0x2791ffc
|
|
/* 02791FFC */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 02792000 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02792004 */ _t191 = cpu->r[24] + 0x00000008u;
|
|
/* 02792004 */ cpu->r[6] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02792008 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0279200C */ _t192 = cpu->r[24] + 0x00000008u;
|
|
/* 0279200C */ rbrew_write32(cpu->mem, _t192, cpu->r[6]);
|
|
L_02792010: ; // 0x2792010
|
|
/* 02792010 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02792010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02792014 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 02792018 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 0279201C */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279201C */ _t194 = _t193 & 0x00000001u;
|
|
/* 0279201C */ if (_t194) goto L_02792020; else goto L_02791F20;
|
|
L_02792020: ; // 0x2792020
|
|
/* 02792020 */ /* nop */
|
|
/* 02792024 */ _t195 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02792024 */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02792028 */ cpu->lr = cpu->r[0];
|
|
/* 0279202C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02792030 */ return;
|
|
}
|
|
|
|
// fn_02792034 @ 0x2792034
|
|
void Gambit_fn_02792034(CPUState* cpu) {
|
|
L_02792034: ; // 0x2792034
|
|
/* 02792034 */ return;
|
|
}
|
|
|
|
// fn_02792038 @ 0x2792038
|
|
void Gambit_fn_02792038(CPUState* cpu) {
|
|
L_02792038: ; // 0x2792038
|
|
/* 02792038 */ return;
|
|
}
|
|
|
|
// fn_0279203C @ 0x279203c
|
|
void Gambit_fn_0279203C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0279203C: ; // 0x279203c
|
|
/* 0279203C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0279203C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02792044 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792044 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02792044 */ if (_t2) goto L_02792050; else goto L_02792048;
|
|
L_02792048: ; // 0x2792048
|
|
/* 02792048 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0279204C */ return;
|
|
L_02792050: ; // 0x2792050
|
|
/* 02792050 */ cpu->r[3] = 0x00000000u;
|
|
/* 02792054 */ return;
|
|
}
|
|
|
|
// fn_02792058 @ 0x2792058
|
|
void Gambit_fn_02792058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02792058: ; // 0x2792058
|
|
/* 02792058 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02792058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279205C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02792060 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792060 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02792060 */ if (_t2) goto L_0279206C; else goto L_02792064;
|
|
L_02792064: ; // 0x2792064
|
|
/* 02792064 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02792068 */ return;
|
|
L_0279206C: ; // 0x279206c
|
|
/* 0279206C */ cpu->r[3] = 0x00000000u;
|
|
/* 02792070 */ return;
|
|
}
|
|
|
|
// fn_02792074 @ 0x2792074
|
|
void Gambit_fn_02792074(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792074: ; // 0x2792074
|
|
/* 02792074 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792074 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792078 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 02792078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0279207C */ cpu->ctr = cpu->r[0];
|
|
/* 02792080 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792084 @ 0x2792084
|
|
void Gambit_fn_02792084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02792084: ; // 0x2792084
|
|
/* 02792084 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02792084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02792088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0279208C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279208C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0279208C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0279208C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0279208C */ goto L_02792090;
|
|
L_02792090: ; // 0x2792090
|
|
/* 02792090 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02792090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792094 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 02792094 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02792098 */ cpu->ctr = cpu->r[12];
|
|
/* 0279209C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027920A0 @ 0x27920a0
|
|
void Gambit_fn_027920A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027920A0: ; // 0x27920a0
|
|
/* 027920A0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027920A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027920A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027920A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027920A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027920A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027920A8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027920A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027920A8 */ goto L_027920AC;
|
|
L_027920AC: ; // 0x27920ac
|
|
/* 027920AC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027920AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027920B0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 027920B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027920B4 */ cpu->ctr = cpu->r[0];
|
|
/* 027920B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027920BC @ 0x27920bc
|
|
void Gambit_fn_027920BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027920BC: ; // 0x27920bc
|
|
/* 027920BC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027920BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027920C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027920C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027920C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027920C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027920C4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027920C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027920C4 */ goto L_027920C8;
|
|
L_027920C8: ; // 0x27920c8
|
|
/* 027920C8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027920C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027920CC */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 027920CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027920D0 */ cpu->ctr = cpu->r[0];
|
|
/* 027920D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027920D8 @ 0x27920d8
|
|
void Gambit_fn_027920D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027920D8: ; // 0x27920d8
|
|
/* 027920D8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027920D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027920DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027920DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027920E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027920E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027920E0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027920E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027920E0 */ goto L_027920E4;
|
|
L_027920E4: ; // 0x27920e4
|
|
/* 027920E4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027920E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027920E8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027920E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027920EC */ cpu->ctr = cpu->r[0];
|
|
/* 027920F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027920F4 @ 0x27920f4
|
|
void Gambit_fn_027920F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027920F4: ; // 0x27920f4
|
|
/* 027920F4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027920F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027920F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027920F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027920FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027920FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027920FC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027920FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027920FC */ goto L_02792100;
|
|
L_02792100: ; // 0x2792100
|
|
/* 02792100 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02792100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792104 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 02792104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02792108 */ cpu->ctr = cpu->r[0];
|
|
/* 0279210C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792110 @ 0x2792110
|
|
void Gambit_fn_02792110(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02792110: ; // 0x2792110
|
|
/* 02792110 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02792110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792114 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02792114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02792118 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792118 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02792118 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02792118 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02792118 */ goto L_0279211C;
|
|
L_0279211C: ; // 0x279211c
|
|
/* 0279211C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0279211C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792120 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 02792120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02792124 */ cpu->ctr = cpu->r[0];
|
|
/* 02792128 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0279212C @ 0x279212c
|
|
void Gambit_fn_0279212C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0279212C: ; // 0x279212c
|
|
/* 0279212C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0279212C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792130 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02792130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02792134 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792134 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02792134 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02792134 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02792134 */ goto L_02792138;
|
|
L_02792138: ; // 0x2792138
|
|
/* 02792138 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02792138 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279213C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0279213C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02792140 */ cpu->ctr = cpu->r[0];
|
|
/* 02792144 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792148 @ 0x2792148
|
|
void Gambit_fn_02792148(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792148: ; // 0x2792148
|
|
/* 02792148 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279214C */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 0279214C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02792150 */ cpu->ctr = cpu->r[0];
|
|
/* 02792154 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792158 @ 0x2792158
|
|
void Gambit_fn_02792158(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792158: ; // 0x2792158
|
|
/* 02792158 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279215C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0279215C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02792160 */ cpu->ctr = cpu->r[0];
|
|
/* 02792164 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792168 @ 0x2792168
|
|
void Gambit_fn_02792168(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792168: ; // 0x2792168
|
|
/* 02792168 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792168 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279216C */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 0279216C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02792170 */ cpu->ctr = cpu->r[0];
|
|
/* 02792174 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792178 @ 0x2792178
|
|
void Gambit_fn_02792178(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792178: ; // 0x2792178
|
|
/* 02792178 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279217C */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0279217C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02792180 */ cpu->ctr = cpu->r[0];
|
|
/* 02792184 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792188 @ 0x2792188
|
|
void Gambit_fn_02792188(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792188: ; // 0x2792188
|
|
/* 02792188 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279218C */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0279218C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02792190 */ cpu->ctr = cpu->r[0];
|
|
/* 02792194 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02792198 @ 0x2792198
|
|
void Gambit_fn_02792198(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02792198: ; // 0x2792198
|
|
/* 02792198 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02792198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0279219C */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 0279219C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027921A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027921A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027921A8 @ 0x27921a8
|
|
void Gambit_fn_027921A8(CPUState* cpu) {
|
|
L_027921A8: ; // 0x27921a8
|
|
/* 027921A8 */ return;
|
|
}
|
|
|
|
// fn_027921B0 @ 0x27921b0
|
|
void Gambit_fn_027921B0(CPUState* cpu) {
|
|
uint32_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_027921B0: ; // 0x27921b0
|
|
/* 027921B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027921B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027921B0 */ cpu->r[1] = _t0;
|
|
/* 027921B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027921B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027921B8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027921B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027921BC */ cpu->r[31] = cpu->r[3];
|
|
/* 027921BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027921C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027921C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027921C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027921C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027921C4 */ if (_t5) goto L_027921C8; else goto L_027921D8;
|
|
L_027921C8: ; // 0x27921c8
|
|
/* 027921C8 */ cpu->r[3] = 0x00000010u;
|
|
/* 027921CC */ Gambit_fn_02801A78(cpu);
|
|
/* 027921D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027921D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027921D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027921D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027921D4 */ if (_t7) goto L_02792220; else goto L_027921D8;
|
|
L_027921D8: ; // 0x27921d8
|
|
/* 027921D8 */ cpu->r[30] = cpu->r[31];
|
|
/* 027921D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027921DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027921DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027921DC */ if (_t9) goto L_027921E0; else goto L_027921F0;
|
|
L_027921E0: ; // 0x27921e0
|
|
/* 027921E0 */ cpu->r[3] = 0x00000010u;
|
|
/* 027921E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027921E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027921E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027921EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027921EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027921EC */ if (_t11) goto L_02792220; else goto L_027921F0;
|
|
L_027921F0: ; // 0x27921f0
|
|
/* 027921F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027921F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027921F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027921F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027921F4 */ if (_t13) goto L_027921F8; else goto L_02792208;
|
|
L_027921F8: ; // 0x27921f8
|
|
/* 027921F8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027921FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02792200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02792204 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792204 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02792204 */ if (_t15) goto L_02792218; else goto L_02792208;
|
|
L_02792208: ; // 0x2792208
|
|
/* 02792208 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02792208 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 0279220C */ cpu->r[0] = 0x00000000u;
|
|
/* 02792210 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02792210 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02792214 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02792214 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02792218: ; // 0x2792218
|
|
/* 02792218 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0279221C */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0279221C */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_02792220: ; // 0x2792220
|
|
/* 02792220 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02792220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02792224 */ cpu->r[3] = cpu->r[31];
|
|
/* 02792228 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0279222C */ cpu->lr = cpu->r[0];
|
|
/* 02792230 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02792230 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02792234 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02792238 */ return;
|
|
}
|
|
|
|
// fn_0279223C @ 0x279223c
|
|
void Gambit_fn_0279223C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0279223C: ; // 0x279223c
|
|
/* 0279223C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02792240 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 02792240 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02792240 */ cpu->r[9] = _t0;
|
|
/* 02792244 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02792248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0279224C */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 02792250 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02792250 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02792250 */ if (_t2) goto L_02792254; else goto L_02792268;
|
|
L_02792254: ; // 0x2792254
|
|
/* 02792254 */ cpu->r[7] = 0x10100000u;
|
|
/* 02792258 */ cpu->r[0] = 0x00000001u;
|
|
/* 0279225C */ cpu->r[7] = cpu->r[7] + 0x00006F00u;
|
|
/* 02792260 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02792260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02792264 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02792264 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02792268: ; // 0x2792268
|
|
/* 02792268 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0279226C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279226C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0279226C */ if (_t6) goto L_02792270; else goto L_02792278;
|
|
L_02792270: ; // 0x2792270
|
|
/* 02792270 */ cpu->r[3] = 0x00000001u;
|
|
/* 02792274 */ return;
|
|
L_02792278: ; // 0x2792278
|
|
/* 02792278 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0279227C */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 0279227C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0279227C */ cpu->r[7] = _t7;
|
|
/* 02792280 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02792284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02792288 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0279228C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0279228C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0279228C */ if (_t9) goto L_02792290; else goto L_027922A4;
|
|
L_02792290: ; // 0x2792290
|
|
/* 02792290 */ cpu->r[0] = 0x10100000u;
|
|
/* 02792294 */ cpu->r[9] = 0x00000001u;
|
|
/* 02792298 */ cpu->r[0] = cpu->r[0] + 0x00006EF0u;
|
|
/* 0279229C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0279229C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 027922A0 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 027922A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027922A4: ; // 0x27922a4
|
|
/* 027922A4 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 027922A8 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 027922AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 027922B0 */ return;
|
|
}
|
|
|
|
// fn_027922B4 @ 0x27922b4
|
|
void Gambit_fn_027922B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027922B4: ; // 0x27922b4
|
|
/* 027922B4 */ cpu->r[0] = cpu->lr;
|
|
/* 027922B8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027922BC */ cpu->r[10] = 0x00000000u;
|
|
/* 027922C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027922C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027922C0 */ cpu->r[1] = _t0;
|
|
/* 027922C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027922C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027922C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027922C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027922CC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027922D0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027922D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027922D4 */ cpu->r[0] = 0x00000004u;
|
|
/* 027922D8 */ _t4 = cpu->r[12] + 0x00006E90u;
|
|
/* 027922D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027922DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027922E0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027922E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027922E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027922E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027922E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027922EC */ Gambit_fn_02791774(cpu);
|
|
/* 027922F0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027922F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027922F4 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 027922F8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027922F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027922FC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027922FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792300 */ cpu->lr = cpu->r[0];
|
|
/* 02792304 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792304 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792308 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0279230C */ return;
|
|
}
|
|
|
|
// fn_027922C0 @ 0x27922c0
|
|
void Gambit_fn_027922C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027922C0: ; // 0x27922c0
|
|
/* 027922C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027922C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027922C0 */ cpu->r[1] = _t0;
|
|
/* 027922C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027922C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027922C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027922C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027922CC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027922D0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027922D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027922D4 */ cpu->r[0] = 0x00000004u;
|
|
/* 027922D8 */ _t4 = cpu->r[12] + 0x00006E90u;
|
|
/* 027922D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027922DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027922E0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027922E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027922E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027922E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027922E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027922EC */ Gambit_fn_02791774(cpu);
|
|
/* 027922F0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027922F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027922F4 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 027922F8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027922F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027922FC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027922FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792300 */ cpu->lr = cpu->r[0];
|
|
/* 02792304 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792304 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792308 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0279230C */ return;
|
|
}
|
|
|
|
// fn_02792310 @ 0x2792310
|
|
void Gambit_fn_02792310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02792310: ; // 0x2792310
|
|
/* 02792310 */ cpu->r[0] = cpu->lr;
|
|
/* 02792314 */ cpu->r[12] = 0x10100000u;
|
|
/* 02792318 */ cpu->r[10] = 0x00000001u;
|
|
/* 0279231C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279231C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279231C */ cpu->r[1] = _t0;
|
|
/* 02792320 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792320 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792324 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792328 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279232C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279232C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02792330 */ cpu->r[0] = 0x00000004u;
|
|
/* 02792334 */ _t4 = cpu->r[12] + 0x00006E98u;
|
|
/* 02792334 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792338 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0279233C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0279233C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02792340 */ cpu->r[31] = cpu->r[3];
|
|
/* 02792344 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792344 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02792348 */ Gambit_fn_02791774(cpu);
|
|
/* 0279234C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0279234C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792350 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02792354 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02792354 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02792358 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279235C */ cpu->lr = cpu->r[0];
|
|
/* 02792360 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02792368 */ return;
|
|
}
|
|
|
|
// fn_0279231C @ 0x279231c
|
|
void Gambit_fn_0279231C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0279231C: ; // 0x279231c
|
|
/* 0279231C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279231C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279231C */ cpu->r[1] = _t0;
|
|
/* 02792320 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792320 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792324 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792328 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279232C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279232C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02792330 */ cpu->r[0] = 0x00000004u;
|
|
/* 02792334 */ _t4 = cpu->r[12] + 0x00006E98u;
|
|
/* 02792334 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792338 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0279233C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0279233C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02792340 */ cpu->r[31] = cpu->r[3];
|
|
/* 02792344 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792344 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02792348 */ Gambit_fn_02791774(cpu);
|
|
/* 0279234C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0279234C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792350 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02792354 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02792354 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02792358 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0279235C */ cpu->lr = cpu->r[0];
|
|
/* 02792360 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02792368 */ return;
|
|
}
|
|
|
|
// fn_0279236C @ 0x279236c
|
|
void Gambit_fn_0279236C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0279236C: ; // 0x279236c
|
|
/* 0279236C */ cpu->r[0] = cpu->lr;
|
|
/* 02792370 */ cpu->r[12] = 0x10100000u;
|
|
/* 02792374 */ cpu->r[10] = 0x00000002u;
|
|
/* 02792378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02792378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02792378 */ cpu->r[1] = _t0;
|
|
/* 0279237C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0279237C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792384 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792388 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792388 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0279238C */ cpu->r[0] = 0x00000004u;
|
|
/* 02792390 */ _t4 = cpu->r[12] + 0x00006EA0u;
|
|
/* 02792390 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792394 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02792398 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02792398 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0279239C */ cpu->r[31] = cpu->r[3];
|
|
/* 027923A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027923A4 */ Gambit_fn_02791774(cpu);
|
|
/* 027923A8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027923A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027923AC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 027923B0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027923B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027923B4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027923B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027923B8 */ cpu->lr = cpu->r[0];
|
|
/* 027923BC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027923BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027923C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027923C4 */ return;
|
|
}
|
|
|
|
// fn_02792378 @ 0x2792378
|
|
void Gambit_fn_02792378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02792378: ; // 0x2792378
|
|
/* 02792378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02792378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02792378 */ cpu->r[1] = _t0;
|
|
/* 0279237C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0279237C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792384 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792388 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792388 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0279238C */ cpu->r[0] = 0x00000004u;
|
|
/* 02792390 */ _t4 = cpu->r[12] + 0x00006EA0u;
|
|
/* 02792390 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792394 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02792398 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02792398 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0279239C */ cpu->r[31] = cpu->r[3];
|
|
/* 027923A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027923A4 */ Gambit_fn_02791774(cpu);
|
|
/* 027923A8 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027923A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027923AC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 027923B0 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027923B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027923B4 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027923B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027923B8 */ cpu->lr = cpu->r[0];
|
|
/* 027923BC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027923BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027923C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027923C4 */ return;
|
|
}
|
|
|
|
// fn_027923C8 @ 0x27923c8
|
|
void Gambit_fn_027923C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027923C8: ; // 0x27923c8
|
|
/* 027923C8 */ cpu->r[0] = cpu->lr;
|
|
/* 027923CC */ cpu->r[12] = 0x10100000u;
|
|
/* 027923D0 */ cpu->r[10] = 0x00000003u;
|
|
/* 027923D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027923D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027923D4 */ cpu->r[1] = _t0;
|
|
/* 027923D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027923D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027923DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027923DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027923E0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027923E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027923E8 */ cpu->r[0] = 0x00000004u;
|
|
/* 027923EC */ _t4 = cpu->r[12] + 0x00006EA8u;
|
|
/* 027923EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027923F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027923F4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027923F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027923F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027923FC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923FC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02792400 */ Gambit_fn_02791774(cpu);
|
|
/* 02792404 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02792404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792408 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0279240C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0279240C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02792410 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792414 */ cpu->lr = cpu->r[0];
|
|
/* 02792418 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0279241C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02792420 */ return;
|
|
}
|
|
|
|
// fn_027923D4 @ 0x27923d4
|
|
void Gambit_fn_027923D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027923D4: ; // 0x27923d4
|
|
/* 027923D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027923D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027923D4 */ cpu->r[1] = _t0;
|
|
/* 027923D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027923D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027923DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027923DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027923E0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027923E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027923E8 */ cpu->r[0] = 0x00000004u;
|
|
/* 027923EC */ _t4 = cpu->r[12] + 0x00006EA8u;
|
|
/* 027923EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027923F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027923F4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027923F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027923F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027923FC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027923FC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02792400 */ Gambit_fn_02791774(cpu);
|
|
/* 02792404 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02792404 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792408 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0279240C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0279240C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02792410 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792414 */ cpu->lr = cpu->r[0];
|
|
/* 02792418 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792418 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0279241C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02792420 */ return;
|
|
}
|
|
|
|
// fn_02792424 @ 0x2792424
|
|
void Gambit_fn_02792424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02792424: ; // 0x2792424
|
|
/* 02792424 */ cpu->r[0] = cpu->lr;
|
|
/* 02792428 */ cpu->r[12] = 0x10100000u;
|
|
/* 0279242C */ cpu->r[10] = 0x00000006u;
|
|
/* 02792430 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02792430 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02792430 */ cpu->r[1] = _t0;
|
|
/* 02792434 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792434 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792438 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792438 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0279243C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792440 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792440 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02792444 */ cpu->r[0] = 0x00000004u;
|
|
/* 02792448 */ _t4 = cpu->r[12] + 0x00006EB0u;
|
|
/* 02792448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279244C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02792450 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02792450 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02792454 */ cpu->r[31] = cpu->r[3];
|
|
/* 02792458 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792458 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0279245C */ Gambit_fn_02791888(cpu);
|
|
/* 02792460 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02792460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792464 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02792468 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02792468 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0279246C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279246C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792470 */ cpu->lr = cpu->r[0];
|
|
/* 02792474 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792478 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0279247C */ return;
|
|
}
|
|
|
|
// fn_02792430 @ 0x2792430
|
|
void Gambit_fn_02792430(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02792430: ; // 0x2792430
|
|
/* 02792430 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02792430 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02792430 */ cpu->r[1] = _t0;
|
|
/* 02792434 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792434 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792438 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792438 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0279243C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792440 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792440 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02792444 */ cpu->r[0] = 0x00000004u;
|
|
/* 02792448 */ _t4 = cpu->r[12] + 0x00006EB0u;
|
|
/* 02792448 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0279244C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02792450 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02792450 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02792454 */ cpu->r[31] = cpu->r[3];
|
|
/* 02792458 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792458 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0279245C */ Gambit_fn_02791888(cpu);
|
|
/* 02792460 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02792460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02792464 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02792468 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02792468 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0279246C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279246C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792470 */ cpu->lr = cpu->r[0];
|
|
/* 02792474 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02792474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792478 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0279247C */ return;
|
|
}
|
|
|
|
// fn_02792480 @ 0x2792480
|
|
void Gambit_fn_02792480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02792480: ; // 0x2792480
|
|
/* 02792480 */ cpu->r[0] = cpu->lr;
|
|
/* 02792484 */ cpu->r[12] = 0x10100000u;
|
|
/* 02792488 */ cpu->r[10] = 0x00000007u;
|
|
/* 0279248C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279248C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279248C */ cpu->r[1] = _t0;
|
|
/* 02792490 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792490 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792494 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792498 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279249C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279249C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027924A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027924A4 */ _t4 = cpu->r[12] + 0x00006EB8u;
|
|
/* 027924A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027924A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027924AC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027924AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027924B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027924B4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027924B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027924B8 */ Gambit_fn_02791888(cpu);
|
|
/* 027924BC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027924BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027924C0 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 027924C4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027924C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027924C8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027924C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027924CC */ cpu->lr = cpu->r[0];
|
|
/* 027924D0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027924D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027924D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027924D8 */ return;
|
|
}
|
|
|
|
// fn_0279248C @ 0x279248c
|
|
void Gambit_fn_0279248C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0279248C: ; // 0x279248c
|
|
/* 0279248C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0279248C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0279248C */ cpu->r[1] = _t0;
|
|
/* 02792490 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02792490 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02792494 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02792494 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02792498 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0279249C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0279249C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027924A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 027924A4 */ _t4 = cpu->r[12] + 0x00006EB8u;
|
|
/* 027924A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027924A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027924AC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027924AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027924B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027924B4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027924B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 027924B8 */ Gambit_fn_02791888(cpu);
|
|
/* 027924BC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 027924BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027924C0 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 027924C4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 027924C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 027924C8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027924C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027924CC */ cpu->lr = cpu->r[0];
|
|
/* 027924D0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027924D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027924D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027924D8 */ return;
|
|
}
|
|
|
|
// fn_027924DC @ 0x27924dc
|
|
void Gambit_fn_027924DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027924DC: ; // 0x27924dc
|
|
/* 027924DC */ cpu->r[0] = cpu->lr;
|
|
/* 027924E0 */ cpu->r[12] = 0x10100000u;
|
|
/* 027924E4 */ cpu->r[10] = 0x00000008u;
|
|
/* 027924E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027924E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027924E8 */ cpu->r[1] = _t0;
|
|
/* 027924EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 027924EC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 027924F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027924F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027924F4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027924F8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027924F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027924FC */ cpu->r[0] = 0x00000004u;
|
|
/* 02792500 */ _t4 = cpu->r[12] + 0x00006EC0u;
|
|
/* 02792500 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02792504 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02792508 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02792508 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0279250C */ cpu->r[31] = cpu->r[3];
|
|
/* 02792510 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02792510 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02792514 */ Gambit_fn_02791888(cpu);
|
|
/* 02792518 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02792518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0279251C */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02792520 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02792520 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02792524 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02792524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02792528 */ cpu->lr = cpu->r[0];
|
|
/* 0279252C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0279252C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02792530 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02792534 */ return;
|
|
}
|
|
|